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
Andrew Lenharth
c9b52f1f1b
fix externals
...
llvm-svn: 29409
2006-07-29 04:27:34 +00:00
Chris Lattner
557d3cacbe
Instead of blindly looking past constantexpr casts, actually constant
...
fold them. This correctly truncates constants that are too large for the
destination slot and makes the code easier to understand. This fixes PR853
and Regression/CodeGen/X86/2006-07-28-AsmPrint-Long-As-Pointer.ll
llvm-svn: 29408
2006-07-29 01:57:19 +00:00
Chris Lattner
a7ee908421
New testcase for PR853
...
llvm-svn: 29407
2006-07-29 01:50:53 +00:00
Chris Lattner
b0aae854ba
Remove a redundant syscall.
...
llvm-svn: 29405
2006-07-28 22:52:11 +00:00
Evan Cheng
09f9f995f5
Split each select function for a particular opcode into multiple ones. One
...
per possible ValueType of the node. e.g. Select_add is split into Select_add_i8,
Select_add_i16, etc.
For opcodes which do not produce a non-chain result, it is split on the
ValueType of its first non-chain operand. e.g. Select_store.
On X86 / Mac OS X, Select_store used to be the largest function. It had a stack
frame size of 8.5k. Now the largest one is Store_i32 with a frame size of 3.1k.
llvm-svn: 29404
2006-07-28 22:51:01 +00:00
Reid Spencer
43cbd39dd0
Fix the --with-extra-options to use the correct variable.
...
llvm-svn: 29403
2006-07-28 22:50:07 +00:00
Chris Lattner
504adc58b7
Modify setStatusInfoOnDisk to not throw an exception.
...
llvm-svn: 29402
2006-07-28 22:36:17 +00:00
Chris Lattner
e2c3df81b7
Update win32 for Path::getStatusInfo
...
llvm-svn: 29401
2006-07-28 22:32:09 +00:00