oota-llvm.git
20 years agoRefactor to use a new method
Chris Lattner [Sun, 14 Mar 2004 21:17:22 +0000 (21:17 +0000)]
Refactor to use a new method

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12395 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAdd new method
Chris Lattner [Sun, 14 Mar 2004 21:17:03 +0000 (21:17 +0000)]
Add new method

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12394 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoRefactor and clean up a bunch more code. No major functionality changes.
Chris Lattner [Sun, 14 Mar 2004 20:50:42 +0000 (20:50 +0000)]
Refactor and clean up a bunch more code.  No major functionality changes.
 * Make several methods of bugdriver global functions (ParseInputFile, PrintFunctionList)
 * Make PrintFunctionList truncate the output after 10 entries, like the crash debugger
   did.  This allows code sharing.
 * Add a couple of methods to BugDriver that allows us to eliminate some friends
 * Improve comments in ExtractFunction.cpp
 * Make classes that used to be friends up bugdriver now live in anon namespaces
 * Rip a bunch of functionality in the miscompilation tester into a new
   TestMergedProgram function for future code sharing.
 * Fix a bug in the miscompilation tester induced in my last checkin

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12393 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAnother API change to MRegisterInfo::foldMemoryOperand. Instead of a
Alkis Evlogimenos [Sun, 14 Mar 2004 20:14:27 +0000 (20:14 +0000)]
Another API change to MRegisterInfo::foldMemoryOperand. Instead of a
MachineBasicBlock::iterator take a MachineInstr*.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12392 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAdd a method to extract a loop
Chris Lattner [Sun, 14 Mar 2004 20:02:07 +0000 (20:02 +0000)]
Add a method to extract a loop

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12391 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoSplit into two passes. Now there is the general loop extractor, usable on
Chris Lattner [Sun, 14 Mar 2004 20:01:36 +0000 (20:01 +0000)]
Split into two passes.  Now there is the general loop extractor, usable on
the command line, and the single loop extractor, usable by bugpoint

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12390 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoRename createLoopExtractorPass to createSingleLoopExtractorPass
Chris Lattner [Sun, 14 Mar 2004 20:00:37 +0000 (20:00 +0000)]
Rename createLoopExtractorPass to createSingleLoopExtractorPass
Doxygenify

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12389 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoadd a fixme
Chris Lattner [Sun, 14 Mar 2004 19:31:00 +0000 (19:31 +0000)]
add a fixme

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12388 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoRefactor all of the "splitting a module into two pieces" code to avoid
Chris Lattner [Sun, 14 Mar 2004 19:27:19 +0000 (19:27 +0000)]
Refactor all of the "splitting a module into two pieces" code to avoid
code duplication.  Also, don't use ReduceMiscompilingFunctions::TestFuncs
to print out the final message.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12387 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoChange MRegisterInfo::foldMemoryOperand to return the folded
Alkis Evlogimenos [Sun, 14 Mar 2004 07:19:51 +0000 (07:19 +0000)]
Change MRegisterInfo::foldMemoryOperand to return the folded
instruction to make the API more flexible.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12386 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoPasses don't print stuff!
Chris Lattner [Sun, 14 Mar 2004 04:17:53 +0000 (04:17 +0000)]
Passes don't print stuff!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12385 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoDo not create empty basic blocks when the lowerswitch pass expects blocks to
Chris Lattner [Sun, 14 Mar 2004 04:14:31 +0000 (04:14 +0000)]
Do not create empty basic blocks when the lowerswitch pass expects blocks to
be non-empty!  This fixes LowerSwitch/2004-03-13-SwitchIsDefaultCrash.ll

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12384 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoNew testcase that crashes the -lowerswitch pass
Chris Lattner [Sun, 14 Mar 2004 04:13:57 +0000 (04:13 +0000)]
New testcase that crashes the -lowerswitch pass

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12383 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoMinor random cleanups
Chris Lattner [Sun, 14 Mar 2004 04:01:47 +0000 (04:01 +0000)]
Minor random cleanups

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12382 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoFunctionPass's should not define their own 'run' method.
Chris Lattner [Sun, 14 Mar 2004 04:01:06 +0000 (04:01 +0000)]
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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12381 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoIf a block is dead, dominators will not be calculated for it. Because of this
Chris Lattner [Sun, 14 Mar 2004 03:59:22 +0000 (03:59 +0000)]
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12380 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoCatch some more cases of broken code. The loop extractor seems to be creating
Chris Lattner [Sun, 14 Mar 2004 03:23:54 +0000 (03:23 +0000)]
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12379 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoVerify functions as they are produced if -debug is specified. Reduce
Chris Lattner [Sun, 14 Mar 2004 03:17:22 +0000 (03:17 +0000)]
Verify functions as they are produced if -debug is specified.  Reduce
curly braceage

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12378 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoverifyFunction has been broken for a long time now. Fix it.
Chris Lattner [Sun, 14 Mar 2004 03:16:15 +0000 (03:16 +0000)]
verifyFunction has been broken for a long time now.  Fix it.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12377 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoNew testcase that crashes the loop extractor
Chris Lattner [Sun, 14 Mar 2004 03:03:59 +0000 (03:03 +0000)]
New testcase that crashes the loop extractor

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12376 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoMove prototype to IPO.h instead of Scalar.h
Chris Lattner [Sun, 14 Mar 2004 02:37:16 +0000 (02:37 +0000)]
Move prototype to IPO.h instead of Scalar.h
Make sure that the file interface header (IPO.h) is included first
remove dead #incldue

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12375 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoMove loop extractor to the IPO header
Chris Lattner [Sun, 14 Mar 2004 02:36:34 +0000 (02:36 +0000)]
Move loop extractor to the IPO header

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12374 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoIndent anon namespace properly, add copyright block
Chris Lattner [Sun, 14 Mar 2004 02:34:07 +0000 (02:34 +0000)]
Indent anon namespace properly, add copyright block

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12373 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoMove to the IPO library. Utils shouldn't contain passes.
Chris Lattner [Sun, 14 Mar 2004 02:32:27 +0000 (02:32 +0000)]
Move to the IPO library.  Utils shouldn't contain passes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12372 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoRemove dead file
Chris Lattner [Sun, 14 Mar 2004 02:13:57 +0000 (02:13 +0000)]
Remove dead file

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12371 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoDemoteRegToStack got moved from DemoteRegToStack.h to Local.h
Chris Lattner [Sun, 14 Mar 2004 02:13:38 +0000 (02:13 +0000)]
DemoteRegToStack got moved from DemoteRegToStack.h to Local.h

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12368 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoMove DemoteRegToStack prototype out of DemoteRegToStack.h to this file.
Chris Lattner [Sun, 14 Mar 2004 02:13:07 +0000 (02:13 +0000)]
Move DemoteRegToStack prototype out of DemoteRegToStack.h to this file.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12367 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoDocument stuff that is known to be broken
Chris Lattner [Sun, 14 Mar 2004 02:03:02 +0000 (02:03 +0000)]
Document stuff that is known to be broken

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12366 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAdd some debugging output
Chris Lattner [Sat, 13 Mar 2004 23:54:27 +0000 (23:54 +0000)]
Add some debugging output
Fix InstCombine/2004-03-13-InstCombineInfLoop.ll which caused an infinite
loop compiling (I think) povray.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12365 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoNew testcase, distilled from povray I think.
Chris Lattner [Sat, 13 Mar 2004 23:53:04 +0000 (23:53 +0000)]
New testcase, distilled from povray I think.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12364 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoThis change makes two big adjustments.
Chris Lattner [Sat, 13 Mar 2004 23:15:45 +0000 (23:15 +0000)]
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12363 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoThis little patch speeds up the loop used to update the dominator set analysis.
Chris Lattner [Sat, 13 Mar 2004 22:01:26 +0000 (22:01 +0000)]
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12362 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoTurn on argument promotion in gccas. This can give us substantially better
Chris Lattner [Sat, 13 Mar 2004 21:38:35 +0000 (21:38 +0000)]
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12361 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoOption no more
Chris Lattner [Sat, 13 Mar 2004 19:36:30 +0000 (19:36 +0000)]
Option no more

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12360 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoFix the "infinite looping unless you disable adce" bug
Chris Lattner [Sat, 13 Mar 2004 19:35:54 +0000 (19:35 +0000)]
Fix the "infinite looping unless you disable adce" bug
Also remove an option to disable adce :)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12359 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoFix a tiny bug that caused an incorrect assertion failure poolallocating
Chris Lattner [Sat, 13 Mar 2004 01:14:23 +0000 (01:14 +0000)]
Fix a tiny bug that caused an incorrect assertion failure poolallocating
boxed-sim.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12358 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoIt helps if I save the file. :)
Chris Lattner [Sat, 13 Mar 2004 00:24:52 +0000 (00:24 +0000)]
It helps if I save the file.  :)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12357 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoRename the intrinsic enum values for llvm.va_* from Intrinsic::va_* to
Chris Lattner [Sat, 13 Mar 2004 00:24:00 +0000 (00:24 +0000)]
Rename the intrinsic enum values for llvm.va_* from Intrinsic::va_* to
Intrinsic::va*.  This avoid conflicting with macros in the stdlib.h file.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12356 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoImplement sub.ll:test14
Chris Lattner [Sat, 13 Mar 2004 00:11:49 +0000 (00:11 +0000)]
Implement sub.ll:test14

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12355 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoOh right, casts can interfere. Test this too
Chris Lattner [Sat, 13 Mar 2004 00:11:38 +0000 (00:11 +0000)]
Oh right, casts can interfere.  Test this too

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12354 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoImplement InstCombine/sub.ll:test12 & test13
Chris Lattner [Fri, 12 Mar 2004 23:53:13 +0000 (23:53 +0000)]
Implement InstCombine/sub.ll:test12 & test13

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12353 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agonew testcases
Chris Lattner [Fri, 12 Mar 2004 23:52:51 +0000 (23:52 +0000)]
new testcases

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12352 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoFix a couple of minor problems. Because PHI nodes can use themselves, this
Chris Lattner [Fri, 12 Mar 2004 23:12:55 +0000 (23:12 +0000)]
Fix a couple of minor problems.  Because PHI nodes can use themselves, this
could cause infinite loops.  Also, getUnderlyingObject can return null

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12351 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoPerformed some updates on the new options to these command line tools.
John Criswell [Fri, 12 Mar 2004 22:45:35 +0000 (22:45 +0000)]
Performed some updates on the new options to these command line tools.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12350 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoImplement mod/ref analysis for a trivial case where locals don't escape.
Chris Lattner [Fri, 12 Mar 2004 22:39:00 +0000 (22:39 +0000)]
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12349 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agonew testcase
Chris Lattner [Fri, 12 Mar 2004 22:38:31 +0000 (22:38 +0000)]
new testcase

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12348 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoRevise comment and error message for the Bug 38 situation. Also, make it
Brian Gaeke [Fri, 12 Mar 2004 21:37:46 +0000 (21:37 +0000)]
Revise comment and error message for the Bug 38 situation.  Also, make it
print out the name of the function being used.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12347 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoFixed grammar typo.
John Criswell [Fri, 12 Mar 2004 21:29:42 +0000 (21:29 +0000)]
Fixed grammar typo.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12345 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoMake -print-machineinstrs show us the code both before and after reg. alloc.
Brian Gaeke [Fri, 12 Mar 2004 21:19:08 +0000 (21:19 +0000)]
Make -print-machineinstrs show us the code both before and after reg. alloc.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12344 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoFixed grammar typo.
John Criswell [Fri, 12 Mar 2004 21:19:06 +0000 (21:19 +0000)]
Fixed grammar typo.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12343 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAdded minor information on C++.
John Criswell [Fri, 12 Mar 2004 20:42:16 +0000 (20:42 +0000)]
Added minor information on C++.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12341 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoUpdated to LLVM 1.2.
John Criswell [Fri, 12 Mar 2004 20:31:37 +0000 (20:31 +0000)]
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12340 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoFix PR266: Make Module Not Inherit From Annotable
Chris Lattner [Fri, 12 Mar 2004 19:51:16 +0000 (19:51 +0000)]
Fix PR266: Make Module Not Inherit From Annotable

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12339 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoPoint to the new license (includes year 2004).
John Criswell [Fri, 12 Mar 2004 18:20:15 +0000 (18:20 +0000)]
Point to the new license (includes year 2004).
Changed crtend.o to libcrtend.a.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12338 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAdded a header indicating that the Linux and MacOS configure procedures are
John Criswell [Fri, 12 Mar 2004 18:02:17 +0000 (18:02 +0000)]
Added a header indicating that the Linux and MacOS configure procedures are
the same.

