Commit Graph

25756 Commits

Author SHA1 Message Date
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