1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 19:52:54 +01:00
Commit Graph

11070 Commits

Author SHA1 Message Date
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
Misha Brukman
6eb48bab7b Keep transitively-required passes alive for queries to work after the initial
user pass is destroyed.

llvm-svn: 12332
2004-03-12 06:16:28 +00:00
Misha Brukman
b5e89d17c2 Evaluate ModRef information in addition to regular ol' pointer analysis.
llvm-svn: 12331
2004-03-12 06:15:08 +00:00
Misha Brukman
ee27e80a0b Implement getModRefInfo() for DSA to calculate whether a function modifies or
references a pointer.

llvm-svn: 12330
2004-03-12 06:14:22 +00:00
Misha Brukman
50aeb0a322 Add AnalysisUsage::addRequiredTransitive() to keep analysis info alive for
future queries by clients.

llvm-svn: 12329
2004-03-12 06:13:15 +00:00
Chris Lattner
ea0c2b4e42 test instruction combiner opts for select instruction
llvm-svn: 12328
2004-03-12 06:01:00 +00:00
Chris Lattner
6bf4112131 Teach vim about the select instruction. Allow it to forget about the long-dead
not instruction.

llvm-svn: 12327
2004-03-12 05:55:07 +00:00
Chris Lattner
ac0217ede2 Teach emacs about the select instruction
llvm-svn: 12326
2004-03-12 05:54:48 +00:00
Chris Lattner
b53ea9f895 Add support for checking the select instruction
llvm-svn: 12325
2004-03-12 05:54:31 +00:00
Chris Lattner
a5cc2410f3 Know the opcode name of the select instruction
llvm-svn: 12324
2004-03-12 05:54:20 +00:00
Chris Lattner
c84ec93d3e Add support for select constant expressions. Use reserve a bit more to avoid
memory wasteage.

llvm-svn: 12323
2004-03-12 05:54:04 +00:00
Chris Lattner
9ca4f0776f Add new function
llvm-svn: 12322
2004-03-12 05:53:41 +00:00
Chris Lattner
f0a39f27e0 Teach the constant folder how to do select instructions
llvm-svn: 12321
2004-03-12 05:53:32 +00:00
Chris Lattner
aa815619b4 Print select instructions correctly
llvm-svn: 12320
2004-03-12 05:53:14 +00:00