Manman Ren
							
						 
						
							 
							
							
							
							
								
							
							
								49d684e1e2 
								
							 
						 
						
							
							
								
								Release build: guard dump functions with  
							
							 
							
							... 
							
							
							
							"#if !defined(NDEBUG) || defined(LLVM_ENABLE_DUMP)"
No functional change. Update r163344.
llvm-svn: 163679 
							
						 
						
							2012-09-12 05:06:18 +00:00  
						
					 
				
					
						
							
							
								 
								Manman Ren
							
						 
						
							 
							
							
							
							
								
							
							
								c3366ccecb 
								
							 
						 
						
							
							
								
								Release build: guard dump functions with "ifndef NDEBUG"  
							
							 
							
							... 
							
							
							
							No functional change.
llvm-svn: 163344 
							
						 
						
							2012-09-06 19:55:56 +00:00  
						
					 
				
					
						
							
							
								 
								Roman Divacky
							
						 
						
							 
							
							
							
							
								
							
							
								ad06cee239 
								
							 
						 
						
							
							
								
								Stop casting away const qualifier needlessly.  
							
							 
							
							... 
							
							
							
							llvm-svn: 163258 
							
						 
						
							2012-09-05 22:26:57 +00:00  
						
					 
				
					
						
							
							
								 
								Benjamin Kramer
							
						 
						
							 
							
							
							
							
								
							
							
								e2ef47c145 
								
							 
						 
						
							
							
								
								Reduce use list thrashing by using DenseMap's find_as for maps with ValueHandle keys.  
							
							 
							
							... 
							
							
							
							No functionality change.
