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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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