Jakob Stoklund Olesen
							
						 
						
							 
							
							
							
							
								
							
							
								1083573796 
								
							 
						 
						
							
							
								
								Don't try to constant fold libm functions with non-finite arguments.  
							
							 
							
							... 
							
							
							
							Usually we wouldn't do this anyway because llvm_fenv_testexcept would return an
exception, but we have seen some cases where neither errno nor fenv detect an
exception on arm-linux.
llvm-svn: 114893 
							
						 
						
							2010-09-27 21:29:20 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								2348393cf5 
								
							 
						 
						
							
							
								
								Teach memdep about TBAA tags.  
							
							 
							
							... 
							
							
							
							llvm-svn: 114588 
							
						 
						
							2010-09-22 21:41:02 +00:00  
						
					 
				
					
						
							
							
								 
								Benjamin Kramer
							
						 
						
							 
							
							
							
							
								
							
							
								4b57204e80 
								
							 
						 
						
							
							
								
								Simplify code.  
							
							 
							
							... 
							
							
							
							llvm-svn: 114444 
							
						 
						
							2010-09-21 16:41:29 +00:00  
						
					 
				
					
						
							
							
								 
								Benjamin Kramer
							
						 
						
							 
							
							
							
							
								
							
							
								4021d906f1 
								
							 
						 
						
							
							
								
								Make CreateComplexVariable independent of SmallVector.  
							
							 
							
							... 
							
							
							
							llvm-svn: 114439 
							
						 
						
							2010-09-21 16:00:03 +00:00  
						
					 
				
					
						
							
							
								 
								Jakob Stoklund Olesen
							
						 
						
							 
							
							
							
							
								
							
							
								4a253e5ac8 
								
							 
						 
						
							
							
								
								Don't include <fenv.h> now that we have llvm/System/FEnv.h.  
							
							 
							
							... 
							
							
							
							llvm-svn: 114219 
							
						 
						
							2010-09-17 21:47:03 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								b48f904602 
								
							 
						 
						
							
							
								
								Attempt to support platforms which don't have fenv.h.  
							
							 
							
							... 
							
							
							
							llvm-svn: 114196 
							
						 
						
							2010-09-17 20:06:27 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								18fa17cf3d 
								
							 
						 
						
							
							
								
								Fix the folding of floating-point math library calls, like sin(infinity),  
							
							 
							
							... 
							
							
							
							so that it detects errors on platforms where libm doesn't set errno.
It's still subject to host libm details though.
llvm-svn: 114148 
							
						 
						
							2010-09-17 01:38:06 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								2fa59799d9 
								
							 
						 
						
							
							
								
								Add an #include of raw_ostream.h. Previously, this only compiled  
							
							 
							
							... 
							
							
							
							because it was using Twine.h's declaration of operator<<(const Twine &).
llvm-svn: 114141 
							
						 
						
							2010-09-17 00:33:43 +00:00  
						
					 
				
					
						
							
							
								 
								Benjamin Kramer
							
						 
						
							 
							
							
							
							
								
							
							
								d61e3833a3 
								
							 
						 
						
							
							
								
								Update CMake build.  
							
							 
							
							... 
							
							
							
							llvm-svn: 114128 
							
						 
						
							2010-09-16 23:06:18 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								f4925061af 
								
							 
						 
						
							
							
								
								Rename a variable to avoid a declaration conflict.  
							
							 
							
							... 
							
							
							
							llvm-svn: 114126 
							
						 
						
							2010-09-16 22:50:09 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								ee74402fe6 
								
							 
						 
						
							
							
								
								Add a pass which prints out all the memdep dependencies.  
							
							 
							
							... 
							
							
							
							llvm-svn: 114121 
							
						 
						
							2010-09-16 22:08:32 +00:00  
						
					 
				
					
						
							
							
								 
								Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								c33cdcfd80 
								
							 
						 
						
							
							
								
								Revert r114097, adding back in the assertion against replacing an Instruction by itself.  Now that CorrelatedValuePropagation is  
							
							 
							
							... 
							
							
							
							more careful not to call SimplifyInstructionsInBlock() on an unreachable block, the issue has been fixed at a higher level.  Add
a big warning to SimplifyInstructionsInBlock() to hopefully prevent this in the future.
llvm-svn: 114117 
							
						 
						
							2010-09-16 20:51:41 +00:00  
						
					 
				
					
						
							
							
								 
								Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								140296f5c0 
								
							 
						 
						
							
							
								
								It is possible, under specific circumstances involving ptrtoint ConstantExpr's, for LVI to end up trying to merge  
							
							 
							
							... 
							
							
							
							a Constant into a ConstantRange.  Handle this conservatively for now, rather than asserting.  The testcase is
more complex that I would like, but the manifestation of the problem is sensitive to iteration orders and the state of the
LVI cache, and I have not been able to reproduce it with manually constructed or simplified cases.
Fixes PR8162.
llvm-svn: 114103 
							
						 
						
							2010-09-16 18:28:33 +00:00  
						
					 
				
					
						
							
							
								 
								Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								94532cb297 
								
							 
						 
						
							
							
								
								Fix PR8161, in which an unreachable loop causes recursive instruction simplification to try  
							
							 
							
							... 
							
							
							
							to replace an instruction with itself.  Add a predicate to the simplifier to prevent this case.
llvm-svn: 114097 
							
						 
						
							2010-09-16 17:42:36 +00:00  
						
					 
				
					
						
							
							
								 
								Eli Friedman
							
						 
						
							 
							
							
							
							
								
							
							
								ab3a128582 
								
							 
						 
						
							
							
								
								PR7959: Handle negative scales in GEPs correctly in BasicAA for non-64-bit  
							
							 
							
							... 
							
							
							
							targets.
llvm-svn: 114015 
							
						 
						
							2010-09-15 20:08:03 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								e0386dbef1 
								
							 
						 
						
							
							
								
								Convert TBAA to use the new TBAATag field of AliasAnalysis::Location.  
							
							 
							
							... 
							
							
							
							llvm-svn: 113892 
							
						 
						
							2010-09-14 23:28:12 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								41f14cf3e9 
								
							 
						 
						
							
							
								
								Remove the experimental AliasAnalysis::getDependency interface, which  
							
							 
							
							... 
							
							
							
							isn't a good level of abstraction for memdep. Instead, generalize
AliasAnalysis::alias and related interfaces with a new Location
class for describing a memory location. For now, this is the same
Pointer and Size as before, plus an additional field for a TBAA tag.
Also, introduce a fixed MD_tbaa metadata tag kind.
llvm-svn: 113858 
							
						 
						
							2010-09-14 21:25:10 +00:00  
						
					 
				
					
						
							
							
								 
								Michael J. Spencer
							
						 
						
							 
							
							
							
							
								
							
							
								93c9b2ea93 
								
							 
						 
						
							
							
								
								Revert "CMake: Get rid of LLVMLibDeps.cmake and export the libraries normally."  
							
							 
							
							... 
							
							
							
							This reverts commit r113632
Conflicts:
	cmake/modules/AddLLVM.cmake
llvm-svn: 113819 
							
						 
						
							2010-09-13 23:59:48 +00:00  
						
					 
				
					
						
							
							
								 
								Benjamin Kramer
							
						 
						
							 
							
							
							
							
								
							
							
								8c35fb0739 
								
							 
						 
						
							
							
								
								Teach InstructionSimplify to fold (A & B) & A -> A & B and (A | B) | A -> A | B.  
							
							 
							
							... 
							
							
							
							Reassociate does this but it doesn't catch all cases (e.g. if the operands are i1).
llvm-svn: 113651 
							
						 
						
							2010-09-10 22:39:55 +00:00  
						
					 
				
					
						
							
							
								 
								Michael J. Spencer
							
						 
						
							 
							
							
							
							
								
							
							
								dc38d36ccb 
								
							 
						 
						
							
							
								
								CMake: Get rid of LLVMLibDeps.cmake and export the libraries normally.  
							
							 
							
							... 
							
							
							
							llvm-svn: 113632 
							
						 
						
							2010-09-10 21:14:25 +00:00  
						
					 
				
					
						
							
							
								 
								Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								04cf3fd761 
								
							 
						 
						
							
							
								
								What the loop unroller cares about, rather than just not unrolling loops with calls, is  
							
							 
							
							... 
							
							
							
							not unrolling loops that contain calls that would be better off getting inlined.  This mostly
comes up when an interleaved devirtualization pass has devirtualized a call which the inliner
will inline on a future pass.  Thus, rather than blocking all loops containing calls, add
a metric for "inline candidate calls" and block loops containing those instead.
llvm-svn: 113535 
							
						 
						
							2010-09-09 20:32:23 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								1c5be00ec7 
								
							 
						 
						
							
							
								
								Extend the getDependence query with support for PHI translation.  
							
							 
							
							... 
							
							
							
							llvm-svn: 113521 
							
						 
						
							2010-09-09 18:37:31 +00:00  
						
					 
				
					
						
							
							
								 
								Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								a08318acb2 
								
							 
						 
						
							
							
								
								Refactor code-size reduction estimation methods out of InlineCostAnalyzer and into CodeMetrics.  They  
							
							 
							
							... 
							
							
							
							don't use any InlineCostAnalyzer state, and are useful for other clients who don't necessarily want to use
all of InlineCostAnalyzer's logic, some of which is fairly inlining-specific.
No intended functionality change.
llvm-svn: 113499 
							
						 
						
							2010-09-09 16:56:42 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								64d842ec72 
								
							 
						 
						
							
							
								
								Add a new experimental generalized dependence query interface to  
							
							 
							
							... 
							
							
							
							AliasAnalysis, and some code for implementing the new query on top of
existing implementations by making standard alias and getModRefInfo
queries.
llvm-svn: 113329 
							
						 
						
							2010-09-08 01:32:20 +00:00  
						
					 
				
					
						
							
							
								 
								Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								a74fa15f32 
								
							 
						 
						
							
							
								
								Clean up some of the PassRegistry implementation, and pImpl-ize it to reduce #include clutter  
							
							 
							
							... 
							
							
							
							and exposing internal details.
llvm-svn: 113252 
							
						 
						
							2010-09-07 19:16:25 +00:00  
						
					 
				
					
						
							
							
								 
								Nick Lewycky
							
						 
						
							 
							
							
							
							
								
							
							
								ad48e01eef 
								
							 
						 
						
							
							
								
								Add completely hokey binary-and and binary-or operations to ConstantRange and  
							
							 
							
							... 
							
							
							
							teach LazyValueInfo to use them.