llvm-svn: 159497 
							
						 
						
							2012-06-30 22:37:15 +00:00  
						
					 
				
					
						
							
							
								 
								Hal Finkel
							
						 
						
							 
							
							
							
							
								
							
							
								56f6b0f219 
								
							 
						 
						
							
							
								
								Have AliasSet::aliasesUnknownInst use pointer TBAA info when available  
							
							 
							
							... 
							
							
							
							llvm-svn: 150249 
							
						 
						
							2012-02-10 15:52:39 +00:00  
						
					 
				
					
						
							
							
								 
								Eli Friedman
							
						 
						
							 
							
							
							
							
								
							
							
								91386c7be4 
								
							 
						 
						
							
							
								
								Atomic load/store support in LICM.  
							
							 
							
							... 
							
							
							
							llvm-svn: 137648 
							
						 
						
							2011-08-15 20:52:09 +00:00  
						
					 
				
					
						
							
							
								 
								Eli Friedman
							
						 
						
							 
							
							
							
							
								
							
							
								8b5277c6cf 
								
							 
						 
						
							
							
								
								Minor simplification.  
							
							 
							
							... 
							
							
							
							llvm-svn: 136202 
							
						 
						
							2011-07-27 01:02:25 +00:00  
						
					 
				
					
						
							
							
								 
								Eli Friedman
							
						 
						
							 
							
							
							
							
								
							
							
								ae8161e774 
								
							 
						 
						
							
							
								
								Fix AliasSetTracker so that it doesn't make any assumptions about instructions it doesn't know about (like the atomic instructions I'm adding).  
							
							 
							
							... 
							
							
							
							llvm-svn: 136198 
							
						 
						
							2011-07-27 00:46:46 +00:00  
						
					 
				
					
						
							
							
								 
								Eli Friedman
							
						 
						
							 
							
							
							
							
								
							
							
								17822fcde9 
								
							 
						 
						
							
							
								
								PR9604; try to deal with RAUW updates correctly in the AST.  I'm not convinced  
							
							 
							
							... 
							
							
							
							it's completely safe to cache the AST across LICM runs even with this fix,
but this fix can't hurt.
llvm-svn: 129198 
							
						 
						
							2011-04-09 06:55:46 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								fb0a3754f5 
								
							 
						 
						
							
							
								
								Update this code to handle PartialAlias as MayAlias.  
							
							 
							
							... 
							
							
							
							llvm-svn: 121508 
							
						 
						
							2010-12-10 19:40:47 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								468638826e 
								
							 
						 
						
							
							
								
								Don't forget the TBAA info, if available.  
							
							 
							
							... 
							
							
							
							llvm-svn: 118842 
							
						 
						
							2010-11-11 21:27:26 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								0f17507478 
								
							 
						 
						
							
							
								
								Teach LICM and AliasSetTracker about AccessesArgumentsReadonly.  
							
							 
							
							... 
							
							
							
							llvm-svn: 118618 
							
						 
						
							2010-11-09 19:58:21 +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
							
						 
						
							 
							
							
							
							
								
							
							
								e4a82e2f21 
								
							 
						 
						
							
							
								
								Make the representation of AliasSets explicitly differentiate  
							
							 
							
							... 
							
							
							
							between "not known yet" and "known no tbaa info" so that it
can merge them properly.
llvm-svn: 116767 
							
						 
						
							2010-10-18 23:31:47 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								408beac597 
								
							 
						 
						
							
							
								
								Don't pass the raw invalid pointer used to represent conflicting  
							
							 
							
							... 
							
							
							
							TBAA information to AliasAnalysis.
llvm-svn: 116751 
							
						 
						
							2010-10-18 21:28:00 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								71af9db0e8 
								
							 
						 
						
							
							
								
								Make AliasSetTracker TBAA-aware, enabling TBAA-enabled LICM.  
							
							 
							
							... 
							
							
							
							llvm-svn: 116743 
							
						 
						
							2010-10-18 20:44:50 +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  
						
					 
				
					
						
							
							
								 
								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  
						
					 
				
					
						
							
							
								 
								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  
						
					 
				
					
						
							
							
								 
								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
							
						 
						
							 
							
							
							
							
								
							
							
								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  
						
					 
				
					
						
							
							
								 
								Gabor Greif
							
						 
						
							 
							
							
							
							
								
							
							
								2e2503cd8d 
								
							 
						 
						
							
							
								
								simplify  
							
							 
							
							... 
							
							
							
							llvm-svn: 109577 
							
						 
						
							2010-07-28 10:46:09 +00:00  
						
					 
				
					
						
							
							
								 
								Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								a57b97e7e7 
								
							 
						 
						
							
							
								
								Fix batch of converting RegisterPass<> to INTIALIZE_PASS().  
							
							 
							
							... 
							
							
							
							llvm-svn: 109045 
							
						 
						
							2010-07-21 22:09:45 +00:00  
						
					 
				
					
						
							
							
								 
								David Greene
							
						 
						
							 
							
							
							
							
								
							
							
								0295ecfea0 
								
							 
						 
						
							
							
								
								Change dbgs() back to errs() as Chris requested.  
							
							 
							
							... 
							
							
							
							llvm-svn: 92073 
							
						 
						
							2009-12-23 22:49:57 +00:00  
						
					 
				
					
						
							
							
								 
								David Greene
							
						 
						
							 
							
							
							
							
								
							
							
								2ec90035e8 
								
							 
						 
						
							
							
								
								Convert debug messages to use dbgs().  Generally this means  
							
							 
							
							... 
							
							
							
							s/errs/dbgs/g except for certain special cases.
llvm-svn: 92029 
							
						 
						
							2009-12-23 19:27:59 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								88874ec60a 
								
							 
						 
						
							
							
								
								Remove the AliasAnalysis::getMustAliases method, which is dead.  
							
							 
							
							... 
							
							
							
							The hasNoModRefInfoForCalls isn't worth it as a filter because 
basicaa provides m/r info and everything chains to it, so remove
it.
llvm-svn: 89599 
							
						 
						
							2009-11-22 16:01:44 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								03d1bca60a 
								
							 
						 
						
							
							
								
								remove unneeded checks of isFreeCall  
							
							 
							
							... 
							
							
							
							llvm-svn: 85866 
							
						 
						
							2009-11-03 05:35:19 +00:00  
						
					 
				
					
						
							
							
								 
								Victor Hernandez
							
						 
						
							 
							
							
							
							
								
							
							
								f390e04a47 
								
							 
						 
						
							
							
								
								Rename MallocFreeHelper as MemoryBuiltins  
							
							 
							
							... 
							
							
							
							llvm-svn: 85286 
							
						 
						
							2009-10-27 20:05:49 +00:00  
						
					 
				
					
						
							
							
								 
								Victor Hernandez
							
						 
						
							 
							
							
							
							
								
							
							
								762195bd01 
								
							 
						 
						
							
							
								
								Rename MallocHelper as MallocFreeHelper, since it now also identifies calls to free()  
							
							 
							
							... 
							
							
							
							llvm-svn: 85181 
							
						 
						
							2009-10-26 23:58:56 +00:00  
						
					 
				
					
						
							
							
								 
								Victor Hernandez
							
						 
						
							 
							
							
							
							
								
							
							
								de5ad42aa1 
								
							 
						 
						
							
							
								
								Remove FreeInst.  
							
							 
							
							... 
							
							
							
							Remove LowerAllocations pass.
Update some more passes to treate free calls just like they were treating FreeInst.
llvm-svn: 85176 
							
						 
						
							2009-10-26 23:43:48 +00:00  
						
					 
				
					
						
							
							
								 
								Nick Lewycky
							
						 
						
							 
							
							
							
							
								
							
							
								974e12b2d3 
								
							 
						 
						
							
							
								
								Remove includes of Support/Compiler.h that are no longer needed after the  
							
							 
							
							... 
							
							
							
							VISIBILITY_HIDDEN removal.
llvm-svn: 85043 
							
						 
						
							2009-10-25 06:57:41 +00:00  
						
					 
				
					
						
							
							
								 
								Nick Lewycky
							
						 
						
							 
							
							
							
							
								
							
							
								02d5f77d26 
								
							 
						 
						
							
							
								
								Remove VISIBILITY_HIDDEN from class/struct found inside anonymous namespaces.  
							
							 
							
							... 
							
							
							
							Chris claims we should never have visibility_hidden inside any .cpp file but
that's still not true even after this commit.
llvm-svn: 85042 
							
						 
						
							2009-10-25 06:33:48 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								b1d782bec9 
								
							 
						 
						
							
							
								
								eliminate the std::ostream form of WriteAsOperand and update clients.  
							
							 
							
							... 
							
							
							
							This also updates dominator related stuff.
llvm-svn: 79825 
							
						 
						
							2009-08-23 05:17:37 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								dc2b1b0a1c 
								
							 
						 
						
							
							
								
								Fix some problems with ASTCallbackVH in its use as a DenseMap key.  
							
							 
							
							... 
							
							
							
							llvm-svn: 77696 
							
						 
						
							2009-07-31 18:21:48 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								f4362da1b7 
								
							 
						 
						
							
							
								
								Use CallbackVH in AliasSetTracker to avoid getting stuck with  
							
							 
							
							... 
							
							
							
							dangling Value*s.
llvm-svn: 77623 
							
						 
						
							2009-07-30 20:21:41 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								43d19d61d4 
								
							 
						 
						
							
							
								
								Make AliasAnalysis and related classes use  
							
							 
							
							... 
							
							
							
							getAnalysisIfAvailable<TargetData>().
llvm-svn: 77028 
							
						 
						
							2009-07-25 00:48:42 +00:00  
						
					 
				
					
						
							
							
								 
								Torok Edwin
							
						 
						
							 
							
							
							
							
								
							
							
								fbcc663cbf 
								
							 
						 
						
							
							
								
								llvm_unreachable->llvm_unreachable(0), LLVM_UNREACHABLE->llvm_unreachable.  
							
							 
							
							... 
							
							
							
							This adds location info for all llvm_unreachable calls (which is a macro now) in
!NDEBUG builds.
In NDEBUG builds location info and the message is off (it only prints
"UREACHABLE executed").
llvm-svn: 75640 
							
						 
						
							2009-07-14 16:55:14 +00:00  
						
					 
				
					
						
							
							
								 
								Torok Edwin
							
						 
						
							 
							
							
							
							
								
							
							
								56d0659726 
								
							 
						 
						
							
							
								
								assert(0) -> LLVM_UNREACHABLE.  
							
							 
							
							... 
							
							
							
							Make llvm_unreachable take an optional string, thus moving the cerr<< out of
line.
LLVM_UNREACHABLE is now a simple wrapper that makes the message go away for
NDEBUG builds.
llvm-svn: 75379 
							
						 
						
							2009-07-11 20:10:48 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								7a78f3abd3 
								
							 
						 
						
							
							
								
								getEntryFor() may invalidate DenseMap iterator.  
							
							 
							
							... 
							
							
							
							Walking an invalidated iterator is not a good idea.
llvm-svn: 68047 
							
						 
						
							2009-03-30 18:34:47 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								0eab5ecb71 
								
							 
						 
						
							
							
								
								reimplement AliasSetTracker in terms of DenseMap instead of hash_map,  
							
							 
							
							... 
							
							
							
							hopefully no functionality change.
llvm-svn: 66398 
							
						 
						
							2009-03-09 05:11:09 +00:00  
						
					 
				
					
						
							
							
								 
								Zhou Sheng
							
						 
						
							 
							
							
							
							
								
							
							
								506035105c 
								
							 
						 
						
							
							
								
								Ignore the debug info intrinsics when adding instructions into alias sets.  
							
							 
							
							... 
							
							
							
							llvm-svn: 65934 
							
						 
						
							2009-03-03 06:02:04 +00:00