Jim Laskey
f492391de0
Copy the liveins for the first block. PR859
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29511 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-03 20:51:06 +00:00
Chris Lattner
3700f90c19
Work around a GCC 3.3.5 bug noticed by a user.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29490 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-03 00:18:59 +00:00
Chris Lattner
8653b37ab9
Work around a bug in gcc 3.3.5, reported by a user
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29489 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-03 00:16:56 +00:00
Evan Cheng
c384d6c398
- Change AssignTopologicalOrder to return vector of SDNode* by reference.
...
- Tweak implementation to avoid using std::map.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29479 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-02 22:00:34 +00:00
Jim Laskey
eb577ba3b8
Final polish on machine pass registries.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29471 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-02 12:30:23 +00:00
Jim Laskey
9373beba60
Now that the ISel is available, it's possible to create a default instruction
...
scheduler creator.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29452 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-01 19:14:14 +00:00
Jim Laskey
9ff542f2cc
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29450 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-01 18:29:48 +00:00
Jim Laskey
c6a0a117a6
Forgot the added files for plugable machine passes.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29436 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-01 16:31:08 +00:00
Jim Laskey
13ec702c43
Introducing plugable register allocators and instruction schedulers.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29434 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-01 14:21:23 +00:00
Evan Cheng
e6f35d8a5c
Added AssignTopologicalOrder() to assign each node an unique id based on their topological order.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29431 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-01 08:20:41 +00:00
Evan Cheng
8825a485e2
PIC jump table entries are always 32-bit even in 64-bit mode.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29422 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-01 01:03:13 +00:00
Chris Lattner
4a6bd33da0
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
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29408 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-29 01:57:19 +00:00
Evan Cheng
2641cad180
Remove InFlightSet hack. No longer needed.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29373 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-28 00:47:19 +00:00
Chris Lattner
f26f5dde14
Print empty inline asms as a blank line instead of:
...
# InlineAsm Start
# InlineAsm End
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29372 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-28 00:17:20 +00:00
Jim Laskey
33a0a6ddf5
Working toward registration of register allocators.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29360 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-27 20:05:00 +00:00
Nate Begeman
4d9bbdc440
Code cleanups, per review
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29347 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-27 16:46:58 +00:00
Evan Cheng
7c16d776cb
AssignNodeIds should return unsigned.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29343 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-27 07:36:47 +00:00
Evan Cheng
091cba1b91
AssignNodeIds assign each node in the DAG an unique id.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29337 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-27 06:39:06 +00:00
Nate Begeman
2f1ae88445
Support jump tables when in PIC relocation model
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29318 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-27 01:13:04 +00:00
Chris Lattner
c9cf4f1a75
Fix a case where LegalizeAllNodesNotLeadingTo could take exponential time.
...
This manifested itself as really long time to compile
Regression/CodeGen/Generic/2003-05-28-ManyArgs.ll on ppc.
This is PR847.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29313 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-26 23:55:56 +00:00
Reid Spencer
7107c3badf
For PR780:
...
1. Move IncludeFile.h to System library
2. Move IncludeFile.cpp to System library
3. #1 and #2 required to prevent cyclic library dependencies for libSystem
4. Convert all existing uses of Support/IncludeFile.h to System/IncludeFile.h
5. Add IncludeFile support to various lib/System classes.
6. Add new lib/System classes to LinkAllVMCore.h
All this in an attempt to pull in lib/System to what's required for VMCore
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29287 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-26 16:18:00 +00:00
Reid Spencer
9160a6a18f
Initialize some variables the compiler warns about.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29277 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-25 20:44:41 +00:00
Jim Laskey
cd4317efcf
Eliminate data relocations by using NULL instead of global empty list.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29250 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-21 21:15:20 +00:00
Jim Laskey
60f09928a0
Use an enumeration to eliminate data relocations.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29249 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-21 20:57:35 +00:00
Evan Cheng
917ec983df
If a shuffle is a splat, check if the argument is a build_vector with all elements being the same. If so, return the argument.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29242 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-21 08:25:53 +00:00
Chris Lattner
02b04b4d34
Build more debugger/selectiondag libraries as archives instead of .o files.
...
This works around bugs in some versions of the cygwin linker.
Patch contributed by Anton Korobeynikov.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29239 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-21 00:10:47 +00:00
Evan Cheng
e7bec0dbb5
If a shuffle is unary, i.e. one of the vector argument is not needed, turn the
...
operand into a undef and adjust mask accordingly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29232 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-20 22:44:41 +00:00
Chris Lattner
a15cf7045e
Mems can be in the output list also. This is the second half of a fix for
...
PR833
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29224 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-20 19:02:21 +00:00
Andrew Lenharth
ae6153f943
80 cols
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29221 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-20 17:43:27 +00:00
Andrew Lenharth
ed41f1bb19
Reduce number of exported symbols
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29220 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-20 17:28:38 +00:00
Andrew Lenharth
74bda2e320
Fix linking on Alpha
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29219 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-20 17:27:58 +00:00
Chris Lattner
917d2c9dc2
Add an out-of-line virtual method for the sdnode class to give it a home.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29192 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-19 00:00:37 +00:00
Chris Lattner
0c4e6789da
On 64-bit targets like ppc64, we should use .quad to output pointer directives,
...
not .long.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29157 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-15 01:34:12 +00:00
Chris Lattner
efb9b813fa
Add an out-of-line virtual function to home class.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29154 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-14 23:08:47 +00:00
Jim Laskey
d04c159ac1
Fixed a bug handling void function types.
...
Requires rebuild of llvm-gcc4 (touch llvm-debug.cpp.)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29131 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-13 15:27:42 +00:00
Jim Laskey
16d42c6ac6
It was pointed out that DEBUG() is only available with -debug.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29106 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-11 18:25:13 +00:00
Jim Laskey
e37fe9b3a1
Ensure that dump calls that are associated with asserts are removed from
...
non-debug build.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29105 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-11 17:58:07 +00:00
Jim Laskey
e2a78f2e3d
1. Support for c++ mangled names.
...
2. Support for private/protected class members.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29104 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-11 15:58:09 +00:00
Chris Lattner
25a022c780
Fix CodeGen/Alpha/2006-07-03-ASMFormalLowering.ll and PR818.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29099 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-11 01:40:09 +00:00
Evan Cheng
42f75a926a
Fix a typo that causes 2006-07-07-ComputeMaskedBits.ll to fail.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29072 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-07 21:37:21 +00:00
Evan Cheng
322812e603
Ugly hack! Add helper functions InsertInFlightSetEntry and
...
RemoveInFlightSetEntry. They are used in place of direct set operators to
reduce instruction selection function stack size.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28987 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-29 23:57:05 +00:00
Evan Cheng
2d2cec1e9e
Add support to print 4-, 8-, and 16- byte constant literals in special
...
sections. e.g. On Darwin that would be .literal4 and .literal8.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28977 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-29 00:26:09 +00:00
Chris Lattner
9525528a7d
Use hidden visibility to make symbols in an anonymous namespace get
...
dropped. This shrinks libllvmgcc.dylib another 67K
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28975 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-28 23:17:24 +00:00
Chris Lattner
f8c68f694c
Shave another 27K off libllvmgcc.dylib with visibility hidden
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28973 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-28 22:17:39 +00:00
Chris Lattner
360e8200ec
Mark these two classes as hidden, shrinking libllbmgcc.dylib by 25K
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28970 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-28 21:58:30 +00:00
Chris Lattner
883a52de66
Fix CodeGen/Generic/2006-06-28-SimplifySetCCCrash.ll
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28965 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-28 18:29:47 +00:00
Reid Spencer
9d5b532de9
For PR801:
...
Refactor the Graph writing code to use a common implementation which is
now in lib/Support/GraphWriter.cpp. This completes the PR.
Patch by Anton Korobeynikov. Thanks, Anton!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28925 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-27 16:49:46 +00:00
Jim Laskey
89d67faf30
Add and sort "sections" in debug lines. This always stepping through
...
code in sections other than ".text", including weak sections like ctors and
dtors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28909 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-23 12:51:53 +00:00
Jim Laskey
650f609734
Add support for function types.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28874 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-20 19:41:06 +00:00
Jim Laskey
d16f2a7326
References need to be section relative.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28861 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-19 19:49:42 +00:00