aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Transforms/Utils/SimplifyCFG.cpp
AgeCommit message (Expand)AuthorFilesLines
2010-12-18simplify this a bit.Chris Lattner1-2/+1
2010-12-17SimplifyCFG: Ranges can be larger than 64 bits. Fixes Release-selfhost build.Benjamin Kramer1-1/+1
2010-12-17improve switch formation to handle small range Chris Lattner1-2/+25
2010-12-15make qsort predicate more conformant by returning 0 for equal values.Chris Lattner1-1/+5
2010-12-14 - Insert new instructions before DomBlock's terminator,Chris Lattner1-7/+16
2010-12-14fix two significant issues with FoldTwoEntryPHINode:Chris Lattner1-1/+11
2010-12-14remove the instsimplify logic I added in r121754. It is apparentlyChris Lattner1-11/+1
2010-12-14clean up logic, convert std::set to SmallPtrSet, handle the caseChris Lattner1-56/+61
2010-12-14tidy up a bit, move DEBUG down to when we commit to doing the transform so we Chris Lattner1-7/+5
2010-12-14use SimplifyInstruction instead of reimplementing part of it.Chris Lattner1-10/+7
2010-12-14simplify GetIfCondition by using getSinglePredecessor.Chris Lattner1-28/+24
2010-12-14use AddPredecessorToBlock in 3 places instead of a manual loop.Chris Lattner1-18/+6
2010-12-14make FoldTwoEntryPHINode use instsimplify a bit, makeChris Lattner1-12/+21
2010-12-14improve DEBUG's a bit, switch to eraseFromParent() to simplifyChris Lattner1-26/+28
2010-12-14reapply my recent change that disables a piece of the switch formationChris Lattner1-5/+13
2010-12-13Fix recent buildbot breakage by pulling SimplifyCFG back to its state as of r...Owen Anderson1-14/+6
2010-12-13temporarily disable part of my previous patch, which causes an iterator inval...Chris Lattner1-1/+1
2010-12-13add some DEBUG's.Chris Lattner1-3/+8
2010-12-13Fix sort predicate. qsort(3)'s predicate semantics differ from std::sort's. F...Benjamin Kramer1-1/+1
2010-12-13reinstate my patch: the miscompile was caused by an inverted branch in theChris Lattner1-3/+6
2010-12-13Completely disable the optimization I added in r121680 untilChris Lattner1-3/+6
2010-12-13Make simplifycfg reprocess newly formed "br (cond1 | cond2)" conditionsChris Lattner1-5/+12
2010-12-13make this logic a bit simpler.Chris Lattner1-21/+20
2010-12-13split all the guts of SimplifyCFGOpt::run out into one functionChris Lattner1-374/+441
2010-12-13fix a bug in r121680 that upset the various buildbots.Chris Lattner1-0/+7
2010-12-13refactor the speculative execution logic to be factored into the cond branch ...Chris Lattner1-26/+22
2010-12-13simplify a bunch of code.Chris Lattner1-15/+4
2010-12-13move HoistThenElseCodeToIf up to a more logical and efficient-to-handle place.Chris Lattner1-7/+11
2010-12-13move 'MergeBlocksIntoPredecessor' call earlier. UseChris Lattner1-20/+9
2010-12-13factor new code out to a SimplifyBranchOnICmpChain helper function.Chris Lattner1-77/+91
2010-12-13enhance the "change or icmp's into switch" xform to handle one value in an Chris Lattner1-3/+45
2010-12-13merge two very similar functions into one that has a bool argument.Chris Lattner1-47/+26
2010-12-13don't bother handling non-canonical icmp'sChris Lattner1-11/+9
2010-12-13inline a function, making the result much simpler.Chris Lattner1-27/+11
2010-12-13Fix my previous patch to handle a degenerate case that the llvm-gccChris Lattner1-0/+16
2010-12-13convert some methods to be static functionsChris Lattner1-25/+23
2010-12-13zap two more std::sorts.Chris Lattner1-2/+2
2010-12-13fix a fairly serious oversight with switch formation fromChris Lattner1-1/+97
2010-12-13convert an std::sort to array_pod_sort.Chris Lattner1-2/+8
2010-12-13move the "br (X == 0 | X == 1), T, F" -> switch optimization to a newChris Lattner1-57/+56
2010-12-13reduce indentation and generally simplify code, no functionality change.Chris Lattner1-333/+309
2010-12-13use getFirstNonPHIOrDbg to simplify this code.Chris Lattner1-9/+5
2010-12-05Teach SimplifyCFG to turnFrits van Bommel1-2/+72
2010-10-24Fix PR8445: a block with no predecessors may be the entry block, in which caseDuncan Sands1-12/+10
2010-08-16Instead, teach SimplifyCFG to trim non-address-taken blocks fromDan Gohman1-2/+3
2010-08-14Teach SimplifyCFG how to simplify indirectbr instructions.Dan Gohman1-13/+40
2010-07-22pass dereferenced iterator to dyn_castGabor Greif1-1/+1
2010-07-15Remove unneeded check, and correct style.Owen Anderson1-3/+2
2010-07-14Extend SimplifyCFG's common-destination folding heuristic to allow a singleOwen Anderson1-5/+67
2010-07-12cache dereferenced iteratorsGabor Greif1-4/+6