Added LLVM copyright and warranty disclaimer information.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12337 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAdd support for a wider range of CMOV instructions.
Alkis Evlogimenos [Fri, 12 Mar 2004 17:59:56 +0000 (17:59 +0000)]
Add support for a wider range of CMOV instructions.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12336 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoUpdated copyright to year 2004.
John Criswell [Fri, 12 Mar 2004 17:29:20 +0000 (17:29 +0000)]
Updated copyright to year 2004.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12335 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoSimplify code to process CallSites (thanks to Chris).
Misha Brukman [Fri, 12 Mar 2004 16:20:49 +0000 (16:20 +0000)]
Simplify code to process CallSites (thanks to Chris).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12334 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoTest the mod/ref analysis in DSA.
Misha Brukman [Fri, 12 Mar 2004 06:17:22 +0000 (06:17 +0000)]
Test the mod/ref analysis in DSA.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12333 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoKeep transitively-required passes alive for queries to work after the initial
Misha Brukman [Fri, 12 Mar 2004 06:16:28 +0000 (06:16 +0000)]
Keep transitively-required passes alive for queries to work after the initial
user pass is destroyed.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12332 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoEvaluate ModRef information in addition to regular ol' pointer analysis.
Misha Brukman [Fri, 12 Mar 2004 06:15:08 +0000 (06:15 +0000)]
Evaluate ModRef information in addition to regular ol' pointer analysis.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12331 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoImplement getModRefInfo() for DSA to calculate whether a function modifies or
Misha Brukman [Fri, 12 Mar 2004 06:14:22 +0000 (06:14 +0000)]
Implement getModRefInfo() for DSA to calculate whether a function modifies or
references a pointer.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12330 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAdd AnalysisUsage::addRequiredTransitive() to keep analysis info alive for
Misha Brukman [Fri, 12 Mar 2004 06:13:15 +0000 (06:13 +0000)]
Add AnalysisUsage::addRequiredTransitive() to keep analysis info alive for
future queries by clients.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12329 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agotest instruction combiner opts for select instruction
Chris Lattner [Fri, 12 Mar 2004 06:01:00 +0000 (06:01 +0000)]
test instruction combiner opts for select instruction

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12328 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoTeach vim about the select instruction. Allow it to forget about the long-dead
Chris Lattner [Fri, 12 Mar 2004 05:55:07 +0000 (05:55 +0000)]
Teach vim about the select instruction.   Allow it to forget about the long-dead
not instruction.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12327 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoTeach emacs about the select instruction
Chris Lattner [Fri, 12 Mar 2004 05:54:48 +0000 (05:54 +0000)]
Teach emacs about the select instruction

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12326 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAdd support for checking the select instruction
Chris Lattner [Fri, 12 Mar 2004 05:54:31 +0000 (05:54 +0000)]
Add support for checking the select instruction

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12325 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoKnow the opcode name of the select instruction
Chris Lattner [Fri, 12 Mar 2004 05:54:20 +0000 (05:54 +0000)]
Know the opcode name of the select instruction

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12324 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAdd support for select constant expressions. Use reserve a bit more to avoid
Chris Lattner [Fri, 12 Mar 2004 05:54:04 +0000 (05:54 +0000)]
Add support for select constant expressions.  Use reserve a bit more to avoid
memory wasteage.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12323 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAdd new function
Chris Lattner [Fri, 12 Mar 2004 05:53:41 +0000 (05:53 +0000)]
Add new function

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12322 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoTeach the constant folder how to do select instructions
Chris Lattner [Fri, 12 Mar 2004 05:53:32 +0000 (05:53 +0000)]
Teach the constant folder how to do select instructions

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12321 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoPrint select instructions correctly
Chris Lattner [Fri, 12 Mar 2004 05:53:14 +0000 (05:53 +0000)]
Print select instructions correctly

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12320 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAdd constant folding wrapper support for select instructions.
Chris Lattner [Fri, 12 Mar 2004 05:53:03 +0000 (05:53 +0000)]
Add constant folding wrapper support for select instructions.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12319 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAdd sccp support for select instructions
Chris Lattner [Fri, 12 Mar 2004 05:52:44 +0000 (05:52 +0000)]
Add sccp support for select instructions

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12318 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAdd trivial optimizations for select instructions
Chris Lattner [Fri, 12 Mar 2004 05:52:32 +0000 (05:52 +0000)]
Add trivial optimizations for select instructions

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12317 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoADd support for select instructions
Chris Lattner [Fri, 12 Mar 2004 05:52:14 +0000 (05:52 +0000)]
ADd support for select instructions

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12316 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoWrite select instructions to bytecode
Chris Lattner [Fri, 12 Mar 2004 05:52:01 +0000 (05:52 +0000)]
Write select instructions to bytecode

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12315 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoRead select instrs from bytecode
Chris Lattner [Fri, 12 Mar 2004 05:51:49 +0000 (05:51 +0000)]
Read select instrs from bytecode

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12314 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAllow parsing select instruction and constant expr
Chris Lattner [Fri, 12 Mar 2004 05:51:36 +0000 (05:51 +0000)]
Allow parsing select instruction and constant expr

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12313 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAdd the visitSelectInst visitor method
Chris Lattner [Fri, 12 Mar 2004 05:51:22 +0000 (05:51 +0000)]
Add the visitSelectInst visitor method

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12312 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAdd the SelectInst class
Chris Lattner [Fri, 12 Mar 2004 05:51:05 +0000 (05:51 +0000)]
Add the SelectInst class

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12311 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAdd the Instruction::Select enum
Chris Lattner [Fri, 12 Mar 2004 05:50:53 +0000 (05:50 +0000)]
Add the Instruction::Select enum

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12310 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAdd support for select constant exprs
Chris Lattner [Fri, 12 Mar 2004 05:50:39 +0000 (05:50 +0000)]
Add support for select constant exprs

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12309 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoThis is no longer an open project
Chris Lattner [Fri, 12 Mar 2004 05:50:24 +0000 (05:50 +0000)]
This is no longer an open project

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12308 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoCleanup the cast section, add the select instruction
Chris Lattner [Fri, 12 Mar 2004 05:50:16 +0000 (05:50 +0000)]
Cleanup the cast section, add the select instruction

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12307 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoNew testcase
Chris Lattner [Fri, 12 Mar 2004 05:50:02 +0000 (05:50 +0000)]
New testcase

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12306 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoMake code more readable.
Misha Brukman [Fri, 12 Mar 2004 00:58:41 +0000 (00:58 +0000)]
Make code more readable.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12305 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoFix indentation.
Misha Brukman [Thu, 11 Mar 2004 23:53:51 +0000 (23:53 +0000)]
Fix indentation.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12298 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoMove implementations of functions here, which avoids #including <cstdlib> in the
Misha Brukman [Thu, 11 Mar 2004 23:52:43 +0000 (23:52 +0000)]
Move implementations of functions here, which avoids #including <cstdlib> in the
header file and all those who #include it.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12297 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoMove function implementations to a .cpp file, avoid #including <cstdlib> here.
Misha Brukman [Thu, 11 Mar 2004 23:52:03 +0000 (23:52 +0000)]
Move function implementations to a .cpp file, avoid #including <cstdlib> here.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12296 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoForward-declare templates for fix compilation when Argument.h is included first.
Misha Brukman [Thu, 11 Mar 2004 23:42:24 +0000 (23:42 +0000)]
Forward-declare templates for fix compilation when Argument.h is included first.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12295 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoDoxygenified and cleand up comments.
Misha Brukman [Thu, 11 Mar 2004 23:08:20 +0000 (23:08 +0000)]
Doxygenified and cleand up comments.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12294 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoMiscellaneous additions are a separate section.
Misha Brukman [Thu, 11 Mar 2004 21:26:29 +0000 (21:26 +0000)]
Miscellaneous additions are a separate section.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12293 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoMake sure libcrtend.a gets installed when you make install-bytecode.
Brian Gaeke [Thu, 11 Mar 2004 20:55:23 +0000 (20:55 +0000)]
Make sure libcrtend.a gets installed when you make install-bytecode.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12292 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoGet rid of the abort in PhyRegAlloc::finishSavingState().
Brian Gaeke [Thu, 11 Mar 2004 19:46:30 +0000 (19:46 +0000)]
Get rid of the abort in PhyRegAlloc::finishSavingState().