llvm-svn: 113196 
							
						 
						
							2010-09-07 05:39:02 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								a58edd1df3 
								
							 
						 
						
							
							
								
								cleanup some of the lifetime/invariant marker stuff, add a big fixme.  
							
							 
							
							... 
							
							
							
							llvm-svn: 113144 
							
						 
						
							2010-09-06 03:58:04 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								e34c835bde 
								
							 
						 
						
							
							
								
								speed up -gvn 3.4% on the testcase in PR7023  
							
							 
							
							... 
							
							
							
							llvm-svn: 113135 
							
						 
						
							2010-09-06 01:26:29 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								da24b9a49a 
								
							 
						 
						
							
							
								
								pull a simple method out of LICM into a new  
							
							 
							
							... 
							
							
							
							Loop::hasLoopInvariantOperands method. Remove
a useless and confusing Loop::isLoopInvariant(Instruction)
method, which didn't do what you thought it did.
No functionality change.
llvm-svn: 113133 
							
						 
						
							2010-09-06 01:05:37 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								72d283c826 
								
							 
						 
						
							
							
								
								fix PR8063, a crash in globalopt in the malloc analysis code.  
							
							 
							
							... 
							
							
							
							llvm-svn: 113109 
							
						 
						
							2010-09-05 17:20:46 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								0963048185 
								
							 
						 
						
							
							
								
								dead method.  
							
							 
							
							... 
							
							
							
							llvm-svn: 113077 
							
						 
						
							2010-09-04 18:19:16 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								65b48b5dfc 
								
							 
						 
						
							
							
								
								zap dead code.  
							
							 
							
							... 
							
							
							
							llvm-svn: 113073 
							
						 
						
							2010-09-04 18:12:00 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								47bec3cb57 
								
							 
						 
						
							
							
								
								Disable the asserts that check that normalization is perfectly  
							
							 
							
							... 
							
							
							
							invertible. ScalarEvolution's folding routines don't always succeed
in canonicalizing equal expressions to a single canonical form, and
this can cause these asserts to fail, even though there's no actual
correctness problem. This fixes PR8066.
llvm-svn: 113021 
							
						 
						
							2010-09-03 22:12:56 +00:00  
						
					 
				
					
						
							
							
								 
								Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								c725462245 
								
							 
						 
						
							
							
								
								Add support for simplifying a load from a computed value to a load from a global when it  
							
							 
							
							... 
							
							
							
							is provable that they're equivalent.  This fixes PR4855.
llvm-svn: 112994 
							
						 
						
							2010-09-03 19:08:37 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								19199cce55 
								
							 
						 
						
							
							
								
								stop forcing a noop AssemblyAnnotationWriter to silence #uses  
							
							 
							
							... 
							
							
							
							comments, these don't happen anymore.
llvm-svn: 112901 
							
						 
						
							2010-09-02 23:03:10 +00:00  
						
					 
				
					
						
							
							
								 
								Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								2912df072d 
								
							 
						 
						
							
							
								
								Remove incorrect and poorly tested code for trying to reason about values on default edges of  
							
							 
							
							... 
							
							
							
							switches.  Just return the conservatively correct answer.
llvm-svn: 112876 
							
						 
						
							2010-09-02 22:16:52 +00:00  
						
					 
				
					
						
							
							
								 
								Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								a8c896b704 
								
							 
						 
						
							
							
								
								Fix a bug in LazyValueInfo that CorrelatedValuePropagation exposed: In the LVI lattice, undef and the full set ConstantRange should not  
							
							 
							
							... 
							
							
							
							be treated as equivalent.
llvm-svn: 112843 
							
						 
						
							2010-09-02 18:23:58 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								110ed64fbb 
								
							 
						 
						
							
							
								
								Revert 112442 and 112440 until the compile time problems introduced  
							
							 
							
							... 
							
							
							
							by 112440 are resolved.
llvm-svn: 112692 
							
						 
						
							2010-09-01 01:45:53 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								47308d5da3 
								
							 
						 
						
							
							
								
								Reapply r112432, now that the real problem is addressed.  
							
							 
							
							... 
							
							
							
							llvm-svn: 112667 
							
						 
						
							2010-08-31 22:53:17 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								f01a5eed1e 
								
							 
						 
						
							
							
								
								Reapply r112433, now that the real problem is addressed.  
							
							 
							
							... 
							
							
							
							llvm-svn: 112666 
							
						 
						
							2010-08-31 22:52:12 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								aabfc52790 
								
							 
						 
						
							
							
								
								Revert r110916. This patch is buggy because the code inside the  
							
							 
							
							... 
							
							
							
							inner loop doesn't update all the variables in the outer loop.
llvm-svn: 112665 
							
						 
						
							2010-08-31 22:50:31 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								90f29bcd90 
								
							 
						 
						
							
							
								
								Revert r112432. It appears to be exposing a problem in the emacs build.  
							
							 
							
							... 
							
							
							
							llvm-svn: 112638 
							
						 
						
							2010-08-31 20:58:44 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								444c24a9f0 
								
							 
						 
						
							
							
								
								Speculatively revert r112433.  
							
							 
							
							... 
							
							
							
							llvm-svn: 112608 
							
						 
						
							2010-08-31 17:56:47 +00:00  
						
					 
				
					
						
							
							
								 
								Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								9517943d11 
								
							 
						 
						
							
							
								
								It is possible to try to merge a not-constant with a constantrage, when dealing with ptrtoint ConstantExpr's.  
							
							 
							
							... 
							
							
							
							Unfortunately, the only testcase I have for this is huge and doesn't reduce well because the error is
sensitive to iteration-order issues, since the problem only occurs when merging values in a particular order.
llvm-svn: 112489 
							
						 
						
							2010-08-30 17:03:45 +00:00  
						
					 
				
					
						
							
							
								 
								Benjamin Kramer
							
						 
						
							 
							
							
							
							
								
							
							
								8548c892a8 
								
							 
						 
						
							
							
								
								Don't print two "0x" prefixes. Use a raw_ostream overload instead of llvm::format.  
							
							 
							
							... 
							
							
							
							llvm-svn: 112479 
							
						 
						
							2010-08-30 14:46:53 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								f58382ed87 
								
							 
						 
						
							
							
								
								two changes: 1) make AliasSet hold the list of call sites with an  
							
							 
							
							... 
							
							
							
							assertingvh so we get a violent explosion if the pointer dangles.
2) Fix AliasSetTracker::deleteValue to remove call sites with
   by-pointer comparisons instead of by-alias queries.  Using
   findAliasSetForCallSite can cause alias sets to get merged
   when they shouldn't, and can also miss alias sets when the
   call is readonly.
#2  fixes PR6889, which only repros with a .c file :(
llvm-svn: 112452 
							
						 
						
							2010-08-29 18:42:23 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								3a08ed7904 
								
							 
						 
						
							
							
								
								Make IVUsers iterative instead of recursive.  
							
							 
							
							... 
							
							
							
							This has the side effect of reversing the order of most of
IVUser's results.
llvm-svn: 112442 
							
						 
						
							2010-08-29 16:40:03 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								d1da5cdfee 
								
							 
						 
						
							
							
								
								Restructure the {A,+,B}<L> * {C,+,D}<L> folding so that it folds  
							
							 
							
							... 
							
							
							
							all applicable addrecs before recursing on getMulExpr, instead of
recursing on getMulExpr for each one.
llvm-svn: 112433 
							
						 
						
							2010-08-29 15:16:58 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								3e6fc18943 
								
							 
						 
						
							
							
								
								Batch up subtracts along with adds, when analyzing long chains of  
							
							 
							
							... 
							
							
							
							operations.
llvm-svn: 112432 
							
						 
						
							2010-08-29 15:10:06 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								7712d2900d 
								
							 
						 
						
							
							
								
								Micro-optimize GroupByComplexity.  
							
							 
							
							... 
							
							
							
							llvm-svn: 112431 
							
						 
						
							2010-08-29 15:07:13 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								0f2de01355 
								
							 
						 
						
							
							
								
								Hold AddRec->getLoop() in a variable, to make the Mul code more consistent  
							
							 
							
							... 
							
							
							
							with the Add code.
llvm-svn: 112430 
							
						 
						
							2010-08-29 14:55:19 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								028c18158a 
								
							 
						 
						
							
							
								
								Rename a variable, for consistency.  
							
							 
							
							... 
							
							
							
							llvm-svn: 112429 
							
						 
						
							2010-08-29 14:53:34 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								28a84d4ba1 
								
							 
						 
						
							
							
								
								Use iterators instead of indices.  
							
							 
							
							... 
							
							
							
							llvm-svn: 112428 
							
						 
						
							2010-08-29 14:52:02 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								dc8070ed6d 
								
							 
						 
						
							
							
								
								when merging two alias sets, the result set is volatile if either  
							
							 
							
							... 
							
							
							
							of the sets is volatile.  We were dropping the volatile bit of the
merged in set, leading (luckily) to assertions in cases like 
PR7535.  I cannot produce a testcase that repros with opt, but this
is obviously correct.
llvm-svn: 112402 
							
						 
						
							2010-08-29 04:14:47 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								eef6b19dcb 
								
							 
						 
						
							
							
								
								more cleanup  
							
							 
							
							... 
							
							
							
							llvm-svn: 112401 
							
						 
						
							2010-08-29 04:13:43 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								afb7074f18 
								
							 
						 
						
							
							
								
								clean this up  
							
							 
							
							... 
							
							
							
							llvm-svn: 112400 
							
						 
						
							2010-08-29 04:06:55 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								fe22f1d3cc 
								
							 
						 
						
							
							
								
								Fix an index calculation thinko.  
							
							 
							
							... 
							
							
							
							llvm-svn: 112337 
							
						 
						
							2010-08-28 00:39:27 +00:00  
						
					 
				
					
						
							
							
								 
								Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								38f6b7fe3b 
								
							 
						 
						
							
							
								
								Improve the precision of getConstant().  
							
							 
							
							... 
							
							
							
							llvm-svn: 112323 
							
						 
						
							2010-08-27 23:29:38 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								15871f23e3 
								
							 
						 
						
							
							
								
								When merging adjacent operands, scan ahead and merge all equal  
							
							 
							
							... 
							
							
							
							adjacent operands at once, instead of just two at a time.
