aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Transforms
Commit message (Expand)AuthorAgeFilesLines
* Fix comment.Benjamin Kramer2011-04-011-2/+2
* Tweaks to the icmp+sext-to-shifts optimization to address Frits' comments:Benjamin Kramer2011-04-011-6/+6
* Fix build.Benjamin Kramer2011-04-011-1/+2
* InstCombine: Turn icmp + sext into bitwise/integer ops when the input has onl...Benjamin Kramer2011-04-011-0/+50
* InstCombine: Move (sext icmp) transforms into their own method. No intended f...Benjamin Kramer2011-04-012-37/+43
* Instcombile optimization: extractelement(cast) -> cast(extractelement)Nadav Rotem2011-03-311-1/+9
* InstCombine: APFloat can't perform arithmetic on PPC double doubles, don't ev...Benjamin Kramer2011-03-311-2/+4
* InstCombine: Fix transform to use the swapped predicate.Benjamin Kramer2011-03-311-2/+2
* InstCombine: fold fcmp (fneg x), (fneg y) -> fcmp x, yBenjamin Kramer2011-03-311-0/+5
* InstCombine: fold fcmp pred (fneg x), C -> fcmp swap(pred) x, -CBenjamin Kramer2011-03-311-0/+8
* InstCombine: Shrink "fcmp (fpext x), C" to "fcmp x, C" if C can be losslessly...Benjamin Kramer2011-03-311-0/+34
* InstCombine: fold fcmp (fpext x), (fpext y) -> fcmp x, y.Benjamin Kramer2011-03-311-0/+7
* * The DSE code that tested for overlapping needed to take into account the factBill Wendling2011-03-301-1/+3
* InstCombine: If the divisor of an fdiv has an exact inverse, turn it into an ...Benjamin Kramer2011-03-301-0/+12
* Remove PHINode::reserveOperandSpace(). Instead, add a parameter toJay Foad2011-03-3025-62/+44
* (Almost) always call reserveOperandSpace() on newly created PHINodes.Jay Foad2011-03-3019-15/+38
* InstCombine: Add a few missing combines for ANDs and ORs of sign bit tests.Benjamin Kramer2011-03-291-0/+24
* DSE: Remove an early exit optimization that depended on the ordering of a Sma...Benjamin Kramer2011-03-291-13/+0
* Do some simple copy propagation through integer loads and stores when promotingCameron Zwarich2011-03-291-9/+14
* Remove tabs I accidentally added.Nick Lewycky2011-03-281-15/+15
* Make more use of PHINode::getNumIncomingValues().Jay Foad2011-03-282-5/+5
* Add some debug output when -instcombine uses RAUW. This can make debug output...Frits van Bommel2011-03-271-1/+4
* Teach the transformation that moves binary operators around selects to preserveNick Lewycky2011-03-271-8/+22
* Use APInt's umul_ov instead of rolling our own overflow detection.Benjamin Kramer2011-03-271-5/+6
* Add a small missed optimization: turn X == C ? X : Y into X == C ? C : Y. ThisNick Lewycky2011-03-271-0/+13
* Simplification noticed by Frits.Bill Wendling2011-03-261-3/+2
* Rework the logic that determines if a store completely overlaps an ealier store.Bill Wendling2011-03-261-15/+23
* Fix a typo and add a test.Cameron Zwarich2011-03-261-1/+1
* PR9561: A store with a negative offset (via GEP) could erroniously say that itBill Wendling2011-03-261-0/+2
* No functionality change, just adjust some whitespace for coding style complia...Nick Lewycky2011-03-251-2/+2
* Debug intrinsics must be skipped at the beginning and ends of blocks, lest theyCameron Zwarich2011-03-241-2/+6
* It is enough for the CallInst to have no uses to be made a tail call with a retCameron Zwarich2011-03-241-1/+1
* s/UpdateDT/ModifiedDT/gDevang Patel2011-03-241-8/+8
* Do early taildup of ret in CodeGenPrepare for potential tail calls that have aCameron Zwarich2011-03-241-17/+37
* Use an early return instead of a long if block.Cameron Zwarich2011-03-241-51/+51
* When UpdateDT is set, DT is invalid, which could cause problems when trying toCameron Zwarich2011-03-241-2/+3
* Check for TLI so that -codegenprepare can be used from opt.Cameron Zwarich2011-03-241-0/+3
* Fix PR9464 by correcting some math that just happened to be right in most casesCameron Zwarich2011-03-231-11/+10
* Handle another case that Frits suggested.Anders Carlsson2011-03-221-2/+4
* Simplify.Devang Patel2011-03-211-5/+4
* More cleanups to the OptimizeEmptyGlobalCXXDtors GlobalOpt function.Anders Carlsson2011-03-211-15/+9
* As suggested by Nick Lewycky, ignore debugging intrinsics when trying to deci...Anders Carlsson2011-03-211-0/+7
* Fix commentsNick Lewycky2011-03-211-2/+2
* Re-apply r127953 with fixes: eliminate empty return block if it has no predec...Evan Cheng2011-03-211-10/+122
* Don't try to eliminate invokes to __cxa_atexit.Anders Carlsson2011-03-201-0/+6
* Don't segfault on mutual recursion, as pointed out by Frits.Anders Carlsson2011-03-201-4/+6
* Address comments from Frits van Bommel.Anders Carlsson2011-03-201-7/+16
* Add an optimization to GlobalOpt that eliminates calls to __cxa_atexit, if th...Anders Carlsson2011-03-201-0/+101
* Revert r127953, "SimplifyCFG has stopped duplicating returns into predecessorsDaniel Dunbar2011-03-191-99/+4
* SimplifyCFG has stopped duplicating returns into predecessors to canonicalize IREvan Cheng2011-03-191-4/+99