Misha Brukman
3f8f569837
Ignore generated HTML files.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13577 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-14 20:26:34 +00:00
Misha Brukman
8d9d79d387
This is the stylesheet used by perldoc.com; we shall modify it as we see fit.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13576 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-14 20:25:35 +00:00
Misha Brukman
9ff1a93f83
Put outputs of each type into a separate subdirectory.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13575 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-14 20:24:59 +00:00
Brian Gaeke
e993d20630
More pods... work in progress
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13574 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-14 19:50:33 +00:00
Misha Brukman
3c687a0925
Use <pre> instead of <p><tt> combo to decrease space used for code blocks.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13573 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-14 19:04:07 +00:00
Misha Brukman
1e4ae2b329
Mention the --tool-args option that Brian and Chris added.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13572 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-14 18:57:24 +00:00
Misha Brukman
f0c71d434a
Make link to HowToSubmitABug.html local instead of to LLVM website.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13571 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-14 18:54:04 +00:00
Brian Gaeke
bfd1ce35c0
NAME section is supposed to have a brief description, for apropos(1) & whatis(1)
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13570 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-14 18:31:13 +00:00
Brian Gaeke
25ab104acb
This seems like as good a place as any to keep POD files.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13569 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-14 18:03:22 +00:00
Brian Gaeke
09015d9468
Don't keep track of references to LLVM BasicBlocks while emitting; use
...
MachineBasicBlocks instead.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13568 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-14 06:54:58 +00:00
Brian Gaeke
3fb5d1a6cc
Support MachineBasicBlock operands on RawFrm instructions.
...
Get rid of separate numbering for LLVM BasicBlocks; use the automatically
generated MachineBasicBlock numbering.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13567 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-14 06:54:57 +00:00
Brian Gaeke
9f088e481c
Generate branch machine instructions with MachineBasicBlock operands instead of
...
LLVM BasicBlock operands.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13566 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-14 06:54:56 +00:00
Chris Lattner
fa28bb4601
This was not meant to be committed
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13565 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-13 20:56:34 +00:00
Chris Lattner
82fec4e31d
Fix a nasty bug that caused us to unroll EXTREMELY large loops due to overflow
...
in the size calculation.
This is not something you want to see:
Loop Unroll: F[main] Loop %no_exit Loop Size = 2 Trip Count = 2147483648 - UNROLLING!
The problem was that 2*2147483648 == 0.
Now we get:
Loop Unroll: F[main] Loop %no_exit Loop Size = 2 Trip Count = 2147483648 - TOO LARGE: 4294967296>100
Thanks to some anonymous person playing with the demo page that repeatedly
caused zion to go into swapping land. That's one way to ensure you'll get
a quick bugfix. :)
Testcase here: Transforms/LoopUnroll/2004-05-13-DontUnrollTooMuch.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13564 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-13 20:43:31 +00:00
Chris Lattner
488b72bd7f
New testcase that used to cause the unroller to try to unroll the loop 2G times. :(
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13563 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-13 20:43:15 +00:00
Misha Brukman
d1fbc8af48
Specify units in padding length.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13560 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-13 16:37:52 +00:00
Misha Brukman
5538d83c45
Make page HTML-4.01 compliant (& => & in URL).
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13559 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-13 16:37:23 +00:00
Chris Lattner
b7cb9ffd34
Two more improvements for null pointer handling: storing a null pointer
...
and passing a null pointer into a function.
For this testcase:
void %test(int** %X) {
store int* null, int** %X
call void %test(int** null)
ret void
}
we now generate this:
test:
sub %ESP, 12
mov %EAX, DWORD PTR [%ESP + 16]
mov DWORD PTR [%EAX], 0
mov DWORD PTR [%ESP], 0
call test
add %ESP, 12
ret
instead of this:
test:
sub %ESP, 12
mov %EAX, DWORD PTR [%ESP + 16]
mov %ECX, 0
mov DWORD PTR [%EAX], %ECX
mov %EAX, 0
mov DWORD PTR [%ESP], %EAX
call test
add %ESP, 12
ret
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13558 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-13 15:26:48 +00:00
Chris Lattner
9f1b531090
Second half of my fixed-sized-alloca patch. This folds the LEA to compute
...
the alloca address into common operations like loads/stores.
In a simple testcase like this (which is just designed to excersize the
alloca A, nothing more):
int %test(int %X, bool %C) {
%A = alloca int
store int %X, int* %A
store int* %A, int** %G
br bool %C, label %T, label %F
T:
call int %test(int 1, bool false)
%V = load int* %A
ret int %V
F:
call int %test(int 123, bool true)
%V2 = load int* %A
ret int %V2
}
We now generate:
test:
sub %ESP, 12
mov %EAX, DWORD PTR [%ESP + 16]
mov %CL, BYTE PTR [%ESP + 20]
*** mov DWORD PTR [%ESP + 8], %EAX
mov %EAX, OFFSET G
lea %EDX, DWORD PTR [%ESP + 8]
mov DWORD PTR [%EAX], %EDX
test %CL, %CL
je .LBB2 # PC rel: F
.LBB1: # T
mov DWORD PTR [%ESP], 1
mov DWORD PTR [%ESP + 4], 0
call test
*** mov %EAX, DWORD PTR [%ESP + 8]
add %ESP, 12
ret
.LBB2: # F
mov DWORD PTR [%ESP], 123
mov DWORD PTR [%ESP + 4], 1
call test
*** mov %EAX, DWORD PTR [%ESP + 8]
add %ESP, 12
ret
Instead of:
test:
sub %ESP, 20
mov %EAX, DWORD PTR [%ESP + 24]
mov %CL, BYTE PTR [%ESP + 28]
*** lea %EDX, DWORD PTR [%ESP + 16]
*** mov DWORD PTR [%EDX], %EAX
mov %EAX, OFFSET G
mov DWORD PTR [%EAX], %EDX
test %CL, %CL
*** mov DWORD PTR [%ESP + 12], %EDX
je .LBB2 # PC rel: F
.LBB1: # T
mov DWORD PTR [%ESP], 1
mov %EAX, 0
mov DWORD PTR [%ESP + 4], %EAX
call test
*** mov %EAX, DWORD PTR [%ESP + 12]
*** mov %EAX, DWORD PTR [%EAX]
add %ESP, 20
ret
.LBB2: # F
mov DWORD PTR [%ESP], 123
mov %EAX, 1
mov DWORD PTR [%ESP + 4], %EAX
call test
*** mov %EAX, DWORD PTR [%ESP + 12]
*** mov %EAX, DWORD PTR [%EAX]
add %ESP, 20
ret
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13557 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-13 15:12:43 +00:00
Chris Lattner
cb2fd557ee
Substantially improve code generation for address exposed locals (aka fixed
...
sized allocas in the entry block). Instead of generating code like this:
entry:
reg1024 = ESP+1234
... (much later)
*reg1024 = 17
Generate code that looks like this:
entry:
(no code generated)
... (much later)
t = ESP+1234
*t = 17
The advantage being that we DRAMATICALLY reduce the register pressure for these
silly temporaries (they were all being spilled to the stack, resulting in very
silly code). This is actually a manual implementation of rematerialization :)
I have a patch to fold the alloca address computation into loads & stores, which
will make this much better still, but just getting this right took way too much time
and I'm sleepy.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13554 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-13 07:40:27 +00:00
Reid Spencer
0428962064
Reduce line length to about 80 chars.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13538 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-13 03:40:27 +00:00
Misha Brukman
fd90f88b58
Insert spacing between the table and the next section.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13523 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-13 00:37:23 +00:00
Misha Brukman
f39d5d687d
* Use stylesheets for table borders so we factor out the formatting and can
...
adjust it much easier. Also changed border to gray to fit into the current
color scheme.
* Convert < and > to < and >, respectively.
* Wrap long lines at 80 cols
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13522 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-13 00:24:43 +00:00
Brian Gaeke
da86bdc75c
Fix a comment.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13518 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-12 21:57:23 +00:00
Chris Lattner
bee887211b
Fix a really nasty bug from my changes on Monday to PHIElim. These changes
...
broke obsequi and a lot of other things. It all boiled down to MBB being
overloaded in an inner scope and me confusing it with the one in the outer
scope. Ugh!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13517 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-12 21:47:57 +00:00
Misha Brukman
6df9e2ca70
Break lines at 80 cols; eliminate extra space caused by a single <p> tag on a
...
line by itself.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13516 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-12 21:46:05 +00:00
Brian Gaeke
d657c42dce
Start NextMBBNumber out at zero.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13515 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-12 21:35:23 +00:00
Brian Gaeke
0bcb1ad7be
Add non-const MachineBasicBlock::getParent() accessor method.
...
MBBs start out as #-1. When a MBB is added to a MachineFunction, it
gets the next available unique MBB number. If it is removed from a
MachineFunction, it goes back to being #-1.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13514 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-12 21:35:22 +00:00
Brian Gaeke
f460f1679e
Add a NextMBBNumber field w/ incrementing accessor method, for
...
function-level unique numbering of MBBs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13513 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-12 21:35:21 +00:00
Brian Gaeke
c07d8d8a26
Add a Number field w/ accessor method, for function-level unique numbering
...
of MBBs.
Add non-const MachineBasicBlock::getParent() accessor method.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13512 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-12 21:35:20 +00:00
Chris Lattner
5f4d473d89
Make the subsubsections stand out a bit more
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13511 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-12 21:28:08 +00:00
Misha Brukman
54dfb2a826
These images have been moved to img/
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13510 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-12 21:26:39 +00:00
Misha Brukman
e849a1ae2d
Use the images in the img/ directory.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13509 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-12 21:26:16 +00:00
Misha Brukman
b9e41eb483
Finally, switch to a stylesheet that makes the documentation easier on the eyes
...
and consistent with the LLVM website.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13508 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-12 21:20:56 +00:00
Misha Brukman
db8d5b256a
Centralize images in this dir; add lines.gif from website for consistent
...
formatting.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13507 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-12 21:20:13 +00:00
Misha Brukman
f6a0407ee5
Make file use stylesheets and be HTML-4.01 (Strict)-compliant.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13506 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-12 20:57:43 +00:00
Misha Brukman
3669299acd
Made document HTML-4.01 (Strict)-compliant.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13505 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-12 19:52:00 +00:00
Misha Brukman
b9be2bf270
Make file standard-compliant once again.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13504 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-12 19:25:59 +00:00
Misha Brukman
828737355a
Made file comply with HTML-4.01 (Strict)
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13503 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-12 19:21:57 +00:00
Chris Lattner
7507c297d0
Turn the block extractor on by default now that it basically works, eliminating the option.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13502 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-12 19:02:44 +00:00
Misha Brukman
836db50c33
Made file HTML-4.01 (Strict)-compliant.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13501 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-12 18:57:54 +00:00
Misha Brukman
6a2b310ce2
Made to be HTML-4.01 (Strict)-compliant.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13500 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-12 18:49:47 +00:00
Misha Brukman
c53aefb5ac
Made to be HTML-4.01 (Strict) -compliant.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13499 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-12 18:42:35 +00:00
Misha Brukman
6c16c4bfd2
Add proper footer since this file is HTML-4.01 compliant.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13498 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-12 18:37:22 +00:00
Misha Brukman
85234aca74
Make document HTML-4.01 (Strict) compliant.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13497 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-12 18:31:21 +00:00
Misha Brukman
f6acb51bf3
Fix grammar: remove `the' before LLVM.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13496 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-12 18:02:00 +00:00
Misha Brukman
b69715e707
* Make the document format follow the stringent purple standards (like the rest
...
of the documentation)
* Do not make the link text be the link itself, use some keywords
* Make doc use stylesheets and HTML markup for lists instead of definitions
* Shorten page by not making multiple lines per link with description + link of
the same name as the target
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13495 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-12 18:00:48 +00:00
Chris Lattner
2b10b08ad6
Pass boolean constants into function calls more efficiently, generating:
...
mov DWORD PTR [%ESP + 4], 1
instead of:
mov %EAX, 1
mov DWORD PTR [%ESP + 4], %EAX
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13494 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-12 16:35:04 +00:00
Chris Lattner
587992721c
Do not pass in the same argument to the extracted function more than once, and
...
give the extracted function a more useful name than just foo_code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13493 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-12 16:26:18 +00:00
Chris Lattner
68bee938e5
Check to see if all blocks are extractible first.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13491 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-12 16:08:01 +00:00