llvm-svn: 112299 
							
						 
						
							2010-08-27 21:39:59 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								c866bf4fec 
								
							 
						 
						
							
							
								
								Make the {A,+,B}<L> + {C,+,D}<L>  -->  Other + {A+C,+,B+D}<L>  
							
							 
							
							... 
							
							
							
							transformation collect all the addrecs with the same loop
add combine them at once rather than starting everything over
at the first chance.
llvm-svn: 112290 
							
						 
						
							2010-08-27 20:45:56 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								9bad2fb378 
								
							 
						 
						
							
							
								
								Switch ScalarEvolution's main Value*->SCEV* map from std::map  
							
							 
							
							... 
							
							
							
							to DenseMap.
llvm-svn: 112281 
							
						 
						
							2010-08-27 18:55:03 +00:00  
						
					 
				
					
						
							
							
								 
								Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								6ebbd92380 
								
							 
						 
						
							
							
								
								Use LVI to eliminate conditional branches where we've tested a related condition previously.  Update tests for this change.  
							
							 
							
							... 
							
							
							
							This fixes PR5652.
llvm-svn: 112270 
							
						 
						
							2010-08-27 17:12:29 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								2706567c5c 
								
							 
						 
						
							
							
								
								Optimize SCEVComplexityCompare. Use a 3-way return instead of a 2-way  
							
							 
							
							... 
							
							
							
							return to avoid needing two calls to test for equivalence, and sort
addrecs by their degree before examining their operands.
llvm-svn: 112267 
							
						 
						
							2010-08-27 15:26:01 +00:00  
						
					 
				
					
						
							
							
								 
								Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								4afea9e3c6 
								
							 
						 
						
							
							
								
								In the default address space, any GEP off of null results in a trap value if you try to load it.  Thus,  
							
							 
							
							... 
							
							
							
							any load in the default address space that completes implies that the base value that it GEP'd from
was not null.
llvm-svn: 112015 
							
						 
						
							2010-08-25 01:16:47 +00:00  
						
					 
				
					
						
							
							
								 
								Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								a10000006e 
								
							 
						 
						
							
							
								
								NULL loads are only invalid in the default address space.  
							
							 
							
							... 
							
							
							
							llvm-svn: 111972 
							
						 
						
							2010-08-24 22:00:55 +00:00  
						
					 
				
					
						
							
							
								 
								Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								b695c83de9 
								
							 
						 
						
							
							
								
								Add support for inferring values for the default cases of switches.  
							
							 
							
							... 
							
							
							
							llvm-svn: 111971 
							
						 
						
							2010-08-24 21:59:42 +00:00  
						
					 
				
					
						
							
							
								 
								Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								da34de1599 
								
							 
						 
						
							
							
								
								Add support for inferring that a load from a pointer implies that it is not null.  
							
							 
							
							... 
							
							
							
							llvm-svn: 111959 
							
						 
						
							2010-08-24 20:47:29 +00:00  
						
					 
				
					
						
							
							
								 
								Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								c62f704576 
								
							 
						 
						
							
							
								
								Don't assume that all constants with integer types are ConstantInts.  
							
							 
							
							... 
							
							
							
							llvm-svn: 111906 
							
						 
						
							2010-08-24 07:55:44 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								dd719f701d 
								
							 
						 
						
							
							
								
								Let FE use derived types for DW_TAG_friend.  
							
							 
							
							... 
							
							
							
							Patch by Alexander Herz!
llvm-svn: 111861 
							
						 
						
							2010-08-23 23:16:25 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								a8652674e0 
								
							 
						 
						
							
							
								
								Handle qualified constants that are directly folded by FE.  
							
							 
							
							... 
							
							
							
							PR 7920.
llvm-svn: 111820 
							
						 
						
							2010-08-23 18:25:56 +00:00  
						
					 
				
					
						
							
							
								 
								Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								d31d82d75c 
								
							 
						 
						
							
							
								
								Now that PassInfo and Pass::ID have been separated, move the rest of the passes over to the new registration API.  
							
							 
							
							... 
							
							
							
							llvm-svn: 111815 
							
						 
						
							2010-08-23 17:52:01 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								5fc55dc3cf 
								
							 
						 
						
							
							
								
								CreateTemporaryType doesn't needs its Context argument.  
							
							 
							
							... 
							
							
							
							llvm-svn: 111687 
							
						 
						
							2010-08-20 22:39:47 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								16a5d98c3a 
								
							 
						 
						
							
							
								
								Introduce a new temporary MDNode concept. Temporary MDNodes are  
							
							 
							
							... 
							
							
							
							not part of the IR, are not uniqued, and may be safely RAUW'd.
This replaces a variety of alternate mechanisms for achieving
the same effect.
llvm-svn: 111681 
							
						 
						
							2010-08-20 22:02:26 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								a931605647 
								
							 
						 
						
							
							
								
								Convert DbgInfoPrinter to use errs() instead of outs().  
							
							 
							
							... 
							
							
							
							llvm-svn: 111659 
							
						 
						
							2010-08-20 18:03:05 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								f71c521fb7 
								
							 
						 
						
							
							
								
								Revert r111199; it breaks -debug-pass=Structure output.  
							
							 
							
							... 
							
							
							
							llvm-svn: 111500 
							
						 
						
							2010-08-19 01:29:07 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								3decde9305 
								
							 
						 
						
							
							
								
								refix PR1143 by making basicaa analyze zexts of indices aggresively,  
							
							 
							
							... 
							
							
							
							which I broke with a recent patch.
llvm-svn: 111452 
							
						 
						
							2010-08-18 23:09:49 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								26403acef7 
								
							 
						 
						
							
							
								
								GetLinearExpression is only called when TD is non-null, pass as  
							
							 
							
							... 
							
							
							
							a reference instead of pointer.
llvm-svn: 111445 
							
						 
						
							2010-08-18 22:52:09 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								1b9c38796e 
								
							 
						 
						
							
							
								
								rework GEP decomposition to make a new VariableGEPIndex struct instead of  
							
							 
							
							... 
							
							
							
							using a pair.  This tidies up the code a bit.  While setting things up, add
a (currently unused) field to keep track of how the value is extended.
llvm-svn: 111444 
							
						 
						
							2010-08-18 22:47:56 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								9f7500f57b 
								
							 
						 
						
							
							
								
								move gep decomposition out of ValueTracking into BasicAA.  The form of  
							
							 
							
							... 
							
							
							
							decomposition that it is doing is very basicaa specific and is only used
by basicaa.
Now with less tree breakingness.
llvm-svn: 111433 
							
						 
						
							2010-08-18 22:07:29 +00:00  
						
					 
				
					
						
							
							
								 
								Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								80d19f0905 
								
							 
						 
						
							
							
								
								Use ConstantRange to propagate information through value definitions.  
							
							 
							
							... 
							
							
							
							llvm-svn: 111425 
							
						 
						
							2010-08-18 21:11:37 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Dunbar
							
						 
						
							 
							
							
							
							
								
							
							
								fbeeb130d8 
								
							 
						 
						
							
							
								
								Revert r111375, "move gep decomposition out of ValueTracking into BasicAA.  The  
							
							 
							
							... 
							
							
							
							form of", it doesn't pass tests.
llvm-svn: 111385 
							
						 
						
							2010-08-18 18:43:08 +00:00  
						
					 
				
					
						
							
							
								 
								Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								208636fa33 
								
							 
						 
						
							
							
								
								Inform LazyValueInfo whenever a block is deleted, to avoid dangling pointer issues.  
							
							 
							
							... 
							
							
							
							llvm-svn: 111382 
							
						 
						
							2010-08-18 18:39:01 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								54fe883203 
								
							 
						 
						
							
							
								
								move gep decomposition out of ValueTracking into BasicAA.  The form of  
							
							 
							
							... 
							
							
							
							decomposition that it is doing is very basicaa specific and is only used
by basicaa.
llvm-svn: 111375 
							
						 
						
							2010-08-18 18:22:17 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								a33edcb56c 
								
							 
						 
						
							
							
								
								fix PR7589: In brief:  
							
							 
							
							... 
							
							
							
							gep P, (zext x) != gep P, (sext x)
DecomposeGEPExpression was getting this wrong, confusing
basicaa.
llvm-svn: 111352 
							
						 
						
							2010-08-18 04:28:19 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								ed2b005842 
								
							 
						 
						
							
							
								
								Tweak IVUsers' concept of "interesting" to exclude add recurrences  
							
							 
							
							... 
							
							
							
							where the step value is an induction variable from an outer loop, to
avoid trouble trying to re-expand such expressions. This effectively
hides such expressions from indvars and lsr, which prevents them
from getting into trouble.
llvm-svn: 111317 
							
						 
						
							2010-08-17 22:50:37 +00:00  
						
					 
				
					
						
							
							
								 
								Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								fa7d44687f 
								
							 
						 
						
							
							
								
								Fix another iterator invalidation that caused a *really* nasty miscompilation in 403.gcc.  
							
							 
							
							... 
							
							
							
							llvm-svn: 111210 
							
						 
						
							2010-08-16 23:42:33 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								55cd6aadc9 
								
							 
						 
						
							
							
								
								Make dumpPassStructure be a PMDataManager abstraction, rather than  
							
							 
							
							... 
							
							
							
							a Pass abstraction, since that's the level it's actually used at.
Rename Pass' dumpPassStructure to dumpPass.
This eliminates an awkward use of getAsPass() to convert a PMDataManager*
into a Pass* just to permit a dumpPassStructure call.
llvm-svn: 111199 
							
						 
						
							2010-08-16 22:45:12 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								797a1dbb1c 
								
							 
						 
						
							
							
								
								To create a copy of a SmallVector with an element removed from the  
							
							 
							
							... 
							
							
							
							middle, copy the elements in two groups, rather than copying all the
