summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Analysis
Commit message (Collapse)AuthorAgeFilesLines
...
* Add new RegionInfo pass.Tobias Grosser2010-07-223-0/+821
| | | | | | | | | | The RegionInfo pass detects single entry single exit regions in a function, where a region is defined as any subgraph that is connected to the remaining graph at only two spots. Furthermore an hierarchical region tree is built. Use it by calling "opt -regions analyze" or "opt -view-regions". llvm-svn: 109089
* Make NamedMDNode not be a subclass of Value, and simplify the interfaceDan Gohman2010-07-211-5/+5
| | | | | | for creating and populating NamedMDNodes. llvm-svn: 109061
* Add INSTANTIATE_AG_PASS, which combines RegisterPass<> with ↵Owen Anderson2010-07-2110-41/+24
| | | | | | RegisterAnalysisGroup<> for pass registration. llvm-svn: 109058
* Fix batch of converting RegisterPass<> to INTIALIZE_PASS().Owen Anderson2010-07-2119-61/+57
| | | | llvm-svn: 109045
* tidy up.Jim Grosbach2010-07-211-26/+27
| | | | llvm-svn: 109038
* Disallow null as a named metadata operand.Dan Gohman2010-07-211-4/+2
| | | | | | | | | | | Make MDNode::destroy private. Fix the one thing that used MDNode::destroy, outside of MDNode itself. One should never delete or destroy an MDNode explicitly. MDNodes implicitly go away when there are no references to them (implementation details aside). llvm-svn: 109028
* Fix SCEV denormalization of expressions where the exit value fromDan Gohman2010-07-201-32/+55
| | | | | | | one loop is involved in the increment of an addrec for another loop. This fixes rdar://8168938. llvm-svn: 108863
* Add a fast path for x - x.Dan Gohman2010-07-201-0/+4
| | | | llvm-svn: 108855
* Simplify this code; LoopInfo::getCanonicalInductionVariable will onlyDan Gohman2010-07-201-3/+6
| | | | | | find integer induction variables. llvm-svn: 108853
* Make getOrInsertCanonicalInductionVariable guarantee that itsDan Gohman2010-07-201-2/+2
| | | | | | result is a PHINode*. llvm-svn: 108852
* Change an argument from an Instruction* to a Value*, which is allDan Gohman2010-07-201-5/+5
| | | | | | that is needed here. llvm-svn: 108850
* Minor code cleanups.Dan Gohman2010-07-201-0/+5
| | | | llvm-svn: 108848
* Speculatively revert r108813, in an attempt to get the self-host buildbots ↵Owen Anderson2010-07-209-10/+10
| | | | | | | | working again. I don't see why this patch would cause them to fail the way they are, but none of the other intervening patches seem likely either. llvm-svn: 108818
* Reapply r108794, a fix for the failing test from last time.Owen Anderson2010-07-209-10/+10
| | | | llvm-svn: 108813
* Revert r108794, "Separate PassInfo into two classes: a constructor-freeDaniel Dunbar2010-07-208-9/+9
| | | | | | | superclass (StaticPassInfo) and a constructor-ful subclass (PassInfo).", it is breaking teh everything. llvm-svn: 108805
* Separate PassInfo into two classes: a constructor-free superclass ↵Owen Anderson2010-07-208-9/+9
| | | | | | (StaticPassInfo) and a constructor-ful subclass (PassInfo). llvm-svn: 108794
* Minor code simplification.Dan Gohman2010-07-201-6/+3
| | | | llvm-svn: 108793
* Correct line info for declarations/definitions. Radar 8063111.Stuart Hastings2010-07-191-3/+8
| | | | llvm-svn: 108784
* eliminate CallInst::ArgOffsetGabor Greif2010-07-161-2/+2
| | | | llvm-svn: 108522
* Fix the order that SCEVExpander considers add operands in so thatDan Gohman2010-07-151-2/+14
| | | | | | | it doesn't miss an opportunity to form a GEP, regardless of the relative loop depths of the operands. This fixes rdar://8197217. llvm-svn: 108475
* Teach ScalarEvolution how to fold trunc(undef) and anyext(undef) to undef.Dan Gohman2010-07-151-0/+14
| | | | | | This helps LSR behave more consistently on bugpoint-reduced testcases. llvm-svn: 108451
* cache another dereferenced iteratorGabor Greif2010-07-151-4/+6
| | | | llvm-svn: 108421
* Fix PR7647, handling the case when 'To' ends up being Chris Lattner2010-07-151-14/+34
| | | | | | | | | | mutated by recursive simplification. This also enhances ReplaceAndSimplifyAllUses to actually do a real RAUW at the end of it, which updates any value handles pointing to "From" to start pointing to "To". This seems useful for debug info and random other VH users. llvm-svn: 108415
* Revert r108401; it breaks bootstrap :(Eli Friedman2010-07-151-3/+1
| | | | llvm-svn: 108407
* Add AssertingVH which makes PR7647 break consistently.Eli Friedman2010-07-151-1/+3
| | | | llvm-svn: 108401
* Add a lint check for mismatched return types, inspired by PR6944.Dan Gohman2010-07-121-0/+4
| | | | llvm-svn: 108162
* Convert some tab stops into spaces.Duncan Sands2010-07-121-2/+2
| | | | llvm-svn: 108130
* Add parentheses around an || to correct the logic. Also silences a GCC warningChandler Carruth2010-07-121-1/+1
| | | | | | | | | that was actually useful here. Chris, please double check that this is the correct interpretation. I was pretty sure, and ran it by Nick as well. llvm-svn: 108129
* fix PR7429, a crash turning a load from a string into a float.Chris Lattner2010-07-121-3/+9
| | | | llvm-svn: 108113
* remove useless cast and fix typos in commentGabor Greif2010-07-091-3/+3
| | | | llvm-svn: 107989
* cache result of operator*Gabor Greif2010-07-091-3/+5
| | | | llvm-svn: 107988
* cache result of operator*Gabor Greif2010-07-091-2/+3
| | | | llvm-svn: 107982
* cache result of operator*Gabor Greif2010-07-091-11/+14
| | | | llvm-svn: 107978
* cache result of operator*Gabor Greif2010-07-091-2/+3
| | | | llvm-svn: 107977
* cache result of operator*Gabor Greif2010-07-091-5/+7
| | | | llvm-svn: 107976
* cache result of operator*Gabor Greif2010-07-091-3/+4
| | | | llvm-svn: 107967
* do not repeatedly dereference use_iteratorGabor Greif2010-07-091-3/+5
| | | | llvm-svn: 107963
* Reverting r107918 and r107919. Radar 8063111.Stuart Hastings2010-07-081-8/+3
| | | | llvm-svn: 107930
* Fix decl/def debug info for template functions. Radar 8063111.Stuart Hastings2010-07-081-3/+8
| | | | llvm-svn: 107919
* Minore code simplification.Dan Gohman2010-07-071-17/+15
| | | | llvm-svn: 107777
* Remove interprocedural-basic-aa and associated code. The AliasAnalysisDan Gohman2010-07-073-183/+58
| | | | | | | | | | | interface needs implementations to be consistent, so any code which wants to support different semantics must use a different interface. It's not currently worthwhile to add a new interface for this new concept. Document that AliasAnalysis doesn't support cross-function queries. llvm-svn: 107776
* conditionalize by CallInst::ArgOffsetGabor Greif2010-07-071-2/+2
| | | | llvm-svn: 107767
* Add some more TODO comments.Dan Gohman2010-07-061-0/+6
| | | | llvm-svn: 107657
* Add a comment.Dan Gohman2010-07-061-1/+2
| | | | llvm-svn: 107656
* Remove context sensitivity concerns from interprocedural-basic-aa, andDan Gohman2010-07-011-35/+55
| | | | | | | make it more aggressive in cases where both pointers are known to live in the same function. llvm-svn: 107420
* In ScalarEvolution::forgetValue, eliminate any SCEVUnknownDan Gohman2010-06-301-0/+20
| | | | | | | | | | | entries associated with the value being erased in the folding set map. These entries used to be harmless, because a SCEVUnknown doesn't store any information about its Value*, so having a new Value allocated at the old Value's address wasn't a problem. But now that ScalarEvolution is storing more information about values, this is no longer safe. llvm-svn: 107316
* Revert the part of r107257 which introduced new logic for usingDan Gohman2010-06-301-82/+11
| | | | | | | nsw and nuw flags from IR Instructions. On further consideration, this isn't valid. llvm-svn: 107298
* Improve ScalarEvolution's nsw and nuw preservation.Dan Gohman2010-06-301-31/+105
| | | | llvm-svn: 107257
* When computing a new ConservativeResult, intersect it withDan Gohman2010-06-301-1/+2
| | | | | | the old one instead of replacing it, to be more precise. llvm-svn: 107256
* Rework scev-aa's basic computation so that it doesn't dependDan Gohman2010-06-301-7/+31
| | | | | | | | on ScalarEvolution successfully folding and preserving range information for both A-B and B-A. Now, if it gets either one, it's sufficient. llvm-svn: 107249
OpenPOWER on IntegriCloud