| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | Constant fold llvm.sqrt | Chris Lattner | 2005-09-28 | 1 | -1/+9 |
| | | | | | llvm-svn: 23487 | ||||
| * | allow demotion to volatile values, add support for invoke | Chris Lattner | 2005-09-27 | 1 | -12/+15 |
| | | | | | llvm-svn: 23473 | ||||
| * | Move the ConstantFoldLoadThroughGEPConstantExpr function out of the InstCombine | Chris Lattner | 2005-09-26 | 1 | -1/+45 |
| | | | | | | | pass. llvm-svn: 23444 | ||||
| * | remove some debugging code | Chris Lattner | 2005-09-23 | 1 | -1/+0 |
| | | | | | llvm-svn: 23411 | ||||
| * | Fold two consequtive branches that share a common destination between them. | Chris Lattner | 2005-09-23 | 1 | -33/+119 |
| | | | | | | | | This implements SimplifyCFG/branch-fold.ll, and is useful on ?:/min/max heavy code llvm-svn: 23410 | ||||
| * | simplify some logic further | Chris Lattner | 2005-09-23 | 1 | -6/+1 |
| | | | | | llvm-svn: 23408 | ||||
| * | pull a bunch of logic out of SimplifyCFG into a helper fn | Chris Lattner | 2005-09-23 | 1 | -112/+112 |
| | | | | | llvm-svn: 23407 | ||||
| * | Start threading across blocks with code in them, so long as the code does | Chris Lattner | 2005-09-20 | 1 | -15/+64 |
| | | | | | | | | | | not define a value that is used outside of it's block. This catches many more simplifications, e.g. 854 in 176.gcc, 137 in vpr, etc. This implements branch-phi-thread.ll:test3.ll llvm-svn: 23397 | ||||
| * | Implement merging of blocks with the same condition if the block has multiple | Chris Lattner | 2005-09-20 | 1 | -21/+59 |
| | | | | | | | predecessors. This implements branch-phi-thread.ll::test1 llvm-svn: 23395 | ||||
| * | Reject a case we don't handle yet | Chris Lattner | 2005-09-19 | 1 | -1/+3 |
| | | | | | llvm-svn: 23393 | ||||
| * | remove debugging code :-/ | Chris Lattner | 2005-09-19 | 1 | -2/+0 |
| | | | | | llvm-svn: 23392 | ||||
| * | Implement SimplifyCFG/branch-phi-thread.ll, the most trivial case of threading | Chris Lattner | 2005-09-19 | 1 | -0/+73 |
| | | | | | | | | control across branches with determined outcomes. More generality to follow. This triggers a couple thousand times in specint. llvm-svn: 23391 | ||||
| * | Teach SplitCriticalEdge to update LoopInfo if it is alive. This fixes | Chris Lattner | 2005-08-13 | 1 | -0/+31 |
| | | | | | | | | a problem in LoopStrengthReduction, where it would split critical edges then confused itself with outdated loop information. llvm-svn: 22776 | ||||
| * | Change break critical edges to not remove, then insert, PHI node entries. | Chris Lattner | 2005-08-12 | 1 | -2/+2 |
| | | | | | | | | Instead, just update the BB in-place. This is both faster, and it prevents split-critical-edges from shuffling the PHI argument list unneccesarily. llvm-svn: 22765 | ||||
| * | This code can handle non-dominating instructions | Chris Lattner | 2005-08-05 | 1 | -1/+1 |
| | | | | | llvm-svn: 22667 | ||||
| * | Fix a fixme in CondPropagate.cpp by moving a PhiNode optimization into | Nate Begeman | 2005-08-04 | 2 | -36/+1 |
| | | | | | | | | | BasicBlock's removePredecessor routine. This requires shuffling around the definition and implementation of hasContantValue from Utils.h,cpp into Instructions.h,cpp llvm-svn: 22664 | ||||
| * | Fix Transforms/SimplifyCFG/2005-08-03-PHIFactorCrash.ll, a problem that | Chris Lattner | 2005-08-03 | 1 | -2/+3 |
| | | | | | | | occurred while bugpointing another testcase llvm-svn: 22621 | ||||
| * | Finally, add the required constraint checks to fix ↵ | Chris Lattner | 2005-08-03 | 1 | -2/+29 |
| | | | | | | | | | Transforms/SimplifyCFG/2005-08-01-PHIUpdateFail.ll the right way llvm-svn: 22615 | ||||
| * | Simplify some code, add the correct pred checks | Chris Lattner | 2005-08-03 | 1 | -16/+25 |
| | | | | | llvm-svn: 22613 | ||||
| * | Refactor code out of PropagatePredecessorsForPHIs, turning it into a pure ↵ | Chris Lattner | 2005-08-03 | 1 | -37/+36 |
| | | | | | | | function with no side-effects llvm-svn: 22612 | ||||
| * | use splice instead of remove/insert to avoid some symtab operations | Chris Lattner | 2005-08-03 | 1 | -2/+2 |
| | | | | | llvm-svn: 22611 | ||||
| * | move two functions up in the file, use SafeToMergeTerminators to eliminate | Chris Lattner | 2005-08-03 | 1 | -61/+45 |
| | | | | | | | some duplicated code llvm-svn: 22610 | ||||
| * | Rip some code out of the main SimplifyCFG function into a subfunction and | Chris Lattner | 2005-08-03 | 1 | -78/+72 |
| | | | | | | | call it from the only place it is live. No functionality changes. llvm-svn: 22609 | ||||
| * | Disable this patch: | Chris Lattner | 2005-08-02 | 1 | -1/+1 |
| | | | | | | | | | | http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20050801/027345.html This breaks real programs and only fixes an obscure regression testcase. A real fix is in development. llvm-svn: 22606 | ||||
| * | Change a place to use an arbitrary value instead of null, when possible | Chris Lattner | 2005-08-02 | 1 | -3/+3 |
| | | | | | llvm-svn: 22605 | ||||
| * | This code was very close, but not quite right. It did not take into | Chris Lattner | 2005-08-02 | 1 | -3/+10 |
| | | | | | | | | | consideration the case where a reference in an unreachable block could occur. This fixes Transforms/SimplifyCFG/2005-08-01-PHIUpdateFail.ll, something I ran into while bugpoint'ing another pass. llvm-svn: 22584 | ||||
| * | Eliminate all remaining tabs and trailing spaces. | Jeff Cohen | 2005-07-27 | 4 | -6/+6 |
| | | | | | llvm-svn: 22523 | ||||
| * | Fix PR590 and Transforms/Mem2Reg/2005-06-30-ReadBeforeWrite.ll. | Chris Lattner | 2005-06-30 | 1 | -19/+65 |
| | | | | | | | | | The optimization for locally used allocas was not safe for allocas that were read before they were written. This change disables that optimization in that case. llvm-svn: 22318 | ||||
| * | prevent DCE of vaarg intrinsics. This should take care of most regressions | Andrew Lenharth | 2005-06-19 | 1 | -2/+0 |
| | | | | | llvm-svn: 22263 | ||||
| * | Don't crash on: X = phi (X, X). | Chris Lattner | 2005-06-17 | 1 | -6/+9 |
| | | | | | | | This fixes PR584 and Transforms/SimplifyCFG/2005-06-16-PHICrash.ll llvm-svn: 22232 | ||||
| * | Fix Transforms/SimplifyCFG/switch-simplify-crash.ll | Chris Lattner | 2005-05-20 | 1 | -0/+7 |
| | | | | | llvm-svn: 22158 | ||||
| * | Make sure to preserve the calling convention when changing an invoke into | Chris Lattner | 2005-05-14 | 1 | -0/+2 |
| | | | | | | | | a call. This fixes Prolangs-C++/deriv2, kimwitu++, and Misc-C++/bigfib on X86 with -enable-x86-fastcc. llvm-svn: 22023 | ||||
| * | wrap long lines, preserve calling conventions when cloning functions and | Chris Lattner | 2005-05-09 | 2 | -6/+14 |
| | | | | | | | turning calls into invokes llvm-svn: 21797 | ||||
| * | BAD typeo which caused many testsuite failures last night. Note to self, do | Chris Lattner | 2005-05-06 | 1 | -1/+1 |
| | | | | | | | not change code after testing it without retesting! llvm-svn: 21741 | ||||
| * | Implement Transforms/Inline/inline-tail.ll | Chris Lattner | 2005-05-06 | 1 | -1/+16 |
| | | | | | llvm-svn: 21736 | ||||
| * | DCE intrinsic instructions without side effects. | Chris Lattner | 2005-05-06 | 1 | -1/+20 |
| | | | | | llvm-svn: 21719 | ||||
| * | Remove optimizations that don't require both operands to be constant. These | Reid Spencer | 2005-04-29 | 1 | -10/+0 |
| | | | | | | | are moved to simplify-libcalls pass. llvm-svn: 21614 | ||||
| * | * Add constant folding for additional floating point library calls such as | Reid Spencer | 2005-04-28 | 1 | -26/+90 |
| | | | | | | | | | sinh, cosh, etc. * Make the name comparisons for the fp libcalls a little more efficient by switching on the first character of the name before doing comparisons. llvm-svn: 21611 | ||||
| * | Eliminate tabs and trailing spaces | Jeff Cohen | 2005-04-23 | 1 | -10/+10 |
| | | | | | llvm-svn: 21480 | ||||
| * | Remove trailing whitespace | Misha Brukman | 2005-04-21 | 14 | -151/+151 |
| | | | | | llvm-svn: 21427 | ||||
| * | Improve doxygen documentation, patch contributed by Evan Jones! | Chris Lattner | 2005-04-21 | 1 | -17/+17 |
| | | | | | llvm-svn: 21393 | ||||
| * | Teach simplifycfg that setcc is cheap and non-trapping, so that it can | Chris Lattner | 2005-04-21 | 1 | -0/+6 |
| | | | | | | | | | | | | | | | | | | | | | | | | convert this: %tmp.1 = seteq int %i, 0 ; <bool> [#uses=1] br bool %tmp.1, label %shortcirc_done, label %shortcirc_next shortcirc_next: ; preds = %entry %tmp.4 = seteq int %j, 0 ; <bool> [#uses=1] br label %shortcirc_done shortcirc_done: ; preds = %shortcirc_next, %entry %shortcirc_val = phi bool [ %tmp.4, %shortcirc_next ], [ true, %entry ] ; <bool> [#uses=1] to this: %tmp.1 = seteq int %i, 0 ; <bool> [#uses=1] %tmp.4 = seteq int %j, 0 ; <bool> [#uses=1] %shortcirc_val = select bool %tmp.1, bool true, bool %tmp.4 ; <bool> [#uses=1] ... which is later simplified by instcombine into an or. llvm-svn: 21388 | ||||
| * | Get rid of this for_each loop | Chris Lattner | 2005-04-12 | 1 | -2/+2 |
| | | | | | llvm-svn: 21253 | ||||
| * | Fix the missing symbols problem Bill was hitting. Patch contributed by | Chris Lattner | 2005-03-17 | 2 | -0/+2 |
| | | | | | | | Bill Wendling!! llvm-svn: 20649 | ||||
| * | This mega patch converts us from using Function::a{iterator|begin|end} to | Chris Lattner | 2005-03-15 | 4 | -15/+15 |
| | | | | | | | | | using Function::arg_{iterator|begin|end}. Likewise Module::g* -> Module::global_*. This patch is contributed by Gabor Greif, thanks! llvm-svn: 20597 | ||||
| * | second argument to Value::setName is now gone. | Chris Lattner | 2005-03-05 | 1 | -3/+3 |
| | | | | | llvm-svn: 20463 | ||||
| * | Fix spelling, patch contributed by Gabor Greif! | Chris Lattner | 2005-02-27 | 1 | -1/+1 |
| | | | | | llvm-svn: 20343 | ||||
| * | remove extraneous cast | Chris Lattner | 2005-02-26 | 1 | -2/+1 |
| | | | | | llvm-svn: 20334 | ||||
| * | Implement Transforms/SimplifyCFG/switch_thread.ll | Chris Lattner | 2005-02-24 | 1 | -4/+190 |
| | | | | | | | | | This does a simple form of "jump threading", which eliminates CFG edges that are provably dead. This triggers 90 times in the external tests, and eliminating CFG edges is always always a good thing! :) llvm-svn: 20300 | ||||
| * | switchinst ctor now takes a hint for the number of cases that it will have. | Chris Lattner | 2005-01-29 | 2 | -3/+3 |
| | | | | | llvm-svn: 19898 | ||||