elements and then doing an erase on the middle of the result. These
are SmallVectors, so we shouldn't expect to hit dynamic allocation
in the common case.
llvm-svn: 111151 
							
						 
						
							2010-08-16 16:57:24 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								0d0cc18af5 
								
							 
						 
						
							
							
								
								Tidy whitespace.  
							
							 
							
							... 
							
							
							
							llvm-svn: 111147 
							
						 
						
							2010-08-16 16:34:09 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								c29eeaecec 
								
							 
						 
						
							
							
								
								Add a comment.  
							
							 
							
							... 
							
							
							
							llvm-svn: 111145 
							
						 
						
							2010-08-16 16:31:39 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								7eac4961d7 
								
							 
						 
						
							
							
								
								Use const_iterator in a few places.  
							
							 
							
							... 
							
							
							
							llvm-svn: 111144 
							
						 
						
							2010-08-16 16:30:01 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								74c61503b1 
								
							 
						 
						
							
							
								
								Use iterators instead of indices in a few more places.  
							
							 
							
							... 
							
							
							
							llvm-svn: 111143 
							
						 
						
							2010-08-16 16:27:53 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								f29618236e 
								
							 
						 
						
							
							
								
								Micro-optimize SCEVConstant comparison.  
							
							 
							
							... 
							
							
							
							llvm-svn: 111142 
							
						 
						
							2010-08-16 16:25:35 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								3688ea5c7d 
								
							 
						 
						
							
							
								
								Move SCEVNAryExpr's virtual member functions out of line, and convert  
							
							 
							
							... 
							
							
							
							them to iterators.
llvm-svn: 111140 
							
						 
						
							2010-08-16 16:21:27 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								d6925bbe0d 
								
							 
						 
						
							
							
								
								Use iterators instead of indices in simple cases.  
							
							 
							
							... 
							
							
							
							llvm-svn: 111138 
							
						 
						
							2010-08-16 16:16:11 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								b6c773ec2e 
								
							 
						 
						
							
							
								
								Avoid gratuitous inefficiency in ifndef NDEBUG code.  
							
							 
							
							... 
							
							
							
							llvm-svn: 111137 
							
						 
						
							2010-08-16 16:13:54 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								e5fb1036e6 
								
							 
						 
						
							
							
								
								Make one getAddExpr call when analyzing a+b+c+d+e+... instead of one  
							
							 
							
							... 
							
							
							
							for each add instruction. Ditto for Mul.
llvm-svn: 111136 
							
						 
						
							2010-08-16 16:03:49 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								b094b39111 
								
							 
						 
						
							
							
								
								Delete an unused function.  
							
							 
							
							... 
							
							
							
							llvm-svn: 111135 
							
						 
						
							2010-08-16 15:57:14 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								fb83b043eb 
								
							 
						 
						
							
							
								
								Revert r111058, the lint check for indirectbr successors that aren't  
							
							 
							
							... 
							
							
							
							address-taken. This can occur normally, if the code which took the
address got DCEd.
llvm-svn: 111121 
							
						 
						
							2010-08-16 14:39:19 +00:00  
						
					 
				
					
						
							
							
								 
								Argyrios Kyrtzidis
							
						 
						
							 
							
							
							
							
								
							
							
								d0fcc9a818 
								
							 
						 
						
							
							
								
								Revert r111082. No warnings for this common pattern.  
							
							 
							
							... 
							
							
							
							llvm-svn: 111102 
							
						 
						
							2010-08-15 10:27:23 +00:00  
						
					 
				
					
						
							
							
								 
								Argyrios Kyrtzidis
							
						 
						
							 
							
							
							
							
								
							
							
								7c09ddf0ae 
								
							 
						 
						
							
							
								
								Add ATTRIBUTE_UNUSED to methods that are not supposed to be used.  
							
							 
							
							... 
							
							
							
							llvm-svn: 111082 
							
						 
						
							2010-08-14 21:35:10 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								21e6dc6aa3 
								
							 
						 
						
							
							
								
								Add a lint check for an indirectbr destination which has not  
							
							 
							
							... 
							
							
							
							had its address taken.
llvm-svn: 111058 
							
						 
						
							2010-08-13 23:56:28 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								0c436ab356 
								
							 
						 
						
							
							
								
								Various optimizations. Don't compare two loops' depths  
							
							 
							
							... 
							
							
							
							when they are the same loop. Don't compare two instructions'
loop depths when they are in the same block.
llvm-svn: 111045 
							
						 
						
							2010-08-13 21:24:58 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								63c020a210 
								
							 
						 
						
							
							
								
								When testing whether one loop contains another, test this directly  
							
							 
							
							... 
							
							
							
							rather than testing whether the loop contains the other's header.
llvm-svn: 111039 
							
						 
						
							2010-08-13 20:23:25 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								3324b9ec67 
								
							 
						 
						
							
							
								
								Add a const.  
							
							 
							
							... 
							
							
							
							llvm-svn: 111038 
							
						 
						
							2010-08-13 20:17:27 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								cf32f2bde1 
								
							 
						 
						
							
							
								
								When creating a symmetric SCEV with a constant operand, put  
							
							 
							
							... 
							
							
							
							the constant operand on the left, as that's where ScalarEvolution
will end up canonicalizing to.
llvm-svn: 111037 
							
						 
						
							2010-08-13 20:17:14 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								ec0120a123 
								
							 
						 
						
							
							
								
								An add recurrence is loop-invariant in any loop inside of its  
							
							 
							
							... 
							
							
							
							associated loop. This avoids potentially expensive traversals
of the add recurrence's operands.
llvm-svn: 111034 
							
						 
						
							2010-08-13 20:11:39 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								2de47777f4 
								
							 
						 
						
							
							
								
								Optimize ScalarEvolution::getAddExpr's operand factoring code by  
							
							 
							
							... 
							
							
							
							having it finish processing all of the muliply operands before
starting the whole getAddExpr process over again, instead of
immediately after the first simplification.
llvm-svn: 110916 
							
						 
						
							2010-08-12 15:00:23 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								157847f5d1 
								
							 
						 
						
							
							
								
								Hoist some loop-invariant code out of a hot loop.  
							
							 
							
							... 
							
							
							
							llvm-svn: 110915 
							
						 
						
							2010-08-12 14:52:55 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								e67b287451 
								
							 
						 
						
							
							
								
								Optimize ScalarEvolution::getAddExpr's duplicate operand detection  
							
							 
							
							... 
							
							
							
							by having it finish processing the whole operand list before
starting the whole getAddExpr process over again, instead of
immediately after the first duplicate is found.
llvm-svn: 110914 
							
						 
						
							2010-08-12 14:46:54 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								4d597e8268 
								
							 
						 
						
							
							
								
								Even if a variable has constant value all the time, it is still a variable in gdb's eyes.  
							
							 
							
							... 
							
							
							
							Tested by scope.exp in gdb testsuite.
llvm-svn: 110876 
							
						 
						
							2010-08-11 23:17:54 +00:00  
						
					 
				
					
						
							
							
								 
								Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								7b974a45db 
								
							 
						 
						
							
							
								
								Fix a subtle use-after-free issue.  
							
							 
							
							... 
							
							
							
							llvm-svn: 110863 
							
						 
						
							2010-08-11 22:36:04 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								a97e78b4ac 
								
							 
						 
						
							
							
								
								Make LoopPass::getContainedPass return a LoopPass* instead of a Pass*  
							
							 
							
							... 
							
							
							
							and remove casts from all its callers.
llvm-svn: 110848 
							
						 
						
							2010-08-11 20:34:43 +00:00  
						
					 
				
					
						
							
							
								 
								Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								0bd61240e9 
								
							 
						 
						
							
							
								
								Improve indentation.  
							
							 
							
							... 
							
							
							
							llvm-svn: 110778 
							
						 
						
							2010-08-11 04:24:25 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								f7495f286a 
								
							 
						 
						
							
							
								
								When analyzing loop exit conditions combined with and and or, don't  
							
							 
							
							... 
							
							
							
							make any assumptions about when the two conditions will agree on when
to permit the loop to exit. This fixes PR7845.
llvm-svn: 110758 
							
						 
						
							2010-08-11 00:12:36 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								e18c2d6f99 
								
							 
						 
						
							
							
								
								Rename and reorder the arguments to isImpliedCond, for consistency and clarity.  
							
							 
							
							... 
							
							
							
							llvm-svn: 110750 
							
						 
						
							2010-08-10 23:46:30 +00:00  
						
					 
				
					
						
							
							
								 
								Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								5f1dd0967d 
								
							 
						 
						
							
							
								
								Now that we're using ConstantRange to represent potential values, make use of that represenation to  
							
							 
							
							... 
							
							
							
							create constraints from comparisons other than eq/neq.
llvm-svn: 110742 
							
						 
						
							2010-08-10 23:20:01 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								3e4d04230b 
								
							 
						 
						
							
							
								
								Add missing argument. CreateCompositeTypeEx() users, please verify.  
							
							 
							
							... 
							
							
							
							llvm-svn: 110717 
							
						 
						
							2010-08-10 20:22:49 +00:00  
						
					 
				
					
						
							
							
								 
								Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								185fe00633 
								
							 
						 
						
							
							
								
								Switch over to using ConstantRange to track integral values.  
							
							 
							
							... 
							
							
							
							llvm-svn: 110714 
							
						 
						
							2010-08-10 20:03:09 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								8e06a5eb47 
								
							 
						 
						
							
							
								
								Do not forget debug info for enums. Use named mdnode to keep track of these types.  
							
							 
							
							... 
							
							
							
							llvm-svn: 110712 
							
						 
						
							2010-08-10 20:01:20 +00:00  
						
					 
				
					
						
							
							
								 
								Tobias Grosser
							
						 
						
							 
							
							
							
							
								
							
							
								7fbe6cb429 
								
							 
						 
						
							
							
								
								RegionInfo: Do not assert if a BB is not part of the dominance tree.  
							
							 
							
							... 
							
							
							
							llvm-svn: 110665 
							
						 
						
							2010-08-10 09:54:35 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								b219746c80 
								
							 
						 
						
							
							
								
								Handle TAG_constant for integers.  
							
							 
							
							... 
							
							
							
							llvm-svn: 110656 
							
						 
						
							2010-08-10 07:11:13 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								c7cf14f5f6 
								
							 
						 
						
							
							
								
								Refactor.  
							
							 
							
							... 
							
							
							
							llvm-svn: 110607 
							
						 
						
							2010-08-09 21:39:24 +00:00  
						
					 
				
					
						
							
							
								 
								Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								8afac043fb 
								
							 
						 
						
							
							
								
								Add ConstantRange information to the debugging output.  
							
							 
							
							... 
							
							
							
							llvm-svn: 110598 
							
						 
						
							2010-08-09 20:50:46 +00:00  
						
					 
				
					
						
							
							
								 
								Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								a7aed18624 
								
							 
						 
						
							
							
								
								Reapply r110396, with fixes to appease the Linux buildbot gods.  
							
							 
							
							... 
							
							
							
							llvm-svn: 110460 
							
						 
						
							2010-08-06 18:33:48 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								e68958fcdf 
								
							 
						 
						
							
							
								
								Implement a proper getModRefInfo for va_arg.  
							
							 
							
							... 
							
							
							
							llvm-svn: 110458 
							
						 
						
							2010-08-06 18:24:38 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								6b4671b208 
								
							 
						 
						
							
							
								
								Be more conservative in the face of volatile.  
							
							 
							
							... 
							
							
							
							llvm-svn: 110456 
							
						 
						
							2010-08-06 18:11:28 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								23976df6f2 
								
							 
						 
						
							
							
								
								Fix a comment.  
							
							 
							
							... 
							
							
							
							llvm-svn: 110455 
							
						 
						
							2010-08-06 18:10:45 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								5f1702e4fe 
								
							 
						 
						
							
							
								
								Move all the logic for function attributes and call attributes out of the  
							
							 
							
							... 
							
							
							
							AliasAnalysis base class and into BasicAliasAnalyais. This avoids confusion
