Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Add new RegionInfo pass. | Tobias Grosser | 2010-07-22 | 3 | -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 interface | Dan Gohman | 2010-07-21 | 1 | -5/+5 | |
| | | | | | | for creating and populating NamedMDNodes. llvm-svn: 109061 | |||||
* | Add INSTANTIATE_AG_PASS, which combines RegisterPass<> with ↵ | Owen Anderson | 2010-07-21 | 10 | -41/+24 | |
| | | | | | | RegisterAnalysisGroup<> for pass registration. llvm-svn: 109058 | |||||
* | Fix batch of converting RegisterPass<> to INTIALIZE_PASS(). | Owen Anderson | 2010-07-21 | 19 | -61/+57 | |
| | | | | llvm-svn: 109045 | |||||
* | tidy up. | Jim Grosbach | 2010-07-21 | 1 | -26/+27 | |
| | | | | llvm-svn: 109038 | |||||
* | Disallow null as a named metadata operand. | Dan Gohman | 2010-07-21 | 1 | -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 from | Dan Gohman | 2010-07-20 | 1 | -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 Gohman | 2010-07-20 | 1 | -0/+4 | |
| | | | | llvm-svn: 108855 | |||||
* | Simplify this code; LoopInfo::getCanonicalInductionVariable will only | Dan Gohman | 2010-07-20 | 1 | -3/+6 | |
| | | | | | | find integer induction variables. llvm-svn: 108853 | |||||
* | Make getOrInsertCanonicalInductionVariable guarantee that its | Dan Gohman | 2010-07-20 | 1 | -2/+2 | |
| | | | | | | result is a PHINode*. llvm-svn: 108852 | |||||
* | Change an argument from an Instruction* to a Value*, which is all | Dan Gohman | 2010-07-20 | 1 | -5/+5 | |
| | | | | | | that is needed here. llvm-svn: 108850 | |||||
* | Minor code cleanups. | Dan Gohman | 2010-07-20 | 1 | -0/+5 | |
| | | | | llvm-svn: 108848 | |||||
* | Speculatively revert r108813, in an attempt to get the self-host buildbots ↵ | Owen Anderson | 2010-07-20 | 9 | -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 Anderson | 2010-07-20 | 9 | -10/+10 | |
| | | | | llvm-svn: 108813 | |||||
* | Revert r108794, "Separate PassInfo into two classes: a constructor-free | Daniel Dunbar | 2010-07-20 | 8 | -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 Anderson | 2010-07-20 | 8 | -9/+9 | |
| | | | | | | (StaticPassInfo) and a constructor-ful subclass (PassInfo). llvm-svn: 108794 | |||||
* | Minor code simplification. | Dan Gohman | 2010-07-20 | 1 | -6/+3 | |
| | | | | llvm-svn: 108793 | |||||
* | Correct line info for declarations/definitions. Radar 8063111. | Stuart Hastings | 2010-07-19 | 1 | -3/+8 | |
| | | | | llvm-svn: 108784 | |||||
* | eliminate CallInst::ArgOffset | Gabor Greif | 2010-07-16 | 1 | -2/+2 | |
| | | | | llvm-svn: 108522 | |||||
* | Fix the order that SCEVExpander considers add operands in so that | Dan Gohman | 2010-07-15 | 1 | -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 Gohman | 2010-07-15 | 1 | -0/+14 | |
| | | | | | | This helps LSR behave more consistently on bugpoint-reduced testcases. llvm-svn: 108451 | |||||
* | cache another dereferenced iterator | Gabor Greif | 2010-07-15 | 1 | -4/+6 | |
| | | | | llvm-svn: 108421 | |||||
* | Fix PR7647, handling the case when 'To' ends up being | Chris Lattner | 2010-07-15 | 1 | -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 Friedman | 2010-07-15 | 1 | -3/+1 | |
| | | | | llvm-svn: 108407 | |||||
* | Add AssertingVH which makes PR7647 break consistently. | Eli Friedman | 2010-07-15 | 1 | -1/+3 | |
| | | | | llvm-svn: 108401 | |||||
* | Add a lint check for mismatched return types, inspired by PR6944. | Dan Gohman | 2010-07-12 | 1 | -0/+4 | |
| | | | | llvm-svn: 108162 | |||||
* | Convert some tab stops into spaces. | Duncan Sands | 2010-07-12 | 1 | -2/+2 | |
| | | | | llvm-svn: 108130 | |||||
* | Add parentheses around an || to correct the logic. Also silences a GCC warning | Chandler Carruth | 2010-07-12 | 1 | -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 Lattner | 2010-07-12 | 1 | -3/+9 | |
| | | | | llvm-svn: 108113 | |||||
* | remove useless cast and fix typos in comment | Gabor Greif | 2010-07-09 | 1 | -3/+3 | |
| | | | | llvm-svn: 107989 | |||||
* | cache result of operator* | Gabor Greif | 2010-07-09 | 1 | -3/+5 | |
| | | | | llvm-svn: 107988 | |||||
* | cache result of operator* | Gabor Greif | 2010-07-09 | 1 | -2/+3 | |
| | | | | llvm-svn: 107982 | |||||
* | cache result of operator* | Gabor Greif | 2010-07-09 | 1 | -11/+14 | |
| | | | | llvm-svn: 107978 | |||||
* | cache result of operator* | Gabor Greif | 2010-07-09 | 1 | -2/+3 | |
| | | | | llvm-svn: 107977 | |||||
* | cache result of operator* | Gabor Greif | 2010-07-09 | 1 | -5/+7 | |
| | | | | llvm-svn: 107976 | |||||
* | cache result of operator* | Gabor Greif | 2010-07-09 | 1 | -3/+4 | |
| | | | | llvm-svn: 107967 | |||||
* | do not repeatedly dereference use_iterator | Gabor Greif | 2010-07-09 | 1 | -3/+5 | |
| | | | | llvm-svn: 107963 | |||||
* | Reverting r107918 and r107919. Radar 8063111. | Stuart Hastings | 2010-07-08 | 1 | -8/+3 | |
| | | | | llvm-svn: 107930 | |||||
* | Fix decl/def debug info for template functions. Radar 8063111. | Stuart Hastings | 2010-07-08 | 1 | -3/+8 | |
| | | | | llvm-svn: 107919 | |||||
* | Minore code simplification. | Dan Gohman | 2010-07-07 | 1 | -17/+15 | |
| | | | | llvm-svn: 107777 | |||||
* | Remove interprocedural-basic-aa and associated code. The AliasAnalysis | Dan Gohman | 2010-07-07 | 3 | -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::ArgOffset | Gabor Greif | 2010-07-07 | 1 | -2/+2 | |
| | | | | llvm-svn: 107767 | |||||
* | Add some more TODO comments. | Dan Gohman | 2010-07-06 | 1 | -0/+6 | |
| | | | | llvm-svn: 107657 | |||||
* | Add a comment. | Dan Gohman | 2010-07-06 | 1 | -1/+2 | |
| | | | | llvm-svn: 107656 | |||||
* | Remove context sensitivity concerns from interprocedural-basic-aa, and | Dan Gohman | 2010-07-01 | 1 | -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 SCEVUnknown | Dan Gohman | 2010-06-30 | 1 | -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 using | Dan Gohman | 2010-06-30 | 1 | -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 Gohman | 2010-06-30 | 1 | -31/+105 | |
| | | | | llvm-svn: 107257 | |||||
* | When computing a new ConservativeResult, intersect it with | Dan Gohman | 2010-06-30 | 1 | -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 depend | Dan Gohman | 2010-06-30 | 1 | -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 |