Evan Cheng
7bdbdf9ae7
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
ce9ed8e5e5
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
cc89dd84d7
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
6d121090d3
Final polish on machine pass registries.
...
llvm-svn: 29471
2006-08-02 12:30:23 +00:00
Jim Laskey
f850832788
Breaking out specialized classes.
...
llvm-svn: 29470
2006-08-02 12:27:50 +00:00
Evan Cheng
6fd2b20b8a
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
7d4b0d0b9b
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
d22dd0f92b
Disable LSR at -fast
...
llvm-svn: 29467
2006-08-02 05:29:40 +00:00
Chris Lattner
1768e89248
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
a21497f1b8
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
a07bbb37e4
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
c7d664b581
Fix the build on case-sensitive filesystems :(
...
llvm-svn: 29457
2006-08-01 22:34:35 +00:00
Chris Lattner
58aeae17a7
Add dominates/properlyDominates queries to IDom.
...
llvm-svn: 29456
2006-08-01 22:24:47 +00:00
Jim Laskey
f9f462bc5e
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
719336441f
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
f5e160063e
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
bbcb37f911
no need to check readability here
...
llvm-svn: 29449
2006-08-01 18:22:21 +00:00
Chris Lattner
ceecdbc08e
Remove some now-dead methods. Use getFileStatus instead.
...
llvm-svn: 29447
2006-08-01 18:16:02 +00:00
Chris Lattner
d1f3b45348
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
09840d9731
Use Path::getFileStatus
...
llvm-svn: 29445
2006-08-01 18:09:46 +00:00
Chris Lattner
d69d77e5d1
Use Path::getFileStatus to get status-related info.
...
llvm-svn: 29444
2006-08-01 18:04:01 +00:00
Chris Lattner
401b6d696e
Use getFileStatus instead of Path::isDirectory().
...
llvm-svn: 29443
2006-08-01 17:59:14 +00:00
Chris Lattner
863cb9ca93
elimiante some syscalls
...
llvm-svn: 29442
2006-08-01 17:51:09 +00:00
Reid Spencer
6ea735447c
Update my entry.
...
llvm-svn: 29438
2006-08-01 16:52:07 +00:00
Chris Lattner
19d644bbb6
Update Bil's entry
...
llvm-svn: 29437
2006-08-01 16:40:42 +00:00
Jim Laskey
29880272a9
Forgot the added files for plugable machine passes.
...
llvm-svn: 29436
2006-08-01 16:31:08 +00:00
Reid Spencer
6d41dc691b
Fix HTML 4.01 Strict errors.
...
llvm-svn: 29435
2006-08-01 16:23:54 +00:00
Jim Laskey
b92b14f422
Introducing plugable register allocators and instruction schedulers.
...
llvm-svn: 29434
2006-08-01 14:21:23 +00:00
Rafael Espindola
f11277971f
implement LowerConstantPool and LowerGlobalAddress
...
llvm-svn: 29433
2006-08-01 12:58:43 +00:00
Jim Laskey
5720b15916
Adding to credibility.
...
llvm-svn: 29432
2006-08-01 09:01:40 +00:00
Evan Cheng
e4fdb294ae
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
29d6f9d252
Factor topological order code to SelectionDAG. Clean up.
...
llvm-svn: 29430
2006-08-01 08:17:22 +00:00
Reid Spencer
eb2516f29e
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
e8ec56dea9
Minor fix due to recent API changes
...
llvm-svn: 29428
2006-08-01 08:07:22 +00:00
Reid Spencer
5681420949
Update to include new options.
...
llvm-svn: 29426
2006-08-01 07:38:39 +00:00
Reid Spencer
3628c63ba6
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
8413abfc68
Added myself to credits.
...
llvm-svn: 29424
2006-08-01 07:06:00 +00:00
Evan Cheng
64b9364083
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
c1483b5e72
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
665fa52aba
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
26ff12f7f5
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
f23f398729
New testcase for PR850.
...
llvm-svn: 29419
2006-07-31 23:25:17 +00:00
Jim Laskey
3650dc75d5
Changed to a new directory for opensource checkout.
...
llvm-svn: 29418
2006-07-31 21:37:55 +00:00
Rafael Espindola
0ea0399411
handle GlobalValue::InternalLinkage in doFinalization
...
llvm-svn: 29417
2006-07-31 20:38:13 +00:00
Jim Laskey
799d4b373c
Fix a couple typos.
...
llvm-svn: 29416
2006-07-31 20:18:49 +00:00
Evan Cheng
1335c08549
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
92eb9a1639
Remove a duplicate pattern.
...
llvm-svn: 29414
2006-07-31 18:43:10 +00:00
Evan Cheng
7e30f4efe7
Remove a duplicate pattern/
...
llvm-svn: 29413
2006-07-31 18:42:49 +00:00
Chris Lattner
db30b8ea63
testcase for PR854.
...
llvm-svn: 29412
2006-07-31 17:31:48 +00:00
Chris Lattner
0cccbbaf5b
Testcase for GCC bug28417, ensuring that we don't start getting it wrong
...
somehow.
llvm-svn: 29410
2006-07-30 17:46:37 +00:00