about where such logic is happening when there are other AliasAnalysis
implementations present.
Move the logic for translating two-callsite getModRefInfo queries into
other AliasAnalysis queries out of BasicAliasAnalysis and into the
AliasAnalysis base class, as it is useful for other AliasAnalysis
implementations.
llvm-svn: 110421 
							
						 
						
							2010-08-06 01:25:49 +00:00  
						
					 
				
					
						
							
							
								 
								Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								c2107d2eaa 
								
							 
						 
						
							
							
								
								Fix botched revert.  
							
							 
							
							... 
							
							
							
							llvm-svn: 110416 
							
						 
						
							2010-08-06 00:36:20 +00:00  
						
					 
				
					
						
							
							
								 
								Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								bda59bd247 
								
							 
						 
						
							
							
								
								Revert r110396 to fix buildbots.  
							
							 
							
							... 
							
							
							
							llvm-svn: 110410 
							
						 
						
							2010-08-06 00:23:35 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								e0d5c458ec 
								
							 
						 
						
							
							
								
								Fix 80-column violations.  
							
							 
							
							... 
							
							
							
							llvm-svn: 110401 
							
						 
						
							2010-08-05 23:48:14 +00:00  
						
					 
				
					
						
							
							
								 
								Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								755aceb5d0 
								
							 
						 
						
							
							
								
								Don't use PassInfo* as a type identifier for passes.  Instead, use the address of the static  
							
							 
							
							... 
							
							
							
							ID member as the sole unique type identifier.  Clean up APIs related to this change.
llvm-svn: 110396 
							
						 
						
							2010-08-05 23:42:04 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								884dd752c3 
								
							 
						 
						
							
							
								
								Implement AccessesArguments checking in the two-callsite form  
							
							 
							
							... 
							
							
							
							of BasicAA::getModRefInfo. This allows BasicAA to say that two
memset calls to non-aliasing memory locations don't interfere.
llvm-svn: 110393 
							
						 
						
							2010-08-05 23:34:50 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								e2a67168bf 
								
							 
						 
						
							
							
								
								Yes, we can do better, but this is not the place for it.  
							
							 
							
							... 
							
							
							
							llvm-svn: 110391 
							
						 
						
							2010-08-05 23:23:32 +00:00  
						
					 
				
					
						
							
							
								 
								Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								0f306a45ad 
								
							 
						 
						
							
							
								
								Add the beginnings of infrastructure for range tracking.  
							
							 
							
							... 
							
							
							
							llvm-svn: 110388 
							
						 
						
							2010-08-05 22:59:19 +00:00  
						
					 
				
					
						
							
							
								 
								Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								c3a1413ea1 
								
							 
						 
						
							
							
								
								Split the tag and value members of LVILatticeVal in preparation for expanding the lattice to something that won't fit in two bits.  
							
							 
							
							... 
							
							
							
							llvm-svn: 110383 
							
						 
						
							2010-08-05 22:10:46 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								26ef7c7ab7 
								
							 
						 
						
							
							
								
								Fix memdep's code for reasoning about dependences between two calls. A Ref  
							
							 
							
							... 
							
							
							
							response from getModRefInfo is not useful here. Instead, check for identical
calls only in the NoModRef case.
Reapply r110270, and strengthen it to compensate for the memdep changes.
When both calls are readonly, there is no dependence between them.
llvm-svn: 110382 
							
						 
						
							2010-08-05 22:09:15 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								554b012f67 
								
							 
						 
						
							
							
								
								Revert r110270 for now. It appears to uncover a memdep bug.  
							
							 
							
							... 
							
							
							
							llvm-svn: 110293 
							
						 
						
							2010-08-05 00:43:10 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								109561845b 
								
							 
						 
						
							
							
								
								The trouble with testing for "ModRef" and "NoModRef" is that  
							
							 
							
							... 
							
							
							
							one is a suffix of the other, and FileCheck accepts superstrings.
Adjust the output to avoid this problem.
llvm-svn: 110280 
							
						 
						
							2010-08-04 23:37:55 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								bd33dab633 
								
							 
						 
						
							
							
								
								The two-callsite form of AliasAnalysis::getModRefInfo is documented  
							
							 
							
							... 
							
							
							
							to return Ref if the left callsite only reads memory read or written
by the right callsite; fix BasicAliasAnalysis to implement this.
Add AliasAnalysisEvaluator support for testing the two-callsite
form of getModRefInfo.
llvm-svn: 110270 
							
						 
						
							2010-08-04 22:56:29 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								db764c6e3b 
								
							 
						 
						
							
							
								
								Fix a minor bug which resulted in intermediate calculations  
							
							 
							
							... 
							
							
							
							using wider types than are necessary.
llvm-svn: 110241 
							
						 
						
							2010-08-04 19:52:50 +00:00  
						
					 
				
					
						
							
							
								 
								Torok Edwin
							
						 
						
							 
							
							
							
							
								
							
							
								bfc17d0157 
								
							 
						 
						
							
							
								
								Add a missing function.  
							
							 
							
							... 
							
							
							
							llvm-svn: 110195 
							
						 
						
							2010-08-04 11:42:45 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								fc419ef6a0 
								
							 
						 
						
							
							
								
								Remove PointerAccessInfo, which nothing was using.  
							
							 
							
							... 
							
							
							
							llvm-svn: 110167 
							
						 
						
							2010-08-03 23:08:10 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								5442c71f2e 
								
							 
						 
						
							
							
								
								Thread const correctness through a bunch of AliasAnalysis interfaces and  
							
							 
							
							... 
							
							
							
							eliminate several const_casts.
Make CallSite implicitly convertible to ImmutableCallSite.
Rename the getModRefBehavior for intrinsic IDs to
getIntrinsicModRefBehavior to avoid overload ambiguity with CallSite,
which happens to be implicitly convertible to bool.
llvm-svn: 110155 
							
						 
						
							2010-08-03 21:48:53 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								ad867b0aed 
								
							 
						 
						
							
							
								
								The singular of "indices" is "index".  
							
							 
							
							... 
							
							
							
							llvm-svn: 110135 
							
						 
						
							2010-08-03 20:23:52 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								852d6fc50c 
								
							 
						 
						
							
							
								
								Delete an unused function.  
							
							 
							
							... 
							
							
							
							llvm-svn: 110134 
							
						 
						
							2010-08-03 20:20:56 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								52f9d7d617 
								
							 
						 
						
							
							
								
								Make AliasAnalysis::getModRefInfo conservative in the face of volatility.  
							
							 
							
							... 
							
							
							
							llvm-svn: 110120 
							
						 
						
							2010-08-03 17:27:43 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								081627ceb8 
								
							 
						 
						
							
							
								
								Fix a typo Devang noticed.  
							
							 
							
							... 
							
							
							
							llvm-svn: 110115 
							
						 
						
							2010-08-03 16:48:31 +00:00  
						
					 
				
					
						
							
							
								 
								Michael J. Spencer
							
						 
						
							 
							
							
							
							
								
							
							
								2ce6994211 
								
							 
						 
						
							
							
								
								Fix CMake build  
							
							 
							
							... 
							
							
							
							llvm-svn: 110097 
							
						 
						
							2010-08-03 02:38:20 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								2a190081f6 
								
							 
						 
						
							
							
								
								Introduce a symbolic constant for ~0u for use with AliasAnalysis.  
							
							 
							
							... 
							
							
							
							llvm-svn: 110091 
							
						 
						
							2010-08-03 01:03:11 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								da7182e116 
								
							 
						 
						
							
							
								
								Add a convenient form of AliasAnalysis::alias for the case where the sizes  
							
							 
							
							... 
							
							
							
							are unknown.
llvm-svn: 110090 
							
						 
						
							2010-08-03 00:56:30 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								7cac95778f 
								
							 
						 
						
							
							
								
								Make SCEVUnknown a CallbackVH, so that it can be notified directly  
							
							 
							
							... 
							
							
							
							of Value deletions and RAUWs, instead of relying on ScalarEvolution's
Scalars map being notified, as that's complicated at best, and
insufficient in general.
This means SCEVUnknown needs a non-trivial destructor, so introduce
a mechanism to allow ScalarEvolution to locate all the SCEVUnknowns.
llvm-svn: 110086 
							
						 
						
							2010-08-02 23:49:30 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								272980b3f6 
								
							 
						 
						
							
							
								
								Sketch up a preliminary Type-Based Alias Analysis implementation.  
							
							 
							
							... 
							
							
							
							llvm-svn: 110077 
							
						 
						
							2010-08-02 23:11:01 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								d8968da2c5 
								
							 
						 
						
							
							
								
								Add a lint check for indirectbr with no successors.  
							
							 
							
							... 
							
							
							
							llvm-svn: 110074 
							
						 
						
							2010-08-02 23:06:43 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								33a2cdf3f9 
								
							 
						 
						
							
							
								
								Add explicit constructors. Patch by Renato Golin.  
							
							 
							
							... 
							
							
							
							llvm-svn: 110072 
							
						 
						
							2010-08-02 22:51:46 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								abfafadfc7 
								
							 
						 
						
							
							
								
								Fix namespace polution.  
							
							 
							
							... 
							
							
							
							llvm-svn: 110056 
							
						 
						
							2010-08-02 18:50:06 +00:00  
						
					 
				
					
						
							
							
								 
								Oscar Fuentes
							
						 
						
							 
							
							
							
							
								
							
							
								40b31ad3ee 
								
							 
						 
						
							
							
								
								Prefix `next' iterator operation with `llvm::'.  
							
							 
							
							... 
							
							
							
							Fixes potential ambiguity problems on VS 2010.
