Bill Wendling 
							
						 
					 
					
						
						
							
						
						46d5dd9b05 
					 
					
						
						
							
							Use the Attributes::get method which takes an AttrVal value directly to simplify the code a bit. No functionality change.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166009  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-10-16 05:23:31 +00:00 
						 
				 
			
				
					
						
							
							
								Bill Wendling 
							
						 
					 
					
						
						
							
						
						702cc91aa1 
					 
					
						
						
							
							Move the Attributes::Builder outside of the Attributes class and into its own class named AttrBuilder. No functionality change.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165960  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-10-15 20:35:56 +00:00 
						 
				 
			
				
					
						
							
							
								Bill Wendling 
							
						 
					 
					
						
						
							
						
						07aae2e7d5 
					 
					
						
						
							
							Add an enum for the return and function indexes into the AttrListPtr object. This gets rid of some magic numbers.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165924  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-10-15 07:29:08 +00:00 
						 
				 
			
				
					
						
							
							
								Bill Wendling 
							
						 
					 
					
						
						
							
						
						cb3de0bc80 
					 
					
						
						
							
							Attributes Rewrite  
						
						... 
						
						
						
						Convert the internal representation of the Attributes class into a pointer to an
opaque object that's uniqued by and stored in the LLVMContext object. The
Attributes class then becomes a thin wrapper around this opaque
object. Eventually, the internal representation will be expanded to include
attributes that represent code generation options, etc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165917  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-10-15 04:46:55 +00:00 
						 
				 
			
				
					
						
							
							
								Bill Wendling 
							
						 
					 
					
						
						
							
						
						c416795fea 
					 
					
						
						
							
							Remove the bitwise assignment OR operator from the Attributes class. Replace it with the equivalent from the builder class.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165895  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-10-14 07:35:59 +00:00 
						 
				 
			
				
					
						
							
							
								Bill Wendling 
							
						 
					 
					
						
						
							
						
						2e879bcd52 
					 
					
						
						
							
							Use the enum value of the attributes when adding them to the attributes builder.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165494  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-10-09 09:11:20 +00:00 
						 
				 
			
				
					
						
							
							
								Bill Wendling 
							
						 
					 
					
						
						
							
						
						3fa5709342 
					 
					
						
						
							
							Fix. Apply the no capture attribute to the correct parameter.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165469  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-10-09 00:51:40 +00:00 
						 
				 
			
				
					
						
							
							
								Bill Wendling 
							
						 
					 
					
						
						
							
						
						c40abb0b68 
					 
					
						
						
							
							Convert to using the Attributes::Builder class to create attributes.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165468  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-10-09 00:47:36 +00:00 
						 
				 
			
				
					
						
							
							
								Craig Topper 
							
						 
					 
					
						
						
							
						
						c2945e44d5 
					 
					
						
						
							
							Mark unimplemented copy constructors and copy assignment operators as LLVM_DELETED_FUNCTION.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164090  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-09-18 02:01:41 +00:00 
						 
				 
			
				
					
						
							
							
								Dmitri Gribenko 
							
						 
					 
					
						
						
							
						
						c5252da873 
					 
					
						
						
							
							Fix Doxygen issues:  
						
						... 
						
						
						
						* wrap code blocks in \code ... \endcode;
* refer to parameter names in paragraphs correctly (\arg is not what most
  people want -- it starts a new paragraph);
* use \param instead of \arg to document parameters in order to be consistent
  with the rest of the codebase.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163902  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-09-14 14:57:36 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						0d1bc5f916 
					 
					
						
						
							
							Detect overflow in the path count computation. rdar://12277446.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163739  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-09-12 20:45:17 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						230768bd13 
					 
					
						
						
							
							Make provenance checking conservative in cases when  
						
						... 
						
						
						
						pointers-to-strong-pointers may be in play. These can lead to retains and
releases happening in unstructured ways, foiling the optimizer. This fixes
rdar://12150909.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163180  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-09-04 23:16:20 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						40e466091e 
					 
					
						
						
							
							Don't use for loops for code that is only intended to execute once. No  
						
						... 
						
						
						
						intended functionality change. Thanks to Ahmed Charles for spotting it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162686  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-08-27 18:31:36 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						c72d3be389 
					 
					
						
						
							
							An objc_retain can serve as a may-use for a different pointer.  
						
						... 
						
						
						
						rdar://11931823.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160637  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-07-23 19:27:31 +00:00 
						 
				 
			
				
					
						
							
							
								Sylvestre Ledru 
							
						 
					 
					
						
						
							
						
						c8e41c5917 
					 
					
						
						
							
							Fix a typo (the the => the)  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160621  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-07-23 08:51:15 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						58fb3401fa 
					 
					
						
						
							
							Fix the objc_autoreleasedReturnValue optimization code to locate  
						
						... 
						
						
						
						the call correctly even in the case where it is an invoke. This
