aboutsummaryrefslogtreecommitdiffstats
path: root/include/llvm/Analysis
Commit message (Collapse)AuthorAgeFilesLines
...
* Split out the code for finding a unique loop predecessor fromDan Gohman2010-06-221-7/+21
| | | | | | | | getLoopPreheader into a separate function, for clients which don't require a proper preheader. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106543 91177308-0d34-0410-b5e6-96231b3b80d8
* Factor out duplicated code for reusing and inserting casts intoDan Gohman2010-06-191-0/+8
| | | | | | | a helper function. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106388 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert r106304 (105548 and friends), which are the SCEVComplexityCompareDan Gohman2010-06-182-39/+26
| | | | | | | optimizations. There is still some nondeterminism remaining. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106306 91177308-0d34-0410-b5e6-96231b3b80d8
* Reapply 105540, 105542, and 105548, and revert r105732.Dan Gohman2010-06-182-26/+39
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106304 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't bother calling releaseMemory before destroying the DominatorTreeBase.Dan Gohman2010-06-181-1/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106287 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove getIntegerSCEV; it's redundant with getConstant, and getConstantDan Gohman2010-06-181-4/+0
| | | | | | | is more consistent with the ConstantInt API. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106281 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert r106117, which was the result of me misreading the C++98/03Douglas Gregor2010-06-161-1/+1
| | | | | | | specification. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106162 91177308-0d34-0410-b5e6-96231b3b80d8
* Eliminate a redundant "typename" keywordDouglas Gregor2010-06-161-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106117 91177308-0d34-0410-b5e6-96231b3b80d8
* Support for nested functions/classes in debug output. (Again.) Radar 7424645.Stuart Hastings2010-06-111-1/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105828 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert 105540, 105542, 105544, 105546, and 105548 to unbreak bootstrapping.Evan Cheng2010-06-092-39/+26
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105740 91177308-0d34-0410-b5e6-96231b3b80d8
* Pulled CodeMetrics out of InlineCost.h and made it a bit more general, so it ↵Kenneth Uildriks2010-06-092-40/+77
| | | | | | can be reused from PartialSpecializationCost git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105725 91177308-0d34-0410-b5e6-96231b3b80d8
* The FoldingSet hash data includes pointer values, so it isn'tDan Gohman2010-06-072-29/+39
| | | | | | | | determinstic. Instead, give SCEV objects an arbitrary sequence number. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105548 91177308-0d34-0410-b5e6-96231b3b80d8
* Optimize ScalarEvolution's SCEVComplexityCompare predicate: don't goDan Gohman2010-06-071-0/+3
| | | | | | | | | | | | scrounging through SCEVUnknown contents and SCEVNAryExpr operands; instead just do a simple deterministic comparison of the precomputed hash data. Also, since this is more precise, it eliminates the need for the slow N^2 duplicate detection code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105540 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert 105492 & 105493 due to a testcase regression. Radar 7424645.Stuart Hastings2010-06-051-5/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105511 91177308-0d34-0410-b5e6-96231b3b80d8
* LSR needs to remember inserted instructions even in postinc mode, becauseDan Gohman2010-06-051-1/+6
| | | | | | | | there could be multiple subexpressions within a single expansion which require insert point adjustment. This fixes PR7306. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105510 91177308-0d34-0410-b5e6-96231b3b80d8
* Support for nested functions/classes in debug output. Radar 7424645.Stuart Hastings2010-06-041-1/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105492 91177308-0d34-0410-b5e6-96231b3b80d8
* Move FindAvailableLoadedValue isSafeToLoadUnconditionally out ofDan Gohman2010-05-281-0/+51
| | | | | | | | lib/Transforms/Utils and into lib/Analysis so that Analysis passes can use them. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104949 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a comment.Dan Gohman2010-05-281-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104947 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix Lint printing warnings multiple times. Remove the ErrorStrDan Gohman2010-05-261-2/+1
| | | | | | | | option from lintModule, which was an artifact from being based on Verifier code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104765 91177308-0d34-0410-b5e6-96231b3b80d8
* Rename variable. add comment.Devang Patel2010-05-201-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104274 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support to preserve type info for the variables that are removed by the ↵Devang Patel2010-05-141-1/+1
| | | | | | optimizer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103798 91177308-0d34-0410-b5e6-96231b3b80d8
* Clear CachedFunctionInfo upon Pass::releaseMemory. Because ValueMap will abortNick Lewycky2010-05-121-0/+3
| | | | | | | | | | | on RAUW of functions, this is a correctness issue instead of a mere memory usage problem. No testcase until the new MergeFunctions can land. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103653 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove DIGlobal.Devang Patel2010-05-071-37/+19
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103325 91177308-0d34-0410-b5e6-96231b3b80d8
* Add DINameSpace::Verify().Devang Patel2010-05-071-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103318 91177308-0d34-0410-b5e6-96231b3b80d8
* Clang is dying on this with an ambiguous conversion sequence. We're working ↵Douglas Gregor2010-05-071-1/+0
| | | | | | on it git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103312 91177308-0d34-0410-b5e6-96231b3b80d8
* Verify variable directly.Devang Patel2010-05-071-3/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103305 91177308-0d34-0410-b5e6-96231b3b80d8
* Wrap const MDNode * inside DIDescriptor.Devang Patel2010-05-071-25/+26
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103295 91177308-0d34-0410-b5e6-96231b3b80d8
* remove DIDescriptor::getNode()Devang Patel2010-05-071-2/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103278 91177308-0d34-0410-b5e6-96231b3b80d8
* Avoid DIDescriptor::getNode(). Use overloaded operators instead.Devang Patel2010-05-071-2/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103272 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a simple module-level debug info printer. It just sets up aDan Gohman2010-05-071-0/+3
| | | | | | | DebugInfoFinder and iterates over all the contents calling print. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103262 91177308-0d34-0410-b5e6-96231b3b80d8
* Const-ify some stuff.Dan Gohman2010-05-071-14/+14
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103256 91177308-0d34-0410-b5e6-96231b3b80d8
* Convert the DebugInfo classes dump() methods into print(raw_ostream &)Dan Gohman2010-05-071-10/+43
| | | | | | | methods, and add dump functions implemented in terms of the print. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103254 91177308-0d34-0410-b5e6-96231b3b80d8
* Added a variant of InlineCostAnalyzer::getInlineCost() that takes the called ↵David Chisnall2010-05-011-0/+8
| | | | | | function as an explicit argument, for use when inlining function pointers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102841 91177308-0d34-0410-b5e6-96231b3b80d8
* Attach AT_APPLE_optimized attribute to optimized function's debug info.Devang Patel2010-04-301-1/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102743 91177308-0d34-0410-b5e6-96231b3b80d8
* Add some comments.Dan Gohman2010-04-301-1/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102731 91177308-0d34-0410-b5e6-96231b3b80d8
* Missed earlier. This is part of previous check-in. (r102661 - refactor.)Devang Patel2010-04-291-0/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102662 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a new utility function SimplifyICmpOperands. Much of this code isDan Gohman2010-04-241-0/+7
| | | | | | | | refactored out of ScalarEvolution::isImpliedCond, which will be updated to use this new utility routine soon. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102229 91177308-0d34-0410-b5e6-96231b3b80d8
* fix file header.Chris Lattner2010-04-221-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102049 91177308-0d34-0410-b5e6-96231b3b80d8
* move some select simplifications out out instcombine intoChris Lattner2010-04-201-0/+4
| | | | | | | inst simplify. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101873 91177308-0d34-0410-b5e6-96231b3b80d8
* make CallGraphNode dtor abort if a node is deleted when there are stillChris Lattner2010-04-201-0/+8
| | | | | | | references to it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101847 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove the Expr member from IVUsers. Instead of remembering the expression,Dan Gohman2010-04-191-23/+9
| | | | | | | | just ask ScalarEvolution for it on demand. This helps IVUsers be more robust in the case of expressions changing underneath it. This fixes PR6862. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101819 91177308-0d34-0410-b5e6-96231b3b80d8
* Add comment (lost when reverting and reapplying 101503).Dale Johannesen2010-04-171-0/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101664 91177308-0d34-0410-b5e6-96231b3b80d8
* Reapply 101503+101520. These are "obviously correct" [Chris]Dale Johannesen2010-04-171-2/+2
| | | | | | | | and don't cause any problems on Darwin. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101584 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert 101520, which depended on 101503, which was reverted.Dan Gohman2010-04-161-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101528 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert commit 101503 (johannes), in the hope of fixing the dragonegg build,Duncan Sands2010-04-161-4/+1
| | | | | | | | | | | see http://google1.osuosl.org:8011/builders/dragonegg-x86_64-linux/builds/693 Original commit text: Use a ValueMap not a std::map for the reason indicated in the comment. This was causing nondeterministic changes in inlining decisions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101525 91177308-0d34-0410-b5e6-96231b3b80d8
* Trim a #include.Dan Gohman2010-04-161-1/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101520 91177308-0d34-0410-b5e6-96231b3b80d8
* Use a ValueMap not a std::map for the reason indicatedDale Johannesen2010-04-161-1/+4
| | | | | | | | | in the comment. This was causing nondeterministic changes in inlining decisions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101503 91177308-0d34-0410-b5e6-96231b3b80d8
* Make callIsSmall accessible as a utility function.Dan Gohman2010-04-161-0/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101463 91177308-0d34-0410-b5e6-96231b3b80d8
* Make getPredecessorWithUniqueSuccessorForBB return the unique successorDan Gohman2010-04-151-1/+2
| | | | | | | in addition to the predecessor. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101374 91177308-0d34-0410-b5e6-96231b3b80d8
* Constify GetConstantStringInfo.Dan Gohman2010-04-141-1/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101298 91177308-0d34-0410-b5e6-96231b3b80d8