| Commit message (Collapse) | Author | Age | Files | Lines | ||
|---|---|---|---|---|---|---|
| ... | ||||||
| * | add a note about a way to improve this code further, that I won't be getting | Chris Lattner | 2005-09-27 | 1 | -0/+8 | |
| | | | | | | | to right now. llvm-svn: 23485 | |||||
| * | Fix a regression in my previous patch, fixing GlobalOpt/2005-09-27-Crash.ll | Chris Lattner | 2005-09-27 | 1 | -1/+1 | |
| | | | | | | | and PR632. llvm-svn: 23484 | |||||
| * | Testcase for PR632 | Chris Lattner | 2005-09-27 | 1 | -0/+28 | |
| | | | | | llvm-svn: 23483 | |||||
| * | Darwin, like many BSD systems, has a setjmp/longjmp which saves the signal mask | Chris Lattner | 2005-09-27 | 1 | -0/+3 | |
| | | | | | | | | | | on setjmp calls and restores it on longjmp calls (both of which require syscalls). This makes the calls REALLY slow. Use _setjmp/_longjmp instead. This speeds up hexxagon from 120.31s to 15.68s: from 5.53x slower than GCC to 28% faster than GCC. llvm-svn: 23482 | |||||
| * | If the target prefers it, use _setjmp/_longjmp should be used instead of ↵ | Chris Lattner | 2005-09-27 | 1 | -2/+6 | |
| | | | | | | | setjmp/longjmp for llvm.setjmp/llvm.longjmp. llvm-svn: 23481 | |||||
| * | initialize new flag | Chris Lattner | 2005-09-27 | 1 | -0/+1 | |
| | | | | | llvm-svn: 23480 | |||||
| * | Add a new flag for targets where setjmp/longjmp saves/restores the signal mask, | Chris Lattner | 2005-09-27 | 1 | -1/+18 | |
| | | | | | | | and _setjmp/_longjmp should be used instead (for llvm.setjmp/llvm.longjmp). llvm-svn: 23479 | |||||
| * | Avoid spilling stack slots... to stack slots. | Chris Lattner | 2005-09-27 | 1 | -0/+6 | |
| | | | | | llvm-svn: 23478 | |||||
| * | Completely rewrite 'correct' eh support. This changes how setjmp insertion | Chris Lattner | 2005-09-27 | 1 | -140/+301 | |
| | | | | | | | | | | | | | | | | | | is performed so it is only at most once per function that contains an invoke instead of once per invoke in the function. This patch has the following perks: 1. It fixes PR631, which complains about slowness. 2. If fixes PR240, which complains about non-volatile vars being live across setjmp/longjmps. 3. It improves (but does not fix) the jmpbuf alignment issue on itanium by not forcing the jmpbufs to always be 8-bytes off the alignment of the structure. 4. It speeds up 253.perlbmk from 338s to 13.70s (a 25x improvement!), making us now about 4% faster than GCC. Further improvements are also possible. llvm-svn: 23477 | |||||
| * | Make the pass name simpler | Chris Lattner | 2005-09-27 | 1 | -1/+1 | |
| | | | | | llvm-svn: 23476 | |||||
| * | fix CBackend/2005-09-27-VolatileFuncPtr.ll | Chris Lattner | 2005-09-27 | 1 | -4/+4 | |
| | | | | | llvm-svn: 23475 | |||||
| * | new testcase the CBE creates invalid C code for | Chris Lattner | 2005-09-27 | 1 | -0/+10 | |
| | | | | | llvm-svn: 23474 | |||||
| * | allow demotion to volatile values, add support for invoke | Chris Lattner | 2005-09-27 | 1 | -12/+15 | |
| | | | | | llvm-svn: 23473 | |||||
| * | allow demotion to volatile values | Chris Lattner | 2005-09-27 | 1 | -1/+1 | |
| | | | | | llvm-svn: 23472 | |||||
| * | Add a simple testcase for lowerinvoke | Chris Lattner | 2005-09-27 | 1 | -0/+28 | |
| | | | | | llvm-svn: 23471 | |||||
| * | Make sure to clear the CodeGenMap after each basic block is selected to avoid | Chris Lattner | 2005-09-27 | 1 | -0/+1 | |
| | | | | | | | cross MBB pollution. llvm-svn: 23470 | |||||
| * | Remove some redundancies. | Jim Laskey | 2005-09-27 | 1 | -10/+10 | |
| | | | | | llvm-svn: 23469 | |||||
| * | Make this slightly more efficient by pushing actual type information down | Chris Lattner | 2005-09-27 | 1 | -8/+11 | |
| | | | | | | | | into the evaluator. This shrinks a release build of instcombine's text section from 216363 to 215975 bytes (on PPC). llvm-svn: 23468 | |||||
| * | Split SimpleConstantVal up into its components, so each Constant subclass ↵ | Chris Lattner | 2005-09-27 | 1 | -10/+14 | |
| | | | | | | | | | | | getsa different enum value. This allows 'classof' for these to be really simple,not needing to call getType() anymore. This speeds up isa/dyncast/etc for constants, and also makes them smaller. For example, the text section of a release build of InstCombine.cpp shrinks from 230037 bytes to 216363 bytes, a 6% reduction. llvm-svn: 23467 | |||||
| * | Split SimpleConstantVal up into its components, so each Constant subclass gets | Chris Lattner | 2005-09-27 | 3 | -35/+32 | |
| | | | | | | | | | | | | a different enum value. This allows 'classof' for these to be really simple, not needing to call getType() anymore. This speeds up isa/dyncast/etc for constants, and also makes them smaller. For example, the text section of a release build of InstCombine.cpp shrinks from 230037 bytes to 216363 bytes, a 6% reduction. llvm-svn: 23466 | |||||
| * | Add support for external calls that we know how to constant fold. This ↵ | Chris Lattner | 2005-09-27 | 1 | -11/+20 | |
| | | | | | | | | | implements ctor-list-opt.ll:CTOR8 llvm-svn: 23465 | |||||
| * | add a new testcase for constant foldable calls | Chris Lattner | 2005-09-27 | 1 | -4/+10 | |
| | | | | | llvm-svn: 23464 | |||||
| * | Fix a bug where we would evaluate stores into linkonce objects which could be | Chris Lattner | 2005-09-27 | 1 | -1/+6 | |
| | | | | | | | potentially replaced at link-time. llvm-svn: 23463 | |||||
| * | Implement support for static constructors with calls in them. This is useful | Chris Lattner | 2005-09-27 | 1 | -23/+54 | |
| | | | | | | | | | because gccas runs globalopt before inlining. This implements ctor-list-opt.ll:CTOR7 llvm-svn: 23462 | |||||
| * | Add a more difficult testcase which uses a call to a helper function to do | Chris Lattner | 2005-09-27 | 1 | -1/+14 | |
| | | | | | | | the initialization llvm-svn: 23461 | |||||
| * | Refactor this code a bit, no functionality changes. | Chris Lattner | 2005-09-27 | 1 | -22/+40 | |
| | | | | | llvm-svn: 23460 | |||||
| * | Move the post-lsr simplify cfg pass after lowereh, so it can clean up after | Chris Lattner | 2005-09-27 | 1 | -2/+6 | |
| | | | | | | | eh lowering as well. llvm-svn: 23459 | |||||
| * | minor pattern shuffling | Chris Lattner | 2005-09-26 | 1 | -8/+3 | |
| | | | | | llvm-svn: 23458 | |||||
| * | memoize the assert results | Chris Lattner | 2005-09-26 | 1 | -2/+5 | |
| | | | | | llvm-svn: 23457 | |||||
| * | Emit the switch stmt cases in alphabetical order instead of pointer order, | Chris Lattner | 2005-09-26 | 1 | -4/+19 | |
| | | | | | | | which is not stable. llvm-svn: 23456 | |||||
| * | Addition of a simple two pass scheduler. This version is currently hacked up | Jim Laskey | 2005-09-26 | 1 | -80/+771 | |
| | | | | | | | | | for testing and will require target machine info to do a proper scheduling. The simple scheduler can be turned on using -sched=simple (defaults to -sched=none) llvm-svn: 23455 | |||||
| * | implement a fixme: only select values once, even if used multiple times. | Chris Lattner | 2005-09-26 | 1 | -5/+8 | |
| | | | | | llvm-svn: 23454 | |||||
| * | Remove some dead code. ctor evaluation subsumes empty ctor elim | Chris Lattner | 2005-09-26 | 1 | -12/+0 | |
| | | | | | llvm-svn: 23453 | |||||
| * | Add support for alloca, implementing ctor-list-opt.ll:CTOR6 | Chris Lattner | 2005-09-26 | 1 | -17/+48 | |
| | | | | | llvm-svn: 23452 | |||||
| * | Testcase that uses an alloca | Chris Lattner | 2005-09-26 | 1 | -1/+14 | |
| | | | | | llvm-svn: 23451 | |||||
| * | Add a debug printout, fix a crash on kc++ | Chris Lattner | 2005-09-26 | 1 | -1/+6 | |
| | | | | | llvm-svn: 23450 | |||||
| * | Implement loads/stores through GEP's of globals. This implements | Chris Lattner | 2005-09-26 | 1 | -6/+98 | |
| | | | | | | | ctor-list-opt.ll:CTOR5. llvm-svn: 23449 | |||||
| * | add another case, this one that uses getelementptr instructions | Chris Lattner | 2005-09-26 | 1 | -1/+13 | |
| | | | | | llvm-svn: 23448 | |||||
| * | Replace TraverseGEPInitializer with ConstantFoldLoadThroughGEPConstantExpr | Chris Lattner | 2005-09-26 | 1 | -17/+5 | |
| | | | | | llvm-svn: 23447 | |||||
| * | Eliminate GetGEPGlobalInitializer in favor of the more powerful | Chris Lattner | 2005-09-26 | 1 | -27/+1 | |
| | | | | | | | ConstantFoldLoadThroughGEPConstantExpr function in the utils lib. llvm-svn: 23446 | |||||
| * | Factor the GetGEPGlobalInitializer out of this pass and into Transforms/Utils | Chris Lattner | 2005-09-26 | 1 | -44/+2 | |
| | | | | | | | as ConstantFoldLoadThroughGEPConstantExpr. llvm-svn: 23445 | |||||
| * | Move the ConstantFoldLoadThroughGEPConstantExpr function out of the InstCombine | Chris Lattner | 2005-09-26 | 1 | -1/+45 | |
| | | | | | | | pass. llvm-svn: 23444 | |||||
| * | add a new function | Chris Lattner | 2005-09-26 | 1 | -0/+5 | |
| | | | | | llvm-svn: 23443 | |||||
| * | add a comment | Chris Lattner | 2005-09-26 | 1 | -0/+3 | |
| | | | | | llvm-svn: 23442 | |||||
| * | Add support for getelementptr, load, and correctly reject volatile stores. | Chris Lattner | 2005-09-26 | 1 | -0/+29 | |
| | | | | | llvm-svn: 23441 | |||||
| * | add a test for load | Chris Lattner | 2005-09-26 | 1 | -1/+10 | |
| | | | | | llvm-svn: 23440 | |||||
| * | Add support for br/brcond/switch and phi | Chris Lattner | 2005-09-26 | 1 | -3/+47 | |
| | | | | | llvm-svn: 23439 | |||||
| * | add another testcase with simple control flow | Chris Lattner | 2005-09-26 | 1 | -1/+15 | |
| | | | | | llvm-svn: 23438 | |||||
| * | Add a simple interpreter to this code, allowing us to statically evaluate | Chris Lattner | 2005-09-26 | 1 | -4/+110 | |
| | | | | | | | global ctors that are simple enough. This implements ctor-list-opt.ll:CTOR2. llvm-svn: 23437 | |||||
| * | make this harder: put some code into it | Chris Lattner | 2005-09-26 | 1 | -2/+19 | |
| | | | | | llvm-svn: 23436 | |||||

