| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | Simplify the code a bit by making the collection of basic blocks to extract | Chris Lattner | 2004-03-14 | 1 | -57/+39 |
| | | | | | | | | a member of the class. While we're at it, turn the collection into a set instead of a vector to improve efficiency and make queries simpler. llvm-svn: 12400 | ||||
| * | Another API change to MRegisterInfo::foldMemoryOperand. Instead of a | Alkis Evlogimenos | 2004-03-14 | 2 | -5/+4 |
| | | | | | | | MachineBasicBlock::iterator take a MachineInstr*. llvm-svn: 12392 | ||||
| * | Split into two passes. Now there is the general loop extractor, usable on | Chris Lattner | 2004-03-14 | 1 | -6/+24 |
| | | | | | | | the command line, and the single loop extractor, usable by bugpoint llvm-svn: 12390 | ||||
| * | Change MRegisterInfo::foldMemoryOperand to return the folded | Alkis Evlogimenos | 2004-03-14 | 4 | -182/+178 |
| | | | | | | | instruction to make the API more flexible. llvm-svn: 12386 | ||||
| * | Passes don't print stuff! | Chris Lattner | 2004-03-14 | 1 | -2/+0 |
| | | | | | llvm-svn: 12385 | ||||
| * | Do not create empty basic blocks when the lowerswitch pass expects blocks to | Chris Lattner | 2004-03-14 | 1 | -5/+2 |
| | | | | | | | be non-empty! This fixes LowerSwitch/2004-03-13-SwitchIsDefaultCrash.ll llvm-svn: 12384 | ||||
| * | Minor random cleanups | Chris Lattner | 2004-03-14 | 1 | -9/+7 |
| | | | | | llvm-svn: 12382 | ||||
| * | FunctionPass's should not define their own 'run' method. | Chris Lattner | 2004-03-14 | 1 | -8/+2 |
| | | | | | | | | Require 'simplified' loops, not just raw natural loops. This fixes CodeExtractor/2004-03-13-LoopExtractorCrash.ll llvm-svn: 12381 | ||||
| * | If a block is dead, dominators will not be calculated for it. Because of this | Chris Lattner | 2004-03-14 | 1 | -2/+33 |
| | | | | | | | | | 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 | ||||
| * | Catch some more cases of broken code. The loop extractor seems to be creating | Chris Lattner | 2004-03-14 | 1 | -3/+8 |
| | | | | | | | situations where there is a branch that goes to a block in another function. llvm-svn: 12379 | ||||
| * | Verify functions as they are produced if -debug is specified. Reduce | Chris Lattner | 2004-03-14 | 1 | -6/+5 |
| | | | | | | | curly braceage llvm-svn: 12378 | ||||
| * | verifyFunction has been broken for a long time now. Fix it. | Chris Lattner | 2004-03-14 | 1 | -12/+8 |
| | | | | | llvm-svn: 12377 | ||||
| * | Move prototype to IPO.h instead of Scalar.h | Chris Lattner | 2004-03-14 | 1 | -3/+2 |
| | | | | | | | | Make sure that the file interface header (IPO.h) is included first remove dead #incldue llvm-svn: 12375 | ||||
| * | Indent anon namespace properly, add copyright block | Chris Lattner | 2004-03-14 | 1 | -19/+20 |
| | | | | | llvm-svn: 12373 | ||||
| * | Move to the IPO library. Utils shouldn't contain passes. | Chris Lattner | 2004-03-14 | 1 | -0/+0 |
| | | | | | llvm-svn: 12372 | ||||
| * | DemoteRegToStack got moved from DemoteRegToStack.h to Local.h | Chris Lattner | 2004-03-14 | 3 | -6/+6 |
| | | | | | llvm-svn: 12368 | ||||
| * | Add some debugging output | Chris Lattner | 2004-03-13 | 1 | -1/+8 |
| | | | | | | | | Fix InstCombine/2004-03-13-InstCombineInfLoop.ll which caused an infinite loop compiling (I think) povray. llvm-svn: 12365 | ||||
| * | This change makes two big adjustments. | Chris Lattner | 2004-03-13 | 1 | -11/+49 |
| | | | | | | | | | | | * 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 | ||||
| * | This little patch speeds up the loop used to update the dominator set analysis. | Chris Lattner | 2004-03-13 | 1 | -17/+18 |
| | | | | | | | | | | | | | | 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 | ||||
| * | Fix a tiny bug that caused an incorrect assertion failure poolallocating | Chris Lattner | 2004-03-13 | 1 | -4/+6 |
| | | | | | | | boxed-sim. llvm-svn: 12358 | ||||
| * | It helps if I save the file. :) | Chris Lattner | 2004-03-13 | 1 | -3/+3 |
| | | | | | llvm-svn: 12357 | ||||
| * | Rename the intrinsic enum values for llvm.va_* from Intrinsic::va_* to | Chris Lattner | 2004-03-13 | 8 | -32/+27 |
| | | | | | | | Intrinsic::va*. This avoid conflicting with macros in the stdlib.h file. llvm-svn: 12356 | ||||
| * | Implement sub.ll:test14 | Chris Lattner | 2004-03-13 | 1 | -8/+29 |
| | | | | | llvm-svn: 12355 | ||||
| * | Implement InstCombine/sub.ll:test12 & test13 | Chris Lattner | 2004-03-12 | 1 | -0/+36 |
| | | | | | llvm-svn: 12353 | ||||
| * | Fix a couple of minor problems. Because PHI nodes can use themselves, this | Chris Lattner | 2004-03-12 | 1 | -4/+1 |
| | | | | | | | could cause infinite loops. Also, getUnderlyingObject can return null llvm-svn: 12351 | ||||
| * | Implement mod/ref analysis for a trivial case where locals don't escape. | Chris Lattner | 2004-03-12 | 1 | -0/+52 |
| | | | | | | | | This comes up when you have a local array on the stack and you never pass the address of elements around. llvm-svn: 12349 | ||||
| * | Make -print-machineinstrs show us the code both before and after reg. alloc. | Brian Gaeke | 2004-03-12 | 1 | -1/+4 |
| | | | | | llvm-svn: 12344 | ||||
| * | Add support for a wider range of CMOV instructions. | Alkis Evlogimenos | 2004-03-12 | 1 | -2/+54 |
| | | | | | llvm-svn: 12336 | ||||
| * | Simplify code to process CallSites (thanks to Chris). | Misha Brukman | 2004-03-12 | 1 | -4/+2 |
| | | | | | llvm-svn: 12334 | ||||
| * | Keep transitively-required passes alive for queries to work after the initial | Misha Brukman | 2004-03-12 | 1 | -1/+10 |
| | | | | | | | user pass is destroyed. llvm-svn: 12332 | ||||
| * | Evaluate ModRef information in addition to regular ol' pointer analysis. | Misha Brukman | 2004-03-12 | 1 | -24/+93 |
| | | | | | llvm-svn: 12331 | ||||
| * | Implement getModRefInfo() for DSA to calculate whether a function modifies or | Misha Brukman | 2004-03-12 | 1 | -5/+39 |
| | | | | | | | references a pointer. llvm-svn: 12330 | ||||
| * | Add support for checking the select instruction | Chris Lattner | 2004-03-12 | 1 | -0/+11 |
| | | | | | llvm-svn: 12325 | ||||
| * | Know the opcode name of the select instruction | Chris Lattner | 2004-03-12 | 1 | -0/+1 |
| | | | | | llvm-svn: 12324 | ||||
| * | Add support for select constant expressions. Use reserve a bit more to avoid | Chris Lattner | 2004-03-12 | 1 | -0/+35 |
| | | | | | | | memory wasteage. llvm-svn: 12323 | ||||
| * | Add new function | Chris Lattner | 2004-03-12 | 1 | -0/+3 |
| | | | | | llvm-svn: 12322 | ||||
| * | Teach the constant folder how to do select instructions | Chris Lattner | 2004-03-12 | 1 | -0/+11 |
| | | | | | llvm-svn: 12321 | ||||
| * | Print select instructions correctly | Chris Lattner | 2004-03-12 | 1 | -2/+3 |
| | | | | | llvm-svn: 12320 | ||||
| * | Add constant folding wrapper support for select instructions. | Chris Lattner | 2004-03-12 | 1 | -0/+4 |
| | | | | | llvm-svn: 12319 | ||||
| * | Add sccp support for select instructions | Chris Lattner | 2004-03-12 | 1 | -0/+23 |
| | | | | | llvm-svn: 12318 | ||||
| * | Add trivial optimizations for select instructions | Chris Lattner | 2004-03-12 | 1 | -0/+15 |
| | | | | | llvm-svn: 12317 | ||||
| * | ADd support for select instructions | Chris Lattner | 2004-03-12 | 1 | -0/+12 |
| | | | | | llvm-svn: 12316 | ||||
| * | Write select instructions to bytecode | Chris Lattner | 2004-03-12 | 1 | -1/+2 |
| | | | | | llvm-svn: 12315 | ||||
| * | Read select instrs from bytecode | Chris Lattner | 2004-03-12 | 1 | -0/+5 |
| | | | | | llvm-svn: 12314 | ||||
| * | Allow parsing select instruction and constant expr | Chris Lattner | 2004-03-12 | 2 | -1/+16 |
| | | | | | llvm-svn: 12313 | ||||
| * | Make code more readable. | Misha Brukman | 2004-03-12 | 1 | -35/+31 |
| | | | | | llvm-svn: 12305 | ||||
| * | Fix indentation. | Misha Brukman | 2004-03-11 | 1 | -2/+2 |
| | | | | | llvm-svn: 12298 | ||||
| * | Move implementations of functions here, which avoids #including <cstdlib> in the | Misha Brukman | 2004-03-11 | 1 | -0/+86 |
| | | | | | | | header file and all those who #include it. llvm-svn: 12297 | ||||
| * | Get rid of the abort in PhyRegAlloc::finishSavingState(). | Brian Gaeke | 2004-03-11 | 1 | -5/+6 |
| | | | | | | | | | 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. llvm-svn: 12291 | ||||
| * | Give pass a name | Brian Gaeke | 2004-03-11 | 1 | -0/+1 |
| | | | | | llvm-svn: 12290 | ||||