Patch by nobled!
llvm-svn: 110029 
							
						 
						
							2010-08-02 06:00:15 +00:00  
						
					 
				
					
						
							
							
								 
								Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								c1561b8400 
								
							 
						 
						
							
							
								
								Add an initial implementation of PHI translation for LazyValueInfo.  This involves rolling back some  
							
							 
							
							... 
							
							
							
							of my earlier data structure improvements until I can ensure that there are no iterator invalidation problems.
llvm-svn: 109935 
							
						 
						
							2010-07-30 23:59:40 +00:00  
						
					 
				
					
						
							
							
								 
								Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								e4a0ab69d2 
								
							 
						 
						
							
							
								
								Revert my last two patches to LVI, which recent changes have exposed a miscompilation in.  
							
							 
							
							... 
							
							
							
							llvm-svn: 109889 
							
						 
						
							2010-07-30 20:56:07 +00:00  
						
					 
				
					
						
							
							
								 
								Eric Christopher
							
						 
						
							 
							
							
							
							
								
							
							
								ef6d5933a6 
								
							 
						 
						
							
							
								
								Speculatively revert r109705 since it seems to be causing some build bot  
							
							 
							
							... 
							
							
							
							angst.
llvm-svn: 109718 
							
						 
						
							2010-07-29 01:25:38 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								3d6ac44d96 
								
							 
						 
						
							
							
								
								Factor out some of the code for updating old SCEVUnknown values, and  
							
							 
							
							... 
							
							
							
							extend it to handle the case where multiple RAUWs affect a single
SCEVUnknown.
Add a ScalarEvolution unittest to test for this situation.
llvm-svn: 109705 
							
						 
						
							2010-07-29 00:17:55 +00:00  
						
					 
				
					
						
							
							
								 
								Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								a44f49f189 
								
							 
						 
						
							
							
								
								Pass the queried value by argument rather than in a member, in preparation for supporting PHI translation.  
							
							 
							
							... 
							
							
							
							llvm-svn: 109701 
							
						 
						
							2010-07-28 23:50:08 +00:00  
						
					 
				
					
						
							
							
								 
								Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								6982dd4e1f 
								
							 
						 
						
							
							
								
								Get rid of LVIQuery as a distinct data structure, so that we don't have to initialize a new set of maps on every query.  
							
							 
							
							... 
							
							
							
							llvm-svn: 109679 
							
						 
						
							2010-07-28 22:07:25 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Dunbar
							
						 
						
							 
							
							
							
							
								
							
							
								18e39cec7a 
								
							 
						 
						
							
							
								
								RegionInfo: Make sure to free cached nodes; Tobias, please check!  
							
							 
							
							... 
							
							
							
							llvm-svn: 109650 
							
						 
						
							2010-07-28 20:28:50 +00:00  
						
					 
				
					
						
							
							
								 
								Gabor Greif
							
						 
						
							 
							
							
							
							
								
							
							
								e497e5ef46 
								
							 
						 
						
							
							
								
								simplify  
							
							 
							
							... 
							
							
							
							llvm-svn: 109585 
							
						 
						
							2010-07-28 15:31:37 +00:00  
						
					 
				
					
						
							
							
								 
								Gabor Greif
							
						 
						
							 
							
							
							
							
								
							
							
								5bf74d648d 
								
							 
						 
						
							
							
								
								use Value* constructor of CallSite to create potentially improper site, and test that  
							
							 
							
							... 
							
							
							
							llvm-svn: 109580 
							
						 
						
							2010-07-28 12:35:54 +00:00  
						
					 
				
					
						
							
							
								 
								Gabor Greif
							
						 
						
							 
							
							
							
							
								
							
							
								67a970bff2 
								
							 
						 
						
							
							
								
								use Value* constructor of CallSite to create potentially improper site  
							
							 
							
							... 
							
							
							
							llvm-svn: 109579 
							
						 
						
							2010-07-28 12:19:46 +00:00  
						
					 
				
					
						
							
							
								 
								Gabor Greif
							
						 
						
							 
							
							
							
							
								
							
							
								7cf6056484 
								
							 
						 
						
							
							
								
								simplify  
							
							 
							
							... 
							
							
							
							llvm-svn: 109578 
							
						 
						
							2010-07-28 10:57:28 +00:00  
						
					 
				
					
						
							
							
								 
								Gabor Greif
							
						 
						
							 
							
							
							
							
								
							
							
								2e2503cd8d 
								
							 
						 
						
							
							
								
								simplify  
							
							 
							
							... 
							
							
							
							llvm-svn: 109577 
							
						 
						
							2010-07-28 10:46:09 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								7a066723d0 
								
							 
						 
						
							
							
								
								Make SCEVCallbackVH::allUsesReplacedWith update the old SCEVUnknown  
							
							 
							
							... 
							
							
							
							object, as it may still be referenced by SCEVs not cleaned up by the
use list traversal.
Also, in ScalarEvolution::forgetValue, only check for a SCEVUnknown
object for the original value, not for any value in the use list,
because other SCEVUnknown values aren't necessary obsolete at that
point.
llvm-svn: 109570 
							
						 
						
							2010-07-28 01:09:07 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								8aeb0fb5ca 
								
							 
						 
						
							
							
								
								Make SCEVCallbackVH::allUsesReplacedWith unconditionally delete  
							
							 
							
							... 
							
							
							
							the old value.
llvm-svn: 109567 
							
						 
						
							2010-07-28 00:28:25 +00:00  
						
					 
				
					
						
							
							
								 
								Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								aac5a72139 
								
							 
						 
						
							
							
								
								Rearrange several datastructures in LazyValueInfo to improve compile time.  
							
							 
							
							... 
							
							
							
							This is still not perfect, but better than it was before.
llvm-svn: 109563 
							
						 
						
							2010-07-27 23:58:11 +00:00  
						
					 
				
					
						
							
							
								 
								Gabor Greif
							
						 
						
							 
							
							
							
							
								
							
							
								0630a71742 
								
							 
						 
						
							
							
								
								reintroduce original (asserting) semantics of CallSite(Instruction *II)  
							
							 
							
							... 
							
							
							
							add instead a CallSite(Value* V) constructor that is consistent with ImmutableCallSize
and use that one in client code
llvm-svn: 109553 
							
						 
						
							2010-07-27 22:53:28 +00:00  
						
					 
				
					
						
							
							
								 
								Gabor Greif
							
						 
						
							 
							
							
							
							
								
							
							
								ef1ca24b91 
								
							 
						 
						
							
							
								
								recommit simplification (originally r109504, backed out in r109508) now that problem in CallSiteBase is fixed  
							
							 
							
							... 
							
							
							
							llvm-svn: 109547 
							
						 
						
							2010-07-27 22:02:00 +00:00  
						
					 
				
					
						
							
							
								 
								Gabor Greif
							
						 
						
							 
							
							
							
							
								
							
							
								ed1d92cb9a 
								
							 
						 
						
							
							
								
								back out r109504, breaks the bots  
							
							 
							
							... 
							
							
							
							llvm-svn: 109508 
							
						 
						
							2010-07-27 15:18:11 +00:00  
						
					 
				
					
						
							
							
								 
								Gabor Greif
							
						 
						
							 
							
							
							
							
								
							
							
								195a609c37 
								
							 
						 
						
							
							
								
								simplify  
							
							 
							
							... 
							
							
							
							llvm-svn: 109504 
							
						 
						
							2010-07-27 14:38:38 +00:00  
						
					 
				
					
						
							
							
								 
								Gabor Greif
							
						 
						
							 
							
							
							
							
								
							
							
								d59498bc97 
								
							 
						 
						
							
							
								
								use ImmutableCallSite for const-corrgoodness  
							
							 
							
							... 
							
							
							
							llvm-svn: 109503 
							
						 
						
							2010-07-27 14:15:29 +00:00  
						
					 
				
					
						
							
							
								 
								Tobias Grosser
							
						 
						
							 
							
							
							
							
								
							
							
								fc763867d5 
								
							 
						 
						
							
							
								
								RegionInfo: Add getMaxRegionExit()  
							
							 
							
							... 
							
							
							
							getMaxRegionExit returns the exit of the maximal refined region starting
at a specific basic block.
llvm-svn: 109496 
							
						 
						
							2010-07-27 08:39:43 +00:00  
						
					 
				
					
						
							
							
								 
								Tobias Grosser
							
						 
						
							 
							
							
							
							
								
							
							
								1bec81a888 
								
							 
						 
						
							
							
								
								Add function to query RegionInfo about loops.  
							
							 
							
							... 
							
							
							
							* contains(Loop), * getOutermostLoop()
* Improve getNameStr() to return a sensible name, if basic blocks are not named.
llvm-svn: 109490 
							
						 
						
							2010-07-27 04:17:13 +00:00  
						
					 
				
					
						
							
							
								 
								Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								aa7f66ba67 
								
							 
						 
						
							
							
								
								Add an initial implementation of LazyValueInfo updating for JumpThreading.  Disabled for now.  
							
							 
							
							... 
							
							
							
							llvm-svn: 109424 
							
						 
						
							2010-07-26 18:48:03 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								cd83870faf 
								
							 
						 
						
							
							
								
								Fix SCEVExpander::visitAddRecExpr so that it remembers the induction variable  
							
							 
							
							... 
							
							
							
							it inserted rather than using LoopInfo::getCanonicalInductionVariable to
rediscover it, since that doesn't work on non-canonical loops. This fixes
infinite recurrsion on such loops; PR7562.
llvm-svn: 109419 
							
						 
						
							2010-07-26 18:28:14 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								b3aa6c7110 
								
							 
						 
						
							
							
								
								Use DominatorTree::properlyDominates instead of dominates with an  
							
							 
							
							... 
							
							
							
							explicit inequality check.
llvm-svn: 109398 
							
						 
						
							2010-07-26 17:34:05 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								7038bd5c1a 
								
							 
						 
						
							
							
								
								Eliminate getCanonicalInductionVariableIncrement's last user and  
							
							 
							
							... 
							
							
							
							eliminate it.
llvm-svn: 109270 
							
						 
						
							2010-07-23 21:34:51 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								acafc61023 
								
							 
						 
						
							
							
								
								Simplify this code; it can use the regular CFG utlities rather than  
							
							 
							
							... 
							
							
							
							the BlockTraits abstractions.