fixes rdar://11714057.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159157  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-06-25 19:47:37 +00:00 
						 
				 
			
				
					
						
							
							
								Benjamin Kramer 
							
						 
					 
					
						
						
							
						
						d9b0b02561 
					 
					
						
						
							
							Fix typos found by  http://github.com/lyda/misspell-check  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157885  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-06-02 10:20:22 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						55dc5c77a3 
					 
					
						
						
							
							Reimplement the intrinsic verifier to use the same table as Intrinsic::getDefinition,  
						
						... 
						
						
						
						making it stronger and more sane.
Delete the code from tblgen that produced the old code.
Besides being a path forward in intrinsic sanity, this also eliminates a bunch of
machine generated code that was compiled into Function.o
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157545  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-05-27 19:37:05 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						4c8f909cdf 
					 
					
						
						
							
							Mark an unreachable region of code with llvm_unreachable.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157197  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-05-21 17:41:28 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						ce5d8b0d03 
					 
					
						
						
							
							Fix replacing all the users of objc weak runtime routines  
						
						... 
						
						
						
						when deleting them. rdar://11434915.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157080  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-05-18 22:17:29 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						95b8cf1f11 
					 
					
						
						
							
							Fix the objc_storeStrong recognizer to stop before walking off the  
						
						... 
						
						
						
						end of a basic block if there's no store.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156520  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-05-09 23:08:33 +00:00 
						 
				 
			
				
					
						
							
							
								Craig Topper 
							
						 
					 
					
						
						
							
						
						b12af898c3 
					 
					
						
						
							
							Remove unused variable to get rid of warning.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156466  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-05-09 07:08:58 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						0daef3d902 
					 
					
						
						
							
							Miscellaneous accumulated cleanups.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156445  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-05-08 23:39:44 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						4670dace66 
					 
					
						
						
							
							Fix objc_storeStrong pattern matching to catch a potential use of the  
						
						... 
						
						
						
						old value after the store but before it is released.
This fixes rdar:/11116986.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156442  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-05-08 23:34:08 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						447989cb68 
					 
					
						
						
							
							Miscellaneous accumulated cleanups.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155725  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-04-27 18:56:31 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						50ade65982 
					 
					
						
						
							
							Simplify the known retain count tracking; use a boolean state instead  
						
						... 
						
						
						
						of a precise count. Also, move RRInfo's Partial field into PtrState,
now that it won't increase the size.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155513  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-04-25 00:50:46 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						eeeb7752a8 
					 
					
						
						
							
							Build custom predecessor and successor lists for each basic block.  
						
						... 
						
						
						
						These lists exclude invoke unwind edges and loop backedges which
are being ignored. This makes it easier to ignore them
consistently.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155500  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-04-24 22:53:18 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						8b74e5afda 
					 
					
						
						
							
							Avoid a bug in the path count computation, preventing an infinite  
						
						... 
						
						
						
						loop repeatedlt making the same change. This is for rdar://11256239.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155160  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-04-19 21:50:46 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						3b5b2a22ca 
					 
					
						
						
							
							Don't crash on code where the user put __attribute__((constructor)) on  
						
						... 
						
						
						
						a function with arguments. This fixes rdar://11265785.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155073  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-04-18 22:24:33 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						d6bf201fa2 
					 
					
						
						
							
							Add some comments, and fix a few places that missed setting Changed.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154687  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-04-13 18:57:48 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						4423477548 
					 
					
						
						
							
							Consider ObjC runtime calls objc_storeWeak and others which make a copy of  
						
						... 
						
						
						
						their argument as "escape" points for objc_retainBlock optimization.
This fixes rdar://11229925.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154682  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-04-13 18:28:58 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						6c189ecbe6 
					 
					
						
						
							
							Use the new Use-aware dominates method to apply the objc runtime  
						
						... 
						
						
						
						library return value optimization for phi uses. Even when the
phi itself is not dominated, the specific use may be dominated.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154647  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-04-13 01:08:28 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						511568dd1f 
					 
					
						
						
							
							Don't move objc_autorelease calls past autorelease pool boundaries when  
						
						... 
						
						
						
						optimizing autorelease calls on phi nodes with null operands.
