Evan Cheng
8f585196e1
Reflect change to AssignTopologicalOrder().
...
llvm-svn: 29480
2006-08-02 22:01:32 +00:00
Evan Cheng
bba1ebda32
- Change AssignTopologicalOrder to return vector of SDNode* by reference.
...
- Tweak implementation to avoid using std::map.
llvm-svn: 29479
2006-08-02 22:00:34 +00:00
Evan Cheng
cdd79f2b94
AssignTopologicalOrder now returns the vector of SDNode* by reference to
...
avoid the expensive operation of copying a vector.
It also returns a maximum id by value.
llvm-svn: 29478
2006-08-02 21:58:44 +00:00
Jim Laskey
82cd9c513e
If the Program name was NULL then all further output sent to std::cerr was
...
suppressed.
llvm-svn: 29477
2006-08-02 20:15:56 +00:00
Patrick Jenkins
942f217d99
Removed some dead code and hopefully fixed the issue where the total list of tests was not being sent
...
llvm-svn: 29476
2006-08-02 18:37:40 +00:00
Jim Laskey
29e635d3c9
Final polish on machine pass registries.
...
llvm-svn: 29471
2006-08-02 12:30:23 +00:00
Jim Laskey
8ab788fffd
Breaking out specialized classes.
...
llvm-svn: 29470
2006-08-02 12:27:50 +00:00
Evan Cheng
8101dd67d1
Use of vector<bool> causes some horrendous compile time regression (2x)!
...
Looks like libstdc++ implementation does not scale very well. Switch back
to using directly managed arrays.
llvm-svn: 29469
2006-08-02 09:18:33 +00:00
Nate Begeman
6025c92e50
Update the readme to remove duplicate information and clarify the loop
...
problem.
llvm-svn: 29468
2006-08-02 05:31:20 +00:00
Nate Begeman
d573cc7938
Disable LSR at -fast
...
llvm-svn: 29467
2006-08-02 05:29:40 +00:00
Chris Lattner
38b6e8382a
Add special check to avoid isLoop call. Simple, but doesn't seem to speed
...
up lcssa much in practice.
llvm-svn: 29465
2006-08-02 00:16:47 +00:00
Chris Lattner
4d074f795a
Speed up Loop::isLCSSAForm by using a binary search and single-entry cache.
...
This reduces LCSSA pass time from 1.5s to 0.96s when run on eon in release+asserts mode.
llvm-svn: 29464
2006-08-02 00:14:16 +00:00
Chris Lattner
5a2bc786be
Replace the SSA update code in LCSSA with a bottom-up approach instead of a top
...
down approach, inspired by discussions with Tanya.
This approach is significantly faster, because it does not need dominator
frontiers and it does not insert extraneous unused PHI nodes. For example, on
252.eon, in a release-asserts build, this speeds up LCSSA (which is the slowest
pass in gccas) from 9.14s to 0.74s on my G5. This code is also slightly smaller
and significantly simpler than the old code.
Amusingly, in a normal Release build (which includes the
"assert(L->isLCSSAForm());" assertion), asserting that the result of LCSSA
is in LCSSA form is actually slower than the LCSSA transformation pass
itself on 252.eon. I will see if Loop::isLCSSAForm can be sped up next.
llvm-svn: 29463
2006-08-02 00:06:09 +00:00
Chris Lattner
5af6a3ffdb
Fix the build on case-sensitive filesystems :(
...
llvm-svn: 29457
2006-08-01 22:34:35 +00:00
Chris Lattner
38e1a09d4d
Add dominates/properlyDominates queries to IDom.
...
llvm-svn: 29456
2006-08-01 22:24:47 +00:00
Jim Laskey
17c67efe8a
Now that the ISel is available, it's possible to create a default instruction
...
scheduler creator.
llvm-svn: 29452
2006-08-01 19:14:14 +00:00
Rafael Espindola
8b7bd8264b
start comments with #
...
move the constant pool to .text
correctly print loads of labels
mark R0, R1, R2 and R3 as caller save
llvm-svn: 29451
2006-08-01 18:53:10 +00:00
Jim Laskey
03593f72db
1. Change use of "Cache" to "Default".
...
2. Added argument to instruction scheduler creators so the creators can do
special things.
3. Repaired target hazard code.
4. Misc.
More to follow.
llvm-svn: 29450
2006-08-01 18:29:48 +00:00
Chris Lattner
b25c49dd0c
no need to check readability here
...
llvm-svn: 29449
2006-08-01 18:22:21 +00:00
Chris Lattner
7dbd783e90
Remove some now-dead methods. Use getFileStatus instead.
...
llvm-svn: 29447
2006-08-01 18:16:02 +00:00
Chris Lattner
ec905190bf
No need to check isWriteable here (which isn't sufficient anyway). Just attempt
...
to do the operation and if it fails, oh well.
llvm-svn: 29446
2006-08-01 18:12:29 +00:00
Chris Lattner
63c5e1cf92
Use Path::getFileStatus
...
llvm-svn: 29445
2006-08-01 18:09:46 +00:00
Chris Lattner
32ffbc316a
Use Path::getFileStatus to get status-related info.
...
llvm-svn: 29444
2006-08-01 18:04:01 +00:00
Chris Lattner
80df7c4651
Use getFileStatus instead of Path::isDirectory().
...
llvm-svn: 29443
2006-08-01 17:59:14 +00:00
Chris Lattner
be119d4386
elimiante some syscalls
...
llvm-svn: 29442
2006-08-01 17:51:09 +00:00
Reid Spencer
ca1e759762
Update my entry.
...
llvm-svn: 29438
2006-08-01 16:52:07 +00:00
Chris Lattner
03e7a649ce
Update Bil's entry
...
llvm-svn: 29437
2006-08-01 16:40:42 +00:00
Jim Laskey
0ec39ee28e
Forgot the added files for plugable machine passes.
...
llvm-svn: 29436
2006-08-01 16:31:08 +00:00
Reid Spencer
738cb2aa85
Fix HTML 4.01 Strict errors.
...
llvm-svn: 29435
2006-08-01 16:23:54 +00:00
Jim Laskey
95eda5b1f3
Introducing plugable register allocators and instruction schedulers.
...
llvm-svn: 29434
2006-08-01 14:21:23 +00:00
Rafael Espindola
95035cf001
implement LowerConstantPool and LowerGlobalAddress
...
llvm-svn: 29433
2006-08-01 12:58:43 +00:00
Jim Laskey
300f1979c8
Adding to credibility.
...
llvm-svn: 29432
2006-08-01 09:01:40 +00:00
Evan Cheng
9631a60020
Added AssignTopologicalOrder() to assign each node an unique id based on their topological order.
...
llvm-svn: 29431
2006-08-01 08:20:41 +00:00
Evan Cheng
45af287957
Factor topological order code to SelectionDAG. Clean up.
...
llvm-svn: 29430
2006-08-01 08:17:22 +00:00
Reid Spencer
227a8425ac
Fix a problem with use of undefined variables. Print an error message if
...
the first argument is omitted. Attempt to use a standard/default font.
Make the generation of the DOT file readable.
llvm-svn: 29429
2006-08-01 08:09:03 +00:00
Anton Korobeynikov
98484fc568
Minor fix due to recent API changes
...
llvm-svn: 29428
2006-08-01 08:07:22 +00:00
Reid Spencer
69e2232a1b
Update to include new options.
...
llvm-svn: 29426
2006-08-01 07:38:39 +00:00
Reid Spencer
a16d650fe8
Update library dependency information, describe new libraries, talk a
...
little about llvm-config as a source for help with library dependencies.
llvm-svn: 29425
2006-08-01 07:32:01 +00:00
Anton Korobeynikov
8e5425f0cf
Added myself to credits.
...
llvm-svn: 29424
2006-08-01 07:06:00 +00:00
Evan Cheng
70c4ae4bda
Pass N by reference to select functions to prevent gcc from allocating more stack.
...
llvm-svn: 29423
2006-08-01 01:07:48 +00:00
Evan Cheng
6ae6ac1216
PIC jump table entries are always 32-bit even in 64-bit mode.
...
llvm-svn: 29422
2006-08-01 01:03:13 +00:00
Chris Lattner
aba76b76b1
If dejagnu is not found, tell the user instead of bombing out with an
...
obscure error.
llvm-svn: 29421
2006-08-01 00:07:58 +00:00
Chris Lattner
524129dd64
Fix PR850 and CodeGen/X86/2006-07-31-SingleRegClass.ll.
...
The CFE refers to all single-register constraints (like "A") by their 16-bit
name, even though the 8 or 32-bit version of the register may be needed.
The X86 backend should realize what is going on and redecode the name back
to its proper form.
llvm-svn: 29420
2006-07-31 23:26:50 +00:00
Chris Lattner
9e3d4c2693
New testcase for PR850.
...
llvm-svn: 29419
2006-07-31 23:25:17 +00:00
Jim Laskey
b4c0347901
Changed to a new directory for opensource checkout.
...
llvm-svn: 29418
2006-07-31 21:37:55 +00:00
Rafael Espindola
7cc2d19fc1
handle GlobalValue::InternalLinkage in doFinalization
...
llvm-svn: 29417
2006-07-31 20:38:13 +00:00
Jim Laskey
88b5e790b5
Fix a couple typos.
...
llvm-svn: 29416
2006-07-31 20:18:49 +00:00
Evan Cheng
c1163d2fa7
Remove an unneeded match condition: the type check for root node has been
...
moved to outside the actual select routine.
llvm-svn: 29415
2006-07-31 19:01:58 +00:00
Evan Cheng
ac8be4338c
Remove a duplicate pattern.
...
llvm-svn: 29414
2006-07-31 18:43:10 +00:00
Evan Cheng
2af3a67902
Remove a duplicate pattern/
...
llvm-svn: 29413
2006-07-31 18:42:49 +00:00