aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Analysis
Commit message (Expand)AuthorAgeFilesLines
* Teach instsimplify how to simplify comparisons of pointers which areChandler Carruth2012-03-251-1/+45
* Switch the pointer-difference simplification logic to only work withChandler Carruth2012-03-251-1/+1
* Try to harden the recursive simplification still further. This is againChandler Carruth2012-03-241-7/+8
* Don't add the instruction about to be RAUW'ed and erased to theChandler Carruth2012-03-241-2/+4
* Refactor the interface to recursively simplifying instructions to be tadChandler Carruth2012-03-241-47/+71
* Take out the debug info probe stuff. It's making some changes toEric Christopher2012-03-231-21/+2
* Cleanup IVUsers::addUsersIfInteresting.Andrew Trick2012-03-221-12/+15
* Teach instsimplify to gracefully degrade in the presence of instructionsChandler Carruth2012-03-211-0/+6
* LSR: teach isSimplifiedLoopNest to handle PHI IVUsers.Andrew Trick2012-03-201-1/+8
* LSR: fix IVUsers isSimplifiedLoopNest to perform a full domtree walkAndrew Trick2012-03-201-19/+23
* Factor out the multiply analysis code in ComputeMaskedBits and apply it to theNick Lewycky2012-03-181-62/+76
* Start removing the use of an ad-hoc 'never inline' set and insteadChandler Carruth2012-03-161-8/+4
* Pull the implementation of the code metrics out of the inline costChandler Carruth2012-03-163-158/+177
* LSR fix: Add isSimplifiedLoopNest to IVUsers analysis.Andrew Trick2012-03-161-5/+41
* Do the right thing on NULL uint64 fields.Eric Christopher2012-03-161-1/+1
* Type sizes and fields offsets inside structs are unsigned. This is a highlyDuncan Sands2012-03-151-4/+2
* Make the swap code here a bit more obvious what its doing... We'reChandler Carruth2012-03-151-1/+1
* Don't assume that the arguments are processed in some particular order.Chandler Carruth2012-03-151-2/+4
* Remove all remnants of partial specialization in the cost computationChandler Carruth2012-03-151-69/+0
* Extend the inline cost calculation to account for bonuses due toChandler Carruth2012-03-141-3/+86
* Refactor the inline cost bonus calculation for constants to useChandler Carruth2012-03-141-20/+26
* enhance jump threading to preserve TBAA information when PRE'ing loads,Chris Lattner2012-03-131-3/+13
* Generalize the "trunc(ptrtoint(x)) - trunc(ptrtoint(y)) ->Duncan Sands2012-03-131-14/+34
* Uniformize the InstructionSimplify interface by ensuring that all routinesDuncan Sands2012-03-132-337/+278
* Fix regression from r151466: an we can't replace uses of an instruction reach...Eli Friedman2012-03-131-3/+7
* Address some review comments from Duncan. This moves the iterativeChandler Carruth2012-03-131-32/+23
* Teach instsimplify how to constant fold pointer differences.Chandler Carruth2012-03-121-0/+122
* llvm::SwitchInstStepan Dyatkovskiy2012-03-111-1/+1
* Make helper static, so it can be inlined into its sole caller.Benjamin Kramer2012-03-101-3/+3
* As Duncan pointed out, pointers tend not to be in floating point format...for...Bill Wendling2012-03-101-6/+6
* Make this transformation slightly less agressive and more correct.Bill Wendling2012-03-101-8/+18
* Refactor some methods to look through bitcasts and GEPs on pointers intoChandler Carruth2012-03-101-25/+3
* Factor out the analysis of addition and subtraction in ComputeMaskedBits. ReuseNick Lewycky2012-03-091-83/+123
* Undo a previous restriction on the inline cost calculation which NickChandler Carruth2012-03-091-107/+146
* Taken into account Duncan's comments for r149481 dated by 2nd Feb 2012:Stepan Dyatkovskiy2012-03-082-6/+6
* Rotate two of the functions used to count bonuses for the inline costChandler Carruth2012-03-081-14/+10
* No functionality change. Type::isSized() can be expensive, so avoid calling itNick Lewycky2012-03-071-8/+10
* A few more cases of missing masking in ComputeMaskedBits; found by inspection.Eli Friedman2012-03-051-3/+3
* Make sure we don't return bits outside the mask in ComputeMaskedBits. PR12189.Eli Friedman2012-03-051-2/+2
* LVI: Recognize the form instcombine canonicalizes range checks into when form...Benjamin Kramer2012-03-021-4/+16
* Duncan pointed out that if the alignment isn't explicitly specified, it defau...Eli Friedman2012-02-271-4/+4
* Teach BasicAA about the LLVM IR rules that allow reading past the end of an o...Eli Friedman2012-02-271-9/+26
* Fix this assert. IP can point to an instruction with strange dominanceRafael Espindola2012-02-271-15/+20
* Don't call dominates on unreachable instructions. Should fix the dragoneggRafael Espindola2012-02-261-2/+6
* And update the comment...Rafael Espindola2012-02-261-1/+0
* Enable the assert that got all this dominator work started.Rafael Espindola2012-02-261-1/+1
* Change the implementation of dominates(inst, inst) to one based on what theRafael Espindola2012-02-261-6/+5
* Reinstate the optimization from r151449 with a fix to not turn 'gep %x' intoNick Lewycky2012-02-261-11/+51
* Don't call dominates on unreachable instructions.Rafael Espindola2012-02-261-1/+2
* Roll these back to r151448 until I figure out how they're breakingNick Lewycky2012-02-251-42/+10