Make an explicit call to it from runOnFunction() if we know we're supposed to
write into the global. This is lame (esp. the const_cast), but it solves
the problem.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12291 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoGive pass a name
Brian Gaeke [Thu, 11 Mar 2004 19:23:15 +0000 (19:23 +0000)]
Give pass a name

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12290 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoFix compilation on Sparc: assert(0) => abort()
Misha Brukman [Thu, 11 Mar 2004 19:08:24 +0000 (19:08 +0000)]
Fix compilation on Sparc: assert(0) => abort()

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12289 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoSparcV8 removed until it grows up becomes a mature backend.
Misha Brukman [Thu, 11 Mar 2004 18:16:33 +0000 (18:16 +0000)]
SparcV8 removed until it grows up becomes a mature backend.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12288 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoFix spelling.
Alkis Evlogimenos [Thu, 11 Mar 2004 10:14:21 +0000 (10:14 +0000)]
Fix spelling.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12287 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoIn PhyRegAlloc::saveState(), dump Arguments' saved-state, and try to
Brian Gaeke [Thu, 11 Mar 2004 06:45:52 +0000 (06:45 +0000)]
In PhyRegAlloc::saveState(), dump Arguments' saved-state, and try to
make the output more compact.

Divorce state-saving from the doFinalization method; for some reason it's not
getting called when I want it to, at Reoptimizer time. Put the guts in
PhyRegAlloc::finishSavingState(). Put an abort() in it so that I can be really
really sure that it's getting called.

Update comments.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12286 91177308-0d34-0410-b5e6-96231b3b80d8