Chris Lattner
6d760d7cb3
Add an option to enable the SSA based peephole optimizer.
...
Eventually this pass will provide substantially better code in the interim between when we
have a crappy isel and nice isel. Unfortunately doing so requires fixing the backend to
actually SUPPORT all of the fancy addressing modes that we now generate, and writing a DCE
pass for machine code. Each of these is a fairly substantial job, so this will remain disabled
for the immediate future. :(
llvm-svn: 10276
2003-12-01 05:18:30 +00:00
Chris Lattner
a913723309
Add a new SSA-based peephole optimizer which includes copy propagation and
...
folding of instructions into addressing modes. This creates lots of dead
instructions, which are currently not deleted. It also creates a lot of
instructions that the X86 backend currently cannot handle. :(
llvm-svn: 10275
2003-12-01 05:15:28 +00:00
Chris Lattner
128937bbe2
generalize the instruction types permitted a bit
...
llvm-svn: 10274
2003-12-01 05:13:56 +00:00
Chris Lattner
6cf03df531
fix broken link
...
llvm-svn: 10273
2003-12-01 05:12:09 +00:00
Alkis Evlogimenos
26f17e73eb
Print instructions before register allocation is performed. Also fix
...
bug where spill instructions were added to the next basic block
instead of the end of the current one if the instruction that required
the spill was the last in the block.
llvm-svn: 10272
2003-11-30 23:40:39 +00:00
Chris Lattner
0fcba7f6b3
add missing dependency
...
llvm-svn: 10271
2003-11-30 09:22:42 +00:00
Chris Lattner
d8218923ae
Finegrainify namespacification
...
llvm-svn: 10270
2003-11-30 06:13:25 +00:00
Chris Lattner
121d04d1ae
A line was missing
...
llvm-svn: 10269
2003-11-30 05:46:14 +00:00
Alkis Evlogimenos
0aa40f8db0
Remove "numReloaded" statistic.
...
llvm-svn: 10268
2003-11-30 05:15:36 +00:00
Chris Lattner
98e72b4bb3
Emit constants to one contiguous block, but this time, respect alignment constraints.
...
If this doesn't work Misha, feel free to revert it.
llvm-svn: 10267
2003-11-30 04:23:21 +00:00
Misha Brukman
873cf93b6e
Go back to allocating memory for each constant separately. Since SPARCs do not
...
allow unaligned loads, that is probably the problem I've been seeing in numerous
SPARC test cases failing. X86, on the other hand, just slows down unaligned
accesses, since it must make 2 aligned accesses for each unaligned one.
llvm-svn: 10266
2003-11-30 00:50:53 +00:00
Chris Lattner
58efc9e0fe
be 3.4 happy
...
llvm-svn: 10265
2003-11-29 20:04:13 +00:00
Chris Lattner
839030b3a8
be GCC 3.4 clean
...
llvm-svn: 10264
2003-11-29 19:55:12 +00:00
Chris Lattner
594654f17d
Hrm, how could this compile?
...
llvm-svn: 10263
2003-11-29 19:55:02 +00:00
Chris Lattner
982b285232
Fix compatibility with gcc 3.4
...
llvm-svn: 10262
2003-11-29 19:45:47 +00:00
Chris Lattner
3edb8478a4
Build _lib_crtend.a, not crtend.a
...
llvm-svn: 10260
2003-11-29 10:24:57 +00:00
Chris Lattner
d52319f54e
Don't print out tons of crap
...
llvm-svn: 10259
2003-11-29 10:14:17 +00:00
Chris Lattner
910c8d834e
Rewrite makefile logic to build an archive instead of a .o file. This is
...
intended to address PR142
llvm-svn: 10257
2003-11-29 10:05:30 +00:00
Chris Lattner
fe8f8b4947
Simplify some rules
...
Move LGCCLDPROG from test/Makefile.tests
llvm-svn: 10256
2003-11-29 09:50:15 +00:00
Chris Lattner
462444e1ea
Move rule to top-level makefile
...
llvm-svn: 10255
2003-11-29 09:49:14 +00:00
Chris Lattner
46c6693781
Add readme and spiff up makefile header
...
llvm-svn: 10254
2003-11-29 09:22:53 +00:00
Chris Lattner
212e596ede
Testcase for duplicated cleanup work (PR11). Note that this testcase is not actually
...
tested automatically, so it is practically useless. However, it seemed silly to throw
away my testcase, so here it is.
llvm-svn: 10253
2003-11-29 09:10:50 +00:00
Chris Lattner
8384f97ee4
Fix test: Transforms/LevelRaise/2003-11-28-IllegalTypeConversion.ll
...
Some gep generalization changes
llvm-svn: 10252
2003-11-29 05:31:25 +00:00
Chris Lattner
6d94d10377
new testcase for problem causing 2003-10-12-GlobalVarInitializers failures
...
llvm-svn: 10251
2003-11-29 05:19:15 +00:00
Chris Lattner
8abd7dca76
The function resolving pass must be run, even if -disable-opt is specified
...
llvm-svn: 10250
2003-11-28 09:44:03 +00:00
Chris Lattner
fcaa6fbbd8
* The return value of LinkLibraries is ignored, so remove it.
...
* Finegrainify namespacification of Linker.cpp
* If linking a library in fails, do not STOP LINKING IN LIBRARIES AND
CONTINUE ANYWAY! Instead, just output the warning, and keep going. :)
llvm-svn: 10249
2003-11-28 07:44:09 +00:00
Chris Lattner
1fdd8a45c3
fix gcc 3.4 compatibility problem
...
llvm-svn: 10248
2003-11-28 01:46:06 +00:00
Chris Lattner
68ac670086
Testcase for PR160
...
llvm-svn: 10247
2003-11-28 01:32:03 +00:00
Chris Lattner
9201586a98
New testcase for PR158
...
llvm-svn: 10246
2003-11-27 21:25:07 +00:00
Chris Lattner
40487e450b
Fix grammaro
...
llvm-svn: 10245
2003-11-27 21:17:48 +00:00
Chris Lattner
ff4aa6dbe2
testcase for PR159
...
llvm-svn: 10244
2003-11-27 20:47:16 +00:00
Chris Lattner
a24a54d2f4
PR11 is now fixed for 1.1!
...
llvm-svn: 10243
2003-11-27 09:52:03 +00:00
Chris Lattner
8139b78c03
PR11 is now fixed for 1.1
...
llvm-svn: 10242
2003-11-27 09:51:54 +00:00
Chris Lattner
2a7033255e
* Squelch warning on Sun
...
* stdlib and friends are system headers
* 'long long' is the type that consistently turns into the LLVM 'long' type.
llvm-svn: 10241
2003-11-27 07:48:45 +00:00
John Criswell
f1387a59bf
Makefiles are now copies over to the object root directory dynamically.
...
llvm-svn: 10240
2003-11-26 20:09:49 +00:00
John Criswell
96be650984
Renamed intermediate values that used the same type and name as previous
...
values. All of these files should assemble now.
llvm-svn: 10239
2003-11-26 14:45:37 +00:00
Chris Lattner
0548bc2472
Bugz die!
...
llvm-svn: 10238
2003-11-26 08:20:34 +00:00
Chris Lattner
9192f90865
Testcase for PR157
...
llvm-svn: 10237
2003-11-26 07:35:52 +00:00
Chris Lattner
6789a0b1d4
To not barf when an error occurs.
...
llvm-svn: 10236
2003-11-26 07:24:58 +00:00
Chris Lattner
b27353c892
Boogs
...
llvm-svn: 10235
2003-11-26 02:48:00 +00:00
Chris Lattner
86d5c1ca2b
More dead boogers
...
llvm-svn: 10233
2003-11-26 01:18:49 +00:00
Chris Lattner
eb64b6a922
output foo(void) as appropriate
...
llvm-svn: 10232
2003-11-26 00:09:17 +00:00
Chris Lattner
883b73f0a8
Fix bug in previous checkin
...
llvm-svn: 10231
2003-11-25 23:44:40 +00:00
John Criswell
a0d50d2ebc
Fixed a small grammatical error.
...
Explained that function return types cannot be aggregate types.
Explained that functions with the same name but different type signatures
are considered to be different functions.
llvm-svn: 10230
2003-11-25 21:45:46 +00:00
Chris Lattner
f5569bb9a5
Fix const correctness
...
llvm-svn: 10229
2003-11-25 21:28:00 +00:00
Chris Lattner
ad70d4a15b
Relax constrains on GEP type indexes
...
llvm-svn: 10228
2003-11-25 21:21:46 +00:00
Chris Lattner
1c45d5185f
It is legal to index into sequential types with any integer
...
llvm-svn: 10227
2003-11-25 21:20:19 +00:00
Chris Lattner
52310702a1
Do not use index type to determine what it is indexing into!
...
llvm-svn: 10226
2003-11-25 21:09:18 +00:00
Chris Lattner
637ee39933
Do not depend on the gep index types to determine what flavor of index it is
...
llvm-svn: 10225
2003-11-25 20:49:55 +00:00
Chris Lattner
f078808a2b
Do not depend on structure elements being of type UByteTy
...
llvm-svn: 10224
2003-11-25 20:44:56 +00:00