This fixes rdar://11207070.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154642  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-04-13 00:59:57 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						036ebfd874 
					 
					
						
						
							
							Fix accidentally inverted logic from r152803, and make the  
						
						... 
						
						
						
						testcase slightly less trivial. This fixes rdar://11171718.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154118  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-04-05 20:27:21 +00:00 
						 
				 
			
				
					
						
							
							
								Francois Pichet 
							
						 
					 
					
						
						
							
						
						b54a5eda6d 
					 
					
						
						
							
							Fix the MSVC build.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153366  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-03-24 01:36:37 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						6fedb3c401 
					 
					
						
						
							
							Don't convert objc_retainAutoreleasedReturnValue to objc_retain if it  
						
						... 
						
						
						
						is retaining the return value of an invoke that it immediately follows.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153344  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-03-23 18:09:00 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						fbab4a8c8a 
					 
					
						
						
							
							It's not possible to insert code immediately after an invoke in the  
						
						... 
						
						
						
						same basic block, and it's not safe to insert code in the successor
blocks if the edges are critical edges. Splitting those edges is
possible, but undesirable, especially on the unwind side. Instead,
make the bottom-up code motion to consider invokes to be part of
their successor blocks, rather than part of their parent blocks, so
that it doesn't push code past them and onto the edges. This fixes
PR12307.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153343  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-03-23 17:47:54 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						c7f5c6e0e3 
					 
					
						
						
							
							Refactor the code for visiting instructions out into helper functions.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153267  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-03-22 18:24:56 +00:00 
						 
				 
			
				
					
						
							
							
								Rafael Espindola 
							
						 
					 
					
						
						
							
						
						2453dff96a 
					 
					
						
						
							
							Short term fix for pr12270 before we change dominates to handle unreachable  
						
						... 
						
						
						
						code.
While here, reduce indentation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152803  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-03-15 15:52:59 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						8b11fdd8bb 
					 
					
						
						
							
							When an invoke is marked with metadata indicating its unwind edge  
						
						... 
						
						
						
						should be ignored by ARC optimization, don't insert new ARC runtime
calls in the unwind destination.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152748  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-03-14 23:05:06 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						5992f67e68 
					 
					
						
						
							
							When identifying exit nodes for the reverse-CFG reverse-post-order  
						
						... 
						
						
						
						traversal, consider nodes for which the only successors are backedges
which the traversal is ignoring to be exit nodes. This fixes a problem
where the bottom-up traversal was failing to visit split blocks along
split loop backedges. This fixes rdar://10989035.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152421  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-03-09 18:50:52 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						70e2968866 
					 
					
						
						
							
							Fix an iterator invalidation problem. operator[] on a DenseMap  
						
						... 
						
						
						
						can insert a new element, invalidating iterators. Use find
instead, and handle the case where the key is not found explicitly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151871  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-03-02 01:26:46 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						22cc4ccc9e 
					 
					
						
						
							
							Misc micro-optimizations.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151869  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-03-02 01:13:53 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						dbe266be35 
					 
					
						
						
							
							Calls and invokes with the new clang.arc.no_objc_arc_exceptions  
						
						... 
						
						
						
						metadata may still unwind, but only in ways that the ARC
optimizer doesn't need to consider. This permits more
aggressive optimization.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150829  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-02-17 18:59:53 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						a3b08d68bd 
					 
					
						
						
							
							Just like in regular escape analysis, loads and stores through  
						
						... 
						
						
						
						(but not of) a block pointer do not cause the block pointer to
escape. This fixes rdar://10803830.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150424  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-02-13 22:57:02 +00:00 
						 
				 
			
				
					
						
							
							
								David Blaikie 
							
						 
					 
					
						
						
							
						
						4d6ccb5f68 
					 
					
						
						
							
							More dead code removal (using -Wunreachable-code)  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148578  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-01-20 21:51:11 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						0cdece4389 
					 
					
						
						
							
							Set the "tail" flag on pattern-matched objc_storeStrong calls.  
						
						... 
						
						
						
						rdar://10531041.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148490  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-01-19 19:14:36 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						2f77bbd1bf 
					 
					
						
						
							
							Add a depth limit to avoid runaway recursion.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148419  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-01-18 21:24:45 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						1dae3e965c 
					 
					
						
						
							
							Use llvm.global_ctors to locate global constructors instead  
						
						... 
						
						
						
						of recognizing them by name.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148416  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-01-18 21:19:38 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						2f6263c96a 
					 
					
						
						
							
							Add a new ObjC ARC optimization pass to eliminate unneeded  
						
						... 
						
						
						
						autorelease push+pop pairs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148330  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-01-17 20:52:24 +00:00