Alkis Evlogimenos
ff9482b664
Change MRegisterInfo::foldMemoryOperand to return the folded
...
instruction to make the API more flexible.
llvm-svn: 12386
2004-03-14 07:19:51 +00:00
Chris Lattner
cf5d48e8af
Passes don't print stuff!
...
llvm-svn: 12385
2004-03-14 04:17:53 +00:00
Chris Lattner
7e7c3332b8
Do not create empty basic blocks when the lowerswitch pass expects blocks to
...
be non-empty! This fixes LowerSwitch/2004-03-13-SwitchIsDefaultCrash.ll
llvm-svn: 12384
2004-03-14 04:14:31 +00:00
Chris Lattner
c143e195ba
New testcase that crashes the -lowerswitch pass
...
llvm-svn: 12383
2004-03-14 04:13:57 +00:00
Chris Lattner
e52c176a7c
Minor random cleanups
...
llvm-svn: 12382
2004-03-14 04:01:47 +00:00
Chris Lattner
f3b0377169
FunctionPass's should not define their own 'run' method.
...
Require 'simplified' loops, not just raw natural loops. This fixes
CodeExtractor/2004-03-13-LoopExtractorCrash.ll
llvm-svn: 12381
2004-03-14 04:01:06 +00:00
Chris Lattner
39b3ae34bd
If a block is dead, dominators will not be calculated for it. Because of this
...
loop information won't see it, and we could have unreachable blocks pointing to
the non-header node of blocks in a natural loop. This isn't tidy, so have the
loopsimplify pass clean it up.
llvm-svn: 12380
2004-03-14 03:59:22 +00:00
Chris Lattner
f943b487c5
Catch some more cases of broken code. The loop extractor seems to be creating
...
situations where there is a branch that goes to a block in another function.
llvm-svn: 12379
2004-03-14 03:23:54 +00:00
Chris Lattner
b23b38259a
Verify functions as they are produced if -debug is specified. Reduce
...
curly braceage
llvm-svn: 12378
2004-03-14 03:17:22 +00:00
Chris Lattner
17042ee9ad
verifyFunction has been broken for a long time now. Fix it.
...
llvm-svn: 12377
2004-03-14 03:16:15 +00:00
Chris Lattner
1c752f73b9
New testcase that crashes the loop extractor
...
llvm-svn: 12376
2004-03-14 03:03:59 +00:00
Chris Lattner
46c006bb19
Move prototype to IPO.h instead of Scalar.h
...
Make sure that the file interface header (IPO.h) is included first
remove dead #incldue
llvm-svn: 12375
2004-03-14 02:37:16 +00:00
Chris Lattner
3bb91dafcd
Move loop extractor to the IPO header
...
llvm-svn: 12374
2004-03-14 02:36:34 +00:00
Chris Lattner
3d96322890
Indent anon namespace properly, add copyright block
...
llvm-svn: 12373
2004-03-14 02:34:07 +00:00
Chris Lattner
1685a3af78
Move to the IPO library. Utils shouldn't contain passes.
...
llvm-svn: 12372
2004-03-14 02:32:27 +00:00
Chris Lattner
6d84c5547a
Remove dead file
...
llvm-svn: 12371
2004-03-14 02:13:57 +00:00
Chris Lattner
5003f9e473
DemoteRegToStack got moved from DemoteRegToStack.h to Local.h
...
llvm-svn: 12368
2004-03-14 02:13:38 +00:00
Chris Lattner
7ed7f02c3a
Move DemoteRegToStack prototype out of DemoteRegToStack.h to this file.
...
llvm-svn: 12367
2004-03-14 02:13:07 +00:00
Chris Lattner
2d65522a09
Document stuff that is known to be broken
...
llvm-svn: 12366
2004-03-14 02:03:02 +00:00
Chris Lattner
52ac108b28
Add some debugging output
...
Fix InstCombine/2004-03-13-InstCombineInfLoop.ll which caused an infinite
loop compiling (I think) povray.
llvm-svn: 12365
2004-03-13 23:54:27 +00:00
Chris Lattner
2620407c28
New testcase, distilled from povray I think.
...
llvm-svn: 12364
2004-03-13 23:53:04 +00:00
Chris Lattner
763b6c41d4
This change makes two big adjustments.
...
* Be a lot more accurate about what the effects will be when inlining a call
to a function when an argument is an alloca.
* Dramatically reduce the penalty for inlining a call in a large function.
This heuristic made it almost impossible to inline a function into a large
function, no matter how small the callee is.
llvm-svn: 12363
2004-03-13 23:15:45 +00:00
Chris Lattner
8d45aeaff1
This little patch speeds up the loop used to update the dominator set analysis.
...
On the testcase from GCC PR12440, which has a LOT of loops (1392 of which require
preheaders to be inserted), this speeds up the loopsimplify pass from 1.931s to
0.1875s. The loop in question goes from 1.65s -> 0.0097s, which isn't bad. All of
these times are a debug build.
This adds a dependency on DominatorTree analysis that was not there before, but
we always had dominatortree available anyway, because LICM requires both loop
simplify and DT, so this doesn't add any extra analysis in practice.
llvm-svn: 12362
2004-03-13 22:01:26 +00:00
Chris Lattner
228bd4e931
Turn on argument promotion in gccas. This can give us substantially better
...
code in cases where the file has lots of static functions or anon namespaces.
llvm-svn: 12361
2004-03-13 21:38:35 +00:00
Chris Lattner
4fc81f57f8
Option no more
...
llvm-svn: 12360
2004-03-13 19:36:30 +00:00
Chris Lattner
a2f653d0cc
Fix the "infinite looping unless you disable adce" bug
...
Also remove an option to disable adce :)
llvm-svn: 12359
2004-03-13 19:35:54 +00:00
Chris Lattner
37b7966121
Fix a tiny bug that caused an incorrect assertion failure poolallocating
...
boxed-sim.
llvm-svn: 12358
2004-03-13 01:14:23 +00:00
Chris Lattner
b45245327e
It helps if I save the file. :)
...
llvm-svn: 12357
2004-03-13 00:24:52 +00:00
Chris Lattner
f7bc6fd913
Rename the intrinsic enum values for llvm.va_* from Intrinsic::va_* to
...
Intrinsic::va*. This avoid conflicting with macros in the stdlib.h file.
llvm-svn: 12356
2004-03-13 00:24:00 +00:00
Chris Lattner
e10c6cd509
Implement sub.ll:test14
...
llvm-svn: 12355
2004-03-13 00:11:49 +00:00
Chris Lattner
ca9c4f43bd
Oh right, casts can interfere. Test this too
...
llvm-svn: 12354
2004-03-13 00:11:38 +00:00
Chris Lattner
284e9ab607
Implement InstCombine/sub.ll:test12 & test13
...
llvm-svn: 12353
2004-03-12 23:53:13 +00:00
Chris Lattner
c9f684b1a0
new testcases
...
llvm-svn: 12352
2004-03-12 23:52:51 +00:00
Chris Lattner
bb08e801d4
Fix a couple of minor problems. Because PHI nodes can use themselves, this
...
could cause infinite loops. Also, getUnderlyingObject can return null
llvm-svn: 12351
2004-03-12 23:12:55 +00:00
John Criswell
a9c937b8ec
Performed some updates on the new options to these command line tools.
...
llvm-svn: 12350
2004-03-12 22:45:35 +00:00
Chris Lattner
6bd3783ef8
Implement mod/ref analysis for a trivial case where locals don't escape.
...
This comes up when you have a local array on the stack and you never pass
the address of elements around.
llvm-svn: 12349
2004-03-12 22:39:00 +00:00
Chris Lattner
0a30c883d1
new testcase
...
llvm-svn: 12348
2004-03-12 22:38:31 +00:00
Brian Gaeke
3cae3bad22
Revise comment and error message for the Bug 38 situation. Also, make it
...
print out the name of the function being used.
llvm-svn: 12347
2004-03-12 21:37:46 +00:00
John Criswell
ef6d2c5e2d
Fixed grammar typo.
...
llvm-svn: 12345
2004-03-12 21:29:42 +00:00
Brian Gaeke
5bc633f691
Make -print-machineinstrs show us the code both before and after reg. alloc.
...
llvm-svn: 12344
2004-03-12 21:19:08 +00:00
John Criswell
5582d9fa8c
Fixed grammar typo.
...
llvm-svn: 12343
2004-03-12 21:19:06 +00:00
John Criswell
fa5de7356d
Added minor information on C++.
...
llvm-svn: 12341
2004-03-12 20:42:16 +00:00
John Criswell
7a899eb1ed
Updated to LLVM 1.2.
...
Added information on getting the LLVM GCC front end from CVS.
Added new configure script options.
Made other minor corrections and modifications.
llvm-svn: 12340
2004-03-12 20:31:37 +00:00
Chris Lattner
385008f77f
Fix PR266: Make Module Not Inherit From Annotable
...
llvm-svn: 12339
2004-03-12 19:51:16 +00:00
John Criswell
75c15a39e4
Point to the new license (includes year 2004).
...
Changed crtend.o to libcrtend.a.
llvm-svn: 12338
2004-03-12 18:20:15 +00:00
John Criswell
d1f0201915
Added a header indicating that the Linux and MacOS configure procedures are
...
the same.
Added LLVM copyright and warranty disclaimer information.
llvm-svn: 12337
2004-03-12 18:02:17 +00:00
Alkis Evlogimenos
da990ad8a4
Add support for a wider range of CMOV instructions.
...
llvm-svn: 12336
2004-03-12 17:59:56 +00:00
John Criswell
da991bfce9
Updated copyright to year 2004.
...
llvm-svn: 12335
2004-03-12 17:29:20 +00:00
Misha Brukman
ffcf81a11b
Simplify code to process CallSites (thanks to Chris).
...
llvm-svn: 12334
2004-03-12 16:20:49 +00:00
Misha Brukman
e0c28773b4
Test the mod/ref analysis in DSA.
...
llvm-svn: 12333
2004-03-12 06:17:22 +00:00