llvm-svn: 109268 
							
						 
						
							2010-07-23 21:25:16 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								5ae3102459 
								
							 
						 
						
							
							
								
								Micro-optimize SCEVComplexityCompare.  
							
							 
							
							... 
							
							
							
							llvm-svn: 109267 
							
						 
						
							2010-07-23 21:20:52 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								992db006d0 
								
							 
						 
						
							
							
								
								Add a const qualifier.  
							
							 
							
							... 
							
							
							
							llvm-svn: 109266 
							
						 
						
							2010-07-23 21:18:55 +00:00  
						
					 
				
					
						
							
							
								 
								Gabor Greif
							
						 
						
							 
							
							
							
							
								
							
							
								1a2da423c9 
								
							 
						 
						
							
							
								
								use cascading operator-> feature  
							
							 
							
							... 
							
							
							
							llvm-svn: 109104 
							
						 
						
							2010-07-22 13:49:27 +00:00  
						
					 
				
					
						
							
							
								 
								Gabor Greif
							
						 
						
							 
							
							
							
							
								
							
							
								dde79d8f1a 
								
							 
						 
						
							
							
								
								mass elimination of reliance on automatic iterator dereferencing  
							
							 
							
							... 
							
							
							
							llvm-svn: 109103 
							
						 
						
							2010-07-22 13:36:47 +00:00  
						
					 
				
					
						
							
							
								 
								Gabor Greif
							
						 
						
							 
							
							
							
							
								
							
							
								d9f48ecb2e 
								
							 
						 
						
							
							
								
								use -> instead of (*).  
							
							 
							
							... 
							
							
							
							llvm-svn: 109094 
							
						 
						
							2010-07-22 11:12:32 +00:00  
						
					 
				
					
						
							
							
								 
								Gabor Greif
							
						 
						
							 
							
							
							
							
								
							
							
								07c8ad54da 
								
							 
						 
						
							
							
								
								cache dereferenced iterator  
							
							 
							
							... 
							
							
							
							llvm-svn: 109093 
							
						 
						
							2010-07-22 11:07:46 +00:00  
						
					 
				
					
						
							
							
								 
								Tobias Grosser
							
						 
						
							 
							
							
							
							
								
							
							
								336734aca6 
								
							 
						 
						
							
							
								
								Add new RegionInfo pass.  
							
							 
							
							... 
							
							
							
							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 
							
						 
						
							2010-07-22 07:46:31 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								2637cc1a38 
								
							 
						 
						
							
							
								
								Make NamedMDNode not be a subclass of Value, and simplify the interface  
							
							 
							
							... 
							
							
							
							for creating and populating NamedMDNodes.
llvm-svn: 109061 
							
						 
						
							2010-07-21 23:38:33 +00:00  
						
					 
				
					
						
							
							
								 
								Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								ac4a1ede17 
								
							 
						 
						
							
							
								
								Add INSTANTIATE_AG_PASS, which combines RegisterPass<> with RegisterAnalysisGroup<> for pass registration.  
							
							 
							
							... 
							
							
							
							llvm-svn: 109058 
							
						 
						
							2010-07-21 23:07:00 +00:00  
						
					 
				
					
						
							
							
								 
								Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								a57b97e7e7 
								
							 
						 
						
							
							
								
								Fix batch of converting RegisterPass<> to INTIALIZE_PASS().  
							
							 
							
							... 
							
							
							
							llvm-svn: 109045 
							
						 
						
							2010-07-21 22:09:45 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								6cd0deb997 
								
							 
						 
						
							
							
								
								tidy up.  
							
							 
							
							... 
							
							
							
							llvm-svn: 109038 
							
						 
						
							2010-07-21 21:36:25 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								093cb79d4b 
								
							 
						 
						
							
							
								
								Disallow null as a named metadata operand.  
							
							 
							
							... 
							
							
							
							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 
							
						 
						
							2010-07-21 18:54:18 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								625fd2292d 
								
							 
						 
						
							
							
								
								Fix SCEV denormalization of expressions where the exit value from  
							
							 
							
							... 
							
							
							
							one loop is involved in the increment of an addrec for another
loop. This fixes rdar://8168938.
llvm-svn: 108863 
							
						 
						
							2010-07-20 17:06:20 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								46f00a25f9 
								
							 
						 
						
							
							
								
								Add a fast path for x - x.  
							
							 
							
							... 
							
							
							
							llvm-svn: 108855 
							
						 
						
							2010-07-20 16:53:00 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								31158756e4 
								
							 
						 
						
							
							
								
								Simplify this code; LoopInfo::getCanonicalInductionVariable will only  
							
							 
							
							... 
							
							
							
							find integer induction variables.
llvm-svn: 108853 
							
						 
						
							2010-07-20 16:46:58 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								4fd92434f1 
								
							 
						 
						
							
							
								
								Make getOrInsertCanonicalInductionVariable guarantee that its  
							
							 
							
							... 
							
							
							
							result is a PHINode*.
llvm-svn: 108852 
							
						 
						
							2010-07-20 16:44:52 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								191f2e4dbd 
								
							 
						 
						
							
							
								
								Change an argument from an Instruction* to a Value*, which is all  
							
							 
							
							... 
							
							
							
							that is needed here.
llvm-svn: 108850 
							
						 
						
							2010-07-20 16:34:50 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								d1488fd8bc 
								
							 
						 
						
							
							
								
								Minor code cleanups.  
							
							 
							
							... 
							
							
							
							llvm-svn: 108848 
							
						 
						
							2010-07-20 16:32:11 +00:00  
						
					 
				
					
						
							
							
								 
								Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								81781220d2 
								
							 
						 
						
							
							
								
								Speculatively revert r108813, in an attempt to get the self-host buildbots 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 
							
						 
						
							2010-07-20 08:26:15 +00:00  
						
					 
				
					
						
							
							
								 
								Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								8dc129325f 
								
							 
						 
						
							
							
								
								Reapply r108794, a fix for the failing test from last time.  
							
							 
							
							... 
							
							
							
							llvm-svn: 108813 
							
						 
						
							2010-07-20 06:52:42 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Dunbar
							
						 
						
							 
							
							
							
							
								
							
							
								4a35d6f8cd 
								
							 
						 
						
							
							
								
								Revert r108794, "Separate PassInfo into two classes: a constructor-free  
							
							 
							
							... 
							
							
							
							superclass (StaticPassInfo) and a constructor-ful subclass (PassInfo).", it is
breaking teh everything.
llvm-svn: 108805 
							
						 
						
							2010-07-20 03:06:07 +00:00  
						
					 
				
					
						
							
							
								 
								Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								e7c5fe586a 
								
							 
						 
						
							
							
								
								Separate PassInfo into two classes: a constructor-free superclass (StaticPassInfo) and a constructor-ful subclass (PassInfo).  
							
							 
							
							... 
							
							
							
							llvm-svn: 108794 
							
						 
						
							2010-07-20 01:19:58 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								3ff13affda 
								
							 
						 
						
							
							
								
								Minor code simplification.  
							
							 
							
							... 
							
							
							
							llvm-svn: 108793 
							
						 
						
							2010-07-20 00:57:18 +00:00  
						
					 
				
					
						
							
							
								 
								Stuart Hastings
							
						 
						
							 
							
							
							
							
								
							
							
								61475c5c3c 
								
							 
						 
						
							
							
								
								Correct line info for declarations/definitions.  Radar 8063111.  
							
							 
							
							... 
							
							
							
							llvm-svn: 108784 
							
						 
						
							2010-07-19 23:56:30 +00:00  
						
					 
				
					
						
							
							
								 
								Gabor Greif
							
						 
						
							 
							
							
							
							
								
							
							
								6d673953e3 
								
							 
						 
						
							
							
								
								eliminate CallInst::ArgOffset  
							
							 
							
							... 
							
							
							
							llvm-svn: 108522 
							
						 
						
							2010-07-16 09:38:02 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								fbbdfcaea7 
								
							 
						 
						
							
							
								
								Fix the order that SCEVExpander considers add operands in so that  
							
							 
							
							... 
							
							
							
							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 
							
						 
						
							2010-07-15 23:38:13 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								64b1e82a7c 
								
							 
						 
						
							
							
								
								Teach ScalarEvolution how to fold trunc(undef) and anyext(undef) to undef.  
							
							 
							
							... 
							
							
							
							This helps LSR behave more consistently on bugpoint-reduced testcases.
