aboutsummaryrefslogtreecommitdiff
path: root/lib/Transforms/Utils/SimplifyCFG.cpp
AgeCommit message (Expand)Author
2011-03-15PR9450: Make switch optimization in SimplifyCFG not dependent on the orderingEli Friedman
2011-03-09PR9420; an instruction before an unreachable is guaranteed not to have anyEli Friedman
2011-02-28Teach SimplifyCFG that (switch (select cond, X, Y)) is better expressed as a ...Frits van Bommel
2011-02-25Revert "SimplifyCFG: GEPs with just one non-constant index are also cheap."Benjamin Kramer
2011-02-24SimplifyCFG: GEPs with just one non-constant index are also cheap.Benjamin Kramer
2011-02-24SimplifyCFG: GEPs with constant indices are cheap enough to be executed uncon...Benjamin Kramer
2011-02-07SimplifyCFG: Track the number of used icmps when turning a icmp chain into a ...Benjamin Kramer
2011-02-03SimplifyCFG: Also transform switches that represent a range comparison but ar...Benjamin Kramer
2011-02-02SimplifyCFG: Turn switches into sub+icmp+branch if possible.Benjamin Kramer
2011-01-29Re-apply r124518 with fix. Watch out for invalidated iterator.Evan Cheng
2011-01-29Revert r124518. It broke Linux self-host.Evan Cheng
2011-01-29Re-commit r124462 with fixes. Tail recursion elim will now dup ret into uncon...Evan Cheng
2011-01-28Revert r124462. There are a few big regressions that I need to fix first.Evan Cheng
2011-01-28- Stop simplifycfg from duplicating "ret" instructions into unconditionalEvan Cheng
2011-01-11Factor the actual simplification out of SimplifyIndirectBrOnSelect and into a...Frits van Bommel
2010-12-18simplify this a bit.Chris Lattner
2010-12-17SimplifyCFG: Ranges can be larger than 64 bits. Fixes Release-selfhost build.Benjamin Kramer
2010-12-17improve switch formation to handle small range Chris Lattner
2010-12-15make qsort predicate more conformant by returning 0 for equal values.Chris Lattner
2010-12-14 - Insert new instructions before DomBlock's terminator,Chris Lattner
2010-12-14fix two significant issues with FoldTwoEntryPHINode:Chris Lattner
2010-12-14remove the instsimplify logic I added in r121754. It is apparentlyChris Lattner
2010-12-14clean up logic, convert std::set to SmallPtrSet, handle the caseChris Lattner
2010-12-14tidy up a bit, move DEBUG down to when we commit to doing the transform so we Chris Lattner
2010-12-14use SimplifyInstruction instead of reimplementing part of it.Chris Lattner
2010-12-14simplify GetIfCondition by using getSinglePredecessor.Chris Lattner
2010-12-14use AddPredecessorToBlock in 3 places instead of a manual loop.Chris Lattner
2010-12-14make FoldTwoEntryPHINode use instsimplify a bit, makeChris Lattner
2010-12-14improve DEBUG's a bit, switch to eraseFromParent() to simplifyChris Lattner
2010-12-14reapply my recent change that disables a piece of the switch formationChris Lattner
2010-12-13Fix recent buildbot breakage by pulling SimplifyCFG back to its state as of r...Owen Anderson
2010-12-13temporarily disable part of my previous patch, which causes an iterator inval...Chris Lattner
2010-12-13add some DEBUG's.Chris Lattner
2010-12-13Fix sort predicate. qsort(3)'s predicate semantics differ from std::sort's. F...Benjamin Kramer
2010-12-13reinstate my patch: the miscompile was caused by an inverted branch in theChris Lattner
2010-12-13Completely disable the optimization I added in r121680 untilChris Lattner
2010-12-13Make simplifycfg reprocess newly formed "br (cond1 | cond2)" conditionsChris Lattner
2010-12-13make this logic a bit simpler.Chris Lattner
2010-12-13split all the guts of SimplifyCFGOpt::run out into one functionChris Lattner
2010-12-13fix a bug in r121680 that upset the various buildbots.Chris Lattner
2010-12-13refactor the speculative execution logic to be factored into the cond branch ...Chris Lattner
2010-12-13simplify a bunch of code.Chris Lattner
2010-12-13move HoistThenElseCodeToIf up to a more logical and efficient-to-handle place.Chris Lattner
2010-12-13move 'MergeBlocksIntoPredecessor' call earlier. UseChris Lattner
2010-12-13factor new code out to a SimplifyBranchOnICmpChain helper function.Chris Lattner
2010-12-13enhance the "change or icmp's into switch" xform to handle one value in an Chris Lattner
2010-12-13merge two very similar functions into one that has a bool argument.Chris Lattner
2010-12-13don't bother handling non-canonical icmp'sChris Lattner
2010-12-13inline a function, making the result much simpler.Chris Lattner
2010-12-13Fix my previous patch to handle a degenerate case that the llvm-gccChris Lattner