1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-19 19:12:56 +02:00
Commit Graph

14719 Commits

Author SHA1 Message Date
Jim Laskey
de4cc067a9 Copy the liveins for the first block. PR859
llvm-svn: 29511
2006-08-03 20:51:06 +00:00
Chris Lattner
0b8dd1f32f remove some more dead sparcv9 support stuff
llvm-svn: 29506
2006-08-03 18:55:44 +00:00
Chris Lattner
92e5f0a118 remove a dead proto
llvm-svn: 29505
2006-08-03 18:51:04 +00:00
Jim Laskey
a2080b26b9 Get darwin intel debugging up and running.
llvm-svn: 29504
2006-08-03 17:27:09 +00:00
Rafael Espindola
fa94338687 add and use ARMISD::RET_FLAG
llvm-svn: 29499
2006-08-03 17:02:20 +00:00
Chris Lattner
52419ac93e Changes:
1. Update an obsolete comment.
  2. Make the sorting by base an explicit (though still N^2) step, so
     that the code is more clear on what it is doing.
  3. Partition uses so that uses inside the loop are handled before uses
     outside the loop.

Note that none of these changes currently changes the code inserted by LSR,
but they are a stepping stone to getting there.

This code is the result of some crazy pair programming with Nate. :)

llvm-svn: 29493
2006-08-03 06:34:50 +00:00
Chris Lattner
8cc175963d Work around a GCC 3.3.5 bug noticed by a user.
llvm-svn: 29490
2006-08-03 00:18:59 +00:00
Chris Lattner
992020cd59 Work around a bug in gcc 3.3.5, reported by a user
llvm-svn: 29489
2006-08-03 00:16:56 +00:00
Evan Cheng
445674348f Reflect change to AssignTopologicalOrder().
llvm-svn: 29480
2006-08-02 22:01:32 +00:00
Evan Cheng
92b45ad949 - 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
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
Jim Laskey
6d121090d3 Final polish on machine pass registries.
llvm-svn: 29471
2006-08-02 12:30:23 +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
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
ceecdbc08e Remove some now-dead methods. Use getFileStatus instead.
llvm-svn: 29447
2006-08-01 18:16:02 +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
Jim Laskey
29880272a9 Forgot the added files for plugable machine passes.
llvm-svn: 29436
2006-08-01 16:31:08 +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
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
Anton Korobeynikov
e8ec56dea9 Minor fix due to recent API changes
llvm-svn: 29428
2006-08-01 08:07:22 +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
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
Rafael Espindola
0ea0399411 handle GlobalValue::InternalLinkage in doFinalization
llvm-svn: 29417
2006-07-31 20:38:13 +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
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
b0aae854ba Remove a redundant syscall.
llvm-svn: 29405
2006-07-28 22:52:11 +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
Chris Lattner
d7873a0757 Modify Path::eraseFromDisk to not throw an exception.
llvm-svn: 29400
2006-07-28 22:29:50 +00:00
Chris Lattner
5f46911e99 Finegrainify namespacification, minor cleanups
llvm-svn: 29399
2006-07-28 22:21:01 +00:00
Chris Lattner
93ab0e8787 formatting cleanups
llvm-svn: 29396
2006-07-28 22:07:54 +00:00
Chris Lattner
f4c7ceebaf Change Path::getStatusInfo to return a boolean and error string on an error
instead of throwing an exception.  This reduces the amount of code that is
exposed to exceptions (e.g. FileUtilities), though it is clearly only one step
along the way.

llvm-svn: 29395
2006-07-28 22:03:44 +00:00
Chris Lattner
75be2cb1a0 libsupport still throws.
llvm-svn: 29394
2006-07-28 22:01:01 +00:00
Chris Lattner
5f87e5d0cf Exceptions are thrown by and through this library.
llvm-svn: 29393
2006-07-28 22:00:24 +00:00
Chris Lattner
4b861b07a7 Fix handling of asm specifiers for external globals. This unbreaks many programs
on leopard in the jit.

llvm-svn: 29391
2006-07-28 21:11:31 +00:00
Chris Lattner
8cb78a0d45 Make functions with an "asm" name propagate that asm name into the cbe.c file.
This fixes link errors on programs with these on targets with prefixes.

llvm-svn: 29390
2006-07-28 20:58:47 +00:00
Chris Lattner
51e1b75fba Fix some ppc64 issues with vector code.
llvm-svn: 29384
2006-07-28 16:45:47 +00:00
Evan Cheng
e4c19806cd Can't spell.
llvm-svn: 29383
2006-07-28 06:33:41 +00:00