llvm-svn: 108451 
							
						 
						
							2010-07-15 20:02:11 +00:00  
						
					 
				
					
						
							
							
								 
								Gabor Greif
							
						 
						
							 
							
							
							
							
								
							
							
								26ec65ac3c 
								
							 
						 
						
							
							
								
								cache another dereferenced iterator  
							
							 
							
							... 
							
							
							
							llvm-svn: 108421 
							
						 
						
							2010-07-15 10:19:23 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								19eff2a9f6 
								
							 
						 
						
							
							
								
								Fix PR7647, handling the case when 'To' ends up being  
							
							 
							
							... 
							
							
							
							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 
							
						 
						
							2010-07-15 06:36:08 +00:00  
						
					 
				
					
						
							
							
								 
								Eli Friedman
							
						 
						
							 
							
							
							
							
								
							
							
								8b3a17e613 
								
							 
						 
						
							
							
								
								Revert r108401; it breaks bootstrap :(  
							
							 
							
							... 
							
							
							
							llvm-svn: 108407 
							
						 
						
							2010-07-15 05:09:31 +00:00  
						
					 
				
					
						
							
							
								 
								Eli Friedman
							
						 
						
							 
							
							
							
							
								
							
							
								fd473a746c 
								
							 
						 
						
							
							
								
								Add AssertingVH which makes PR7647 break consistently.  
							
							 
							
							... 
							
							
							
							llvm-svn: 108401 
							
						 
						
							2010-07-15 04:46:14 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								c128e70ff2 
								
							 
						 
						
							
							
								
								Add a lint check for mismatched return types, inspired by PR6944.  
							
							 
							
							... 
							
							
							
							llvm-svn: 108162 
							
						 
						
							2010-07-12 18:02:04 +00:00  
						
					 
				
					
						
							
							
								 
								Duncan Sands
							
						 
						
							 
							
							
							
							
								
							
							
								41b4a6b36a 
								
							 
						 
						
							
							
								
								Convert some tab stops into spaces.  
							
							 
							
							... 
							
							
							
							llvm-svn: 108130 
							
						 
						
							2010-07-12 08:16:59 +00:00  
						
					 
				
					
						
							
							
								 
								Chandler Carruth
							
						 
						
							 
							
							
							
							
								
							
							
								57041d81df 
								
							 
						 
						
							
							
								
								Add parentheses around an || to correct the logic. Also silences a GCC warning  
							
							 
							
							... 
							
							
							
							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 
							
						 
						
							2010-07-12 06:47:05 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								fd4a09fc0a 
								
							 
						 
						
							
							
								
								fix PR7429, a crash turning a load from a string into a float.  
							
							 
							
							... 
							
							
							
							llvm-svn: 108113 
							
						 
						
							2010-07-12 00:22:51 +00:00  
						
					 
				
					
						
							
							
								 
								Gabor Greif
							
						 
						
							 
							
							
							
							
								
							
							
								8e66a42784 
								
							 
						 
						
							
							
								
								remove useless cast and fix typos in comment  
							
							 
							
							... 
							
							
							
							llvm-svn: 107989 
							
						 
						
							2010-07-09 16:42:04 +00:00  
						
					 
				
					
						
							
							
								 
								Gabor Greif
							
						 
						
							 
							
							
							
							
								
							
							
								3b740e9085 
								
							 
						 
						
							
							
								
								cache result of operator*  
							
							 
							
							... 
							
							
							
							llvm-svn: 107988 
							
						 
						
							2010-07-09 16:39:02 +00:00  
						
					 
				
					
						
							
							
								 
								Gabor Greif
							
						 
						
							 
							
							
							
							
								
							
							
								aa389f5085 
								
							 
						 
						
							
							
								
								cache result of operator*  
							
							 
							
							... 
							
							
							
							llvm-svn: 107982 
							
						 
						
							2010-07-09 16:22:36 +00:00  
						
					 
				
					
						
							
							
								 
								Gabor Greif
							
						 
						
							 
							
							
							
							
								
							
							
								070b9a2cc4 
								
							 
						 
						
							
							
								
								cache result of operator*  
							
							 
							
							... 
							
							
							
							llvm-svn: 107978 
							
						 
						
							2010-07-09 15:53:42 +00:00  
						
					 
				
					
						
							
							
								 
								Gabor Greif
							
						 
						
							 
							
							
							
							
								
							
							
								d9a0e80213 
								
							 
						 
						
							
							
								
								cache result of operator*  
							
							 
							
							... 
							
							
							
							llvm-svn: 107977 
							
						 
						
							2010-07-09 15:52:36 +00:00  
						
					 
				
					
						
							
							
								 
								Gabor Greif
							
						 
						
							 
							
							
							
							
								
							
							
								e82532a1c5 
								
							 
						 
						
							
							
								
								cache result of operator*  
							
							 
							
							... 
							
							
							
							llvm-svn: 107976 
							
						 
						
							2010-07-09 15:40:10 +00:00  
						
					 
				
					
						
							
							
								 
								Gabor Greif
							
						 
						
							 
							
							
							
							
								
							
							
								2732561be9 
								
							 
						 
						
							
							
								
								cache result of operator*  
							
							 
							
							... 
							
							
							
							llvm-svn: 107967 
							
						 
						
							2010-07-09 14:28:41 +00:00  
						
					 
				
					
						
							
							
								 
								Gabor Greif
							
						 
						
							 
							
							
							
							
								
							
							
								1d20021d82 
								
							 
						 
						
							
							
								
								do not repeatedly dereference use_iterator  
							
							 
							
							... 
							
							
							
							llvm-svn: 107963 
							
						 
						
							2010-07-09 13:17:13 +00:00  
						
					 
				
					
						
							
							
								 
								Stuart Hastings
							
						 
						
							 
							
							
							
							
								
							
							
								d08fb75aaa 
								
							 
						 
						
							
							
								
								Reverting r107918 and r107919.  Radar 8063111.  
							
							 
							
							... 
							
							
							
							llvm-svn: 107930 
							
						 
						
							2010-07-08 23:25:39 +00:00  
						
					 
				
					
						
							
							
								 
								Stuart Hastings
							
						 
						
							 
							
							
							
							
								
							
							
								43d226deea 
								
							 
						 
						
							
							
								
								Fix decl/def debug info for template functions.  Radar 8063111.  
							
							 
							
							... 
							
							
							
							llvm-svn: 107919 
							
						 
						
							2010-07-08 22:28:59 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								5b0a8a863f 
								
							 
						 
						
							
							
								
								Minore code simplification.  
							
							 
							
							... 
							
							
							
							llvm-svn: 107777 
							
						 
						
							2010-07-07 14:30:04 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								00ef93258a 
								
							 
						 
						
							
							
								
								Remove interprocedural-basic-aa and associated code. The AliasAnalysis  
							
							 
							
							... 
							
							
							
							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 
							
						 
						
							2010-07-07 14:27:09 +00:00  
						
					 
				
					
						
							
							
								 
								Gabor Greif
							
						 
						
							 
							
							
							
							
								
							
							
								a22e8148d4 
								
							 
						 
						
							
							
								
								conditionalize by CallInst::ArgOffset  
							
							 
							
							... 
							
							
							
							llvm-svn: 107767 
							
						 
						
							2010-07-07 10:34:03 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								1e33b18e28 
								
							 
						 
						
							
							
								
								Add some more TODO comments.  
							
							 
							
							... 
							
							
							
							llvm-svn: 107657 
							
						 
						
							2010-07-06 15:23:00 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								f855b39edd 
								
							 
						 
						
							
							
								
								Add a comment.  
							
							 
							
							... 
							
							
							
							llvm-svn: 107656 
							
						 
						
							2010-07-06 15:21:57 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								84f90a387d 
								
							 
						 
						
							
							
								
								Remove context sensitivity concerns from interprocedural-basic-aa, and  
							
							 
							
							... 
							
							
							
							make it more aggressive in cases where both pointers are known to live
in the same function.
llvm-svn: 107420 
							
						 
						
							2010-07-01 20:08:40 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								f638f4ff84 
								
							 
						 
						
							
							
								
								In ScalarEvolution::forgetValue, eliminate any SCEVUnknown  
							
							 
							
							... 
							
							
							
							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 
							
						 
						
							2010-06-30 20:21:12 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								c0cca7fdda 
								
							 
						 
						
							
							
								
								Revert the part of r107257 which introduced new logic for using  
							
							 
							
							... 
							
							
							
							nsw and nuw flags from IR Instructions. On further consideration,
this isn't valid.
llvm-svn: 107298 
							
						 
						
							2010-06-30 17:27:11 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								16206132b6 
								
							 
						 
						
							
							
								
								Improve ScalarEvolution's nsw and nuw preservation.  
							
							 
							
							... 
							
							
							
							llvm-svn: 107257 
							
						 
						
							2010-06-30 07:16:37 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								9396b42ca4 
								
							 
						 
						
							
							
								
								When computing a new ConservativeResult, intersect it with  
							
							 
							
							... 
							
							
							
							the old one instead of replacing it, to be more precise.
llvm-svn: 107256 
							
						 
						
							2010-06-30 06:58:35 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								0865966440 
								
							 
						 
						
							
							
								
								Rework scev-aa's basic computation so that it doesn't depend  
							
							 
							
							... 
							
							
							
							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 
							
						 
						
							2010-06-30 06:12:16 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								37f145c55b 
								
							 
						 
						
							
							
								
								Simplify.  
							
							 
							
							... 
							
							
							
							llvm-svn: 107248 
							
						 
						
							2010-06-30 06:09:46 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								ae36b1ed42 
								
							 
						 
						
							
							
								
								Fix ScalarEvolution's tripcount computation for chains of loops  
							
							 
							
							... 
							
							
							
							where each loop's induction variable's start value is the exit
value of a preceding loop.
llvm-svn: 107224 
							
						 
						
							2010-06-29 23:43:06 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								1be9e7c0b6 
								
							 
						 
						
							
							
								
								Fix whitespace style.  
							
							 
							
							... 
							
							
							
							llvm-svn: 107175 
							
						 
						
							2010-06-29 18:12:34 +00:00  
						
					 
				
					
						
							
							
								 
								Duncan Sands
							
						 
						
							 
							
							
							
							
								
							
							
								67aa21d7b5 
								
							 
						 
						
							
							
								
								Remove a pointless variable.  
							
							 
							
							... 
							
							
							
							llvm-svn: 107128 
							
						 
						
							2010-06-29 11:39:45 +00:00  
						
					 
				
					
						
							
							
								 
								Benjamin Kramer
							
						 
						
							 
							
							
							
							
								
							
							
								80b7bc042a 
								
							 
						 
						
							
							
								
								Use a more obvious way to avoid compiling functions which are only used when XDEBUG is enabled.  
							
							 
							
							... 
							
							
							
							llvm-svn: 107125 
							
						 
						
							2010-06-29 10:03:11 +00:00  
						
					 
				
					
						
							
							
								 
								Chandler Carruth
							
						 
						
							 
							
							
							
							
								
							
							
								b1adb88d05 
								
							 
						 
						
							
							
								
								Jump through some silly hoops to make GCC accept that a function may not always  
							
							 
							
							... 
							
							
							
							be called.
llvm-svn: 107124 
							
						 
						
							2010-06-29 06:46:00 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								90db61d638 
								
							 
						 
						
							
							
								
								Just as its not safe to blindly transfer the nsw bit from an add  
							
							 
							
							... 
							
							
							
							instruction to an add scev, it's not safe to blindly transfer the
inbounds flag from a gep instruction to an nsw on the scev for the
gep.
llvm-svn: 107117 
							
						 
						
							2010-06-29 01:41:41 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								0824affeff 
								
							 
						 
						
							
							
								
								Add an Intraprocedural form of BasicAliasAnalysis, which aims to  
							
							 
							
							... 
							
							
							
							properly handles instructions and arguments defined in different
functions, or across recursive function iterations.
llvm-svn: 107109 
							
						 
						
							2010-06-29 00:50:39 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								7c34ece501 
								
							 
						 
						
							
							
								
								Fix Value::stripPointerCasts and BasicAA to avoid trouble on  
							
							 
							
							... 
							
							
							
							code in unreachable blocks, which have have use-def cycles.
This fixes PR7514.
llvm-svn: 107071 
							
						 
						
							2010-06-28 21:16:52 +00:00