Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								229907cd11 
								
							 
						 
						
							
							
								
								land David Blaikie's patch to de-constify Type, with a few tweaks.  
							
							 
							
							... 
							
							
							
							llvm-svn: 135375 
							
						 
						
							2011-07-18 04:54:35 +00:00  
						
					 
				
					
						
							
							
								 
								Jay Foad
							
						 
						
							 
							
							
							
							
								
							
							
								57aa636794 
								
							 
						 
						
							
							
								
								Convert InsertValueInst and ExtractValueInst APIs to use ArrayRef.  
							
							 
							
							... 
							
							
							
							llvm-svn: 135040 
							
						 
						
							2011-07-13 10:26:04 +00:00  
						
					 
				
					
						
							
							
								 
								Jay Foad
							
						 
						
							 
							
							
							
							
								
							
							
								0091fe8ca1 
								
							 
						 
						
							
							
								
								PR9214: Convert ConstantExpr::getIndices() to return an ArrayRef, plus  
							
							 
							
							... 
							
							
							
							related tweaks to ExprMapKeyType.
llvm-svn: 129443 
							
						 
						
							2011-04-13 15:22:40 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								0f124e1987 
								
							 
						 
						
							
							
								
								Give GetUnderlyingObject a TargetData, to keep it in sync  
							
							 
							
							... 
							
							
							
							with BasicAA's DecomposeGEPExpression, which recently began
using a TargetData. This fixes PR8968, though the testcase
is awkward to reduce.
Also, update several off GetUnderlyingObject's users
which happen to have a TargetData handy to pass it in.
llvm-svn: 124134 
							
						 
						
							2011-01-24 18:53:32 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								a4fcd2418d 
								
							 
						 
						
							
							
								
								Move Value::getUnderlyingObject to be a standalone  
							
							 
							
							... 
							
							
							
							function so that it can live in Analysis instead of
VMCore.
llvm-svn: 121885 
							
						 
						
							2010-12-15 20:02:24 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								3cb55a1d23 
								
							 
						 
						
							
							
								
								Update a comment.  
							
							 
							
							... 
							
							
							
							llvm-svn: 121727 
							
						 
						
							2010-12-13 22:53:18 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								201acdb6db 
								
							 
						 
						
							
							
								
								Use PartialAlias to do better noalias lint checking.  
							
							 
							
							... 
							
							
							
							llvm-svn: 121514 
							
						 
						
							2010-12-10 20:04:06 +00:00  
						
					 
				
					
						
							
							
								 
								Duncan Sands
							
						 
						
							 
							
							
							
							
								
							
							
								ec7a6ecb92 
								
							 
						 
						
							
							
								
								Now that hasConstantValue has been made simpler, it may return the  
							
							 
							
							... 
							
							
							
							phi node itself if it occurs in an unreachable basic block.  Protect
against this.  Hopefully this will fix some more buildbots.
llvm-svn: 119493 
							
						 
						
							2010-11-17 10:23:23 +00:00  
						
					 
				
					
						
							
							
								 
								Duncan Sands
							
						 
						
							 
							
							
							
							
								
							
							
								64e41cf865 
								
							 
						 
						
							
							
								
								Previously SimplifyInstruction could report that an instruction  
							
							 
							
							... 
							
							
							
							simplified to itself (this can only happen in unreachable blocks).
Change it to return null instead.  Hopefully this will fix some
buildbot failures.
llvm-svn: 119490 
							
						 
						
							2010-11-17 08:35:29 +00:00  
						
					 
				
					
						
							
							
								 
								Duncan Sands
							
						 
						
							 
							
							
							
							
								
							
							
								7412f6e53d 
								
							 
						 
						
							
							
								
								Fix a layering violation: hasConstantValue, which is part of the PHINode  
							
							 
							
							... 
							
							
							
							class, uses DominatorTree which is an analysis.  This change moves all of
the tricky hasConstantValue logic to SimplifyInstruction, and replaces it
with a very simple literal implementation.  I already taught users of
hasConstantValue that need tricky stuff to use SimplifyInstruction instead.
I didn't update InlineFunction because the IR looks like it might be in a
funky state at the point it calls hasConstantValue, which makes calling
SimplifyInstruction dangerous since it can in theory do a lot of tricky
reasoning.  This may be a pessimization, for example in the case where
all phi node operands are either undef or a fixed constant.
llvm-svn: 119459 
							
						 
						
							2010-11-17 04:30:22 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								7dacf8f3f3 
								
							 
						 
						
							
							
								
								Avoid calling alias on non-pointer values.  
							
							 
							
							... 
							
							
							
							llvm-svn: 118822 
							
						 
						
							2010-11-11 19:23:51 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								f372cf869b 
								
							 
						 
						
							
							
								
								Reapply r116831 and r116839, converting AliasAnalysis to use  
							
							 
							
							... 
							
							
							
							uint64_t, plus fixes for places I missed before.
llvm-svn: 116875 
							
						 
						
							2010-10-19 22:54:46 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								b4aa503501 
								
							 
						 
						
							
							
								
								Revert r116831 and r116839, which are breaking selfhost builds.  
							
							 
							
							... 
							
							
							
							llvm-svn: 116858 
							
						 
						
							2010-10-19 21:06:16 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								f4c5fe73be 
								
							 
						 
						
							
							
								
								Change AliasAnalysis and its clients to use uint64_t instead of unsigned  
							
							 
							
							... 
							
							
							
							for representing object sizes, for consistency with other parts of LLVM.
llvm-svn: 116831 
							
						 
						
							2010-10-19 18:00:02 +00:00  
						
					 
				
					
						
							
							
								 
								Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								6c18d1aac0 
								
							 
						 
						
							
							
								
								Get rid of static constructors for pass registration.  Instead, every pass exposes an initializeMyPassFunction(), which  
							
							 
							
							... 
							
							
							
							must be called in the pass's constructor.  This function uses static dependency declarations to recursively initialize
the pass's dependencies.
Clients that only create passes through the createFooPass() APIs will require no changes.  Clients that want to use the
CommandLine options for passes will need to manually call the appropriate initialization functions in PassInitialization.h
before parsing commandline arguments.
I have tested this with all standard configurations of clang and llvm-gcc on Darwin.  It is possible that there are problems
with the static dependencies that will only be visible with non-standard options.  If you encounter any crash in pass
registration/creation, please send the testcase to me directly.
llvm-svn: 116820 
							
						 
						
							2010-10-19 17:21:58 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								14fe8cf238 
								
							 
						 
						
							
							
								
								Consistently use AliasAnalysis::UnknownSize instead of hardcoding ~0u.  
							
							 
							
							... 
							
							
							
							llvm-svn: 116815 
							
						 
						
							2010-10-19 17:06:23 +00:00  
						
					 
				
					
						
							
							
								 
								Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								8ac477ffb5 
								
							 
						 
						
							
							
								
								Begin adding static dependence information to passes, which will allow us to  
							
							 
							
							... 
							
							
							
							perform initialization without static constructors AND without explicit initialization
by the client.  For the moment, passes are required to initialize both their
(potential) dependencies and any passes they preserve.  I hope to be able to relax
the latter requirement in the future.
llvm-svn: 116334 
							
						 
						
							2010-10-12 19:48:12 +00:00  
						
					 
				
					
						
							
							
								 
								Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								df7a4f2515 
								
							 
						 
						
							
							
								
								Now with fewer extraneous semicolons!  
							
							 
							
							... 
							
							
							
							llvm-svn: 115996 
							
						 
						
							2010-10-07 22:25:06 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								65b48b5dfc 
								
							 
						 
						
							
							
								
								zap dead code.  
							
							 
							
							... 
							
							
							
							llvm-svn: 113073 
							
						 
						
							2010-09-04 18:12:00 +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  
						
					 
				
					
						
							
							
								 
								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  
						
					 
				
					
						
							
							
								 
								Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								a7aed18624 
								
							 
						 
						
							
							
								
								Reapply r110396, with fixes to appease the Linux buildbot gods.  
							
							 
							
							... 
							
							
							
							llvm-svn: 110460 
							
						 
						
							2010-08-06 18:33:48 +00:00  
						
					 
				
					
						
							
							
								 
								Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								bda59bd247 
								
							 
						 
						
							
							
								
								Revert r110396 to fix buildbots.  
							
							 
							
							... 
							
							
							
							llvm-svn: 110410 
							
						 
						
							2010-08-06 00:23:35 +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
							
						 
						
							 
							
							
							
							
								
							
							
								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
							
						 
						
							 
							
							
							
							
								
							
							
								d8968da2c5 
								
							 
						 
						
							
							
								
								Add a lint check for indirectbr with no successors.  
							
							 
							
							... 
							
							
							
							llvm-svn: 110074 
							
						 
						
							2010-08-02 23:06:43 +00:00  
						
					 
				
					
						
							
							
								 
								Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								a57b97e7e7 
								
							 
						 
						
							
							
								
								Fix batch of converting RegisterPass<> to INTIALIZE_PASS().  
							
							 
							
							... 
							
							
							
							llvm-svn: 109045 
							
						 
						
							2010-07-21 22:09:45 +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  
						
					 
				
					
						
							
							
								 
								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
							
						 
						
							 
							
							
							
							
								
							
							
								49a372cebc 
								
							 
						 
						
							
							
								
								Fix the noalias checking so that it doesn't worry about  
							
							 
							
							... 
							
							
							
							an argument aliasing itself. Thanks Duncan!
llvm-svn: 105288 
							
						 
						
							2010-06-01 20:51:40 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								0fa67e479a 
								
							 
						 
						
							
							
								
								Add lint checks for function attributes.  
							
							 
							
							... 
							
							
							
							llvm-svn: 105009 
							
						 
						
							2010-05-28 21:43:57 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								c575ec61ea 
								
							 
						 
						
							
							
								
								Fix lint's memcpy and memmove checks, and its basic block traversal.  
							
							 
							
							... 
							
							
							
							llvm-svn: 104970 
							
						 
						
							2010-05-28 17:44:00 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								862f034188 
								
							 
						 
						
							
							
								
								Detect self-referential values.  
							
							 
							
							... 
							
							
							
							llvm-svn: 104957 
							
						 
						
							2010-05-28 16:45:33 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								cef9fc37f4 
								
							 
						 
						
							
							
								
								Eli pointed out that va_arg instruction result values don't  
							
							 
							
							... 
							
							
							
							reference the stack.
llvm-svn: 104951 
							
						 
						
							2010-05-28 16:34:49 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								54d7aaa819 
								
							 
						 
						
							
							
								
								Teach lint how to look through simple store+load pairs and other  
							
							 
							
							... 
							
							
							
							effective no-op constructs, to make it more effective on
unoptimized IR.
llvm-svn: 104950 
							
						 
						
							2010-05-28 16:21:24 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								ddba4b725a 
								
							 
						 
						
							
							
								
								Add a lint check for returning the address of stack memory.  
							
							 
							
							... 
							
							
							
							llvm-svn: 104936 
							
						 
						
							2010-05-28 04:33:42 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								084bcb1322 
								
							 
						 
						
							
							
								
								Fix Lint printing warnings multiple times. Remove the ErrorStr  
							
							 
							
							... 
							
							
							
							option from lintModule, which was an artifact from being
based on Verifier code.
llvm-svn: 104765 
							
						 
						
							2010-05-26 22:28:53 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								a20a5cd24f 
								
							 
						 
						
							
							
								
								Reinstate checking of stackrestore, with checking for both Read  
							
							 
							
							... 
							
							
							
							and Write, and add a comment explaining this.
llvm-svn: 104756 
							
						 
						
							2010-05-26 22:21:25 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								996bc42a26 
								
							 
						 
						
							
							
								
								Stackrestore is not a load.  
							
							 
							
							... 
							
							
							
							llvm-svn: 104752 
							
						 
						
							2010-05-26 22:00:10 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								c96c6db59d 
								
							 
						 
						
							
							
								
								Remove a TODO which isn't practical.  
							
							 
							
							... 
							
							
							
							llvm-svn: 104748 
							
						 
						
							2010-05-26 21:50:41 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								1249adf160 
								
							 
						 
						
							
							
								
								Implement checking of the tail keyword.  
							
							 
							
							... 
							
							
							
							llvm-svn: 104744 
							
						 
						
							2010-05-26 21:46:36 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								299e7b93ac 
								
							 
						 
						
							
							
								
								Add lint checks for invalid uses of memory.  
							
							 
							
							... 
							
							
							
							llvm-svn: 102733 
							
						 
						
							2010-04-30 19:05:00 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								c951e6e414 
								
							 
						 
						
							
							
								
								Tidy a comment.  
							
							 
							
							... 
							
							
							
							llvm-svn: 102041 
							
						 
						
							2010-04-22 01:30:05 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								9ba08a4631 
								
							 
						 
						
							
							
								
								Add several more lint checks.  
							
							 
							
							... 
							
							
							
							llvm-svn: 100841 
							
						 
						
							2010-04-09 01:39:53 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								7808d490d3 
								
							 
						 
						
							
							
								
								Add a few more lint checks.  
							
							 
							
							... 
							
							
							
							llvm-svn: 100825 
							
						 
						
							2010-04-08 23:05:57 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								98bc4371c7 
								
							 
						 
						
							
							
								
								Add a -lint pass which checks for common sources of undefined or likely  
							
							 
							
							... 
							
							
							
							unintended behavior.
llvm-svn: 100798 
							
						 
						
							2010-04-08 18:47:09 +00:00