Reid Kleckner 
							
						 
					 
					
						
						
							
						
						0f85d54670 
					 
					
						
						
							
							Add the ExceptionHandling::MSVC enumeration  
						
						... 
						
						
						
						It is intended to be used for a family of personality functions that
have similar IR preparation requirements. Typically when interoperating
with MSVC personality functions, bits of functionality need to be
outlined from the main function into helper functions. There is also
usually more than one landing pad per invoke, which does not match the
LLVM IR landingpad representation.
None of this is implemented yet. This change just adds a new enum that
is active for *-windows-msvc and delegates to the EH removal preparation
pass.  No functionality change for other targets.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@224625  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2014-12-19 22:19:48 +00:00 
						 
				 
			
				
					
						
							
							
								Stephen Lin 
							
						 
					 
					
						
						
							
						
						b4dc0233c9 
					 
					
						
						
							
							Convert CodeGen/*/*.ll tests to use the new CHECK-LABEL for easier debugging. No functionality change and all tests pass after conversion.  
						
						... 
						
						
						
						This was done with the following sed invocation to catch label lines demarking function boundaries:
    sed -i '' "s/^;\( *\)\([A-Z0-9_]*\):\( *\)test\([A-Za-z0-9_-]*\):\( *\)$/;\1\2-LABEL:\3test\4:\5/g" test/CodeGen/*/*.ll
which was written conservatively to avoid false positives rather than false negatives. I scanned through all the changes and everything looks correct.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186258  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2013-07-13 20:38:47 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						c3aa7c5c5a 
					 
					
						
						
							
							Disable expensive two-address optimizations at -O0. rdar://10453055  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144806  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-11-16 18:44:48 +00:00 
						 
				 
			
				
					
						
							
							
								Bill Wendling 
							
						 
					 
					
						
						
							
						
						935903191f 
					 
					
						
						
							
							Update more tests to the new EH scheme.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138903  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-08-31 21:39:05 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						7eba85eb86 
					 
					
						
						
							
							add missing colon, thanks peter.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137306  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-08-11 16:15:10 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						f4ea68fa5a 
					 
					
						
						
							
							fix PR10605 / rdar://9930964 by adding a pretty scary missed check.  
						
						... 
						
						
						
						It's somewhat surprising anything works without this.  Before we would
compile the testcase into:
test:                                   # @test
	movl	$4, 8(%rdi)
	movl	8(%rdi), %eax
	orl	%esi, %eax
	cmpl	$32, %edx
	movl	%eax, -4(%rsp)          # 4-byte Spill
	je	.LBB0_2
now we produce:
test:                                   # @test
	movl	8(%rdi), %eax
	movl	$4, 8(%rdi)
	orl	%esi, %eax
	cmpl	$32, %edx
	movl	%eax, -4(%rsp)          # 4-byte Spill
	je	.LBB0_2
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137303  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-08-11 06:26:54 +00:00 
						 
				 
			
				
					
						
							
							
								Jakob Stoklund Olesen 
							
						 
					 
					
						
						
							
						
						5e5ed44577 
					 
					
						
						
							
							Be less aggressive about hinting in RAFast.  
						
						... 
						
						
						
						In particular, don't spill dirty registers only to satisfy a hint. It is
not worth it.
The attached test case provides an example where the fast allocator
would spill a register when other registers are available.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132900  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-06-13 03:26:46 +00:00 
						 
				 
			
				
					
						
							
							
								Bill Wendling 
							
						 
					 
					
						
						
							
						
						d336de318e 
					 
					
						
						
							
							As Dan pointed out, movzbl, movsbl, and friends are nicer than their alias  
						
						... 
						
						
						
						(movzx/movsx) because they give more information. Revert that part of the patch.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129498  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-04-14 01:46:37 +00:00 
						 
				 
			
				
					
						
							
							
								Bill Wendling 
							
						 
					 
					
						
						
							
						
						c6df9883da 
					 
					
						
						
							
							Have the X86 back-end emit the alias instead of what's being aliased. In most  
						
						... 
						
						
						
						cases, it's much nicer and more informative reading the alias.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129497  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-04-14 01:11:51 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						b55d6b6a7e 
					 
					
						
						
							
							Fix fast-isel address mode folding to avoid folding instructions  
						
						... 
						
						
						
						outside of the current basic block. This fixes PR9500, rdar://9156159.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128041  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-03-22 00:04:35 +00:00 
						 
				 
			
				
					
						
							
							
								NAKAMURA Takumi 
							
						 
					 
					
						
						
							
						
						64779f4b87 
					 
					
						
						
							
							Relax expressions and add explicit triplets -linux and -win32.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126202  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-02-22 07:20:02 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						b99fdee325 
					 
					
						
						
							
							reapply my fix for PR8961 with a tweak to properly handle  
						
						... 
						
						
						
						multi-instruction sequences like calls.  Many thanks to Jakob for
finding a testcase.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123559  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-01-16 02:27:38 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						d357e88740 
					 
					
						
						
							
							revert my fastisel patch again which apparently still gives the  
						
						... 
						
						
						
						llvm-gcc-i386-linux-selfhost buildbot heartburn...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123431  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-01-14 06:14:33 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						9e27cc8049 
					 
					
						
						
							
							reapply r123414 now that the botz are calmed down and the fix is already in.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123427  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-01-14 04:24:28 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						a899d1c264 
					 
					
						
						
							
							r123414 broke llvm-gcc bootstrap apparently, revert  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123422  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-01-14 02:07:32 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						d754041493 
					 
					
						
						
							
							fix PR8961 - a fast isel miscompilation where we'd insert a new instruction  
						
						... 
						
						
						
						after sext's generated for addressing that got folded.  Previously we compiled
test5 into:
_test5:                                 ## @test5
## BB#0:
        movq    -8(%rsp), %rax          ## 8-byte Reload
        movq    (%rdi,%rax), %rdi
        addq    %rdx, %rdi
        movslq  %esi, %rax
        movq    %rax, -8(%rsp)          ## 8-byte Spill
        movq    %rdi, %rax
        ret
which is insane and wrong.  Now we produce:
_test5:                                 ## @test5
## BB#0:
	movslq	%esi, %rax
	movq	(%rdi,%rax), %rax
	addq	%rdx, %rax
	ret
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123414  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-01-14 00:01:01 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						e667e01723 
					 
					
						
						
							
							Use the source-order scheduler instead of the "fast" scheduler at -O0,  
						
						... 
						
						
						
						because it's more likely to keep debug line information in its original
order.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108496  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-16 02:01:19 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						f595141525 
					 
					
						
						
							
							Revert 107840 107839 107813 107804 107800 107797 107791.  
						
						... 
						
						
						
						Debug info intrinsics win for now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107850  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-08 01:00:56 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						f423a69839 
					 
					
						
						
							
							Add X86FastISel support for return statements. This entails refactoring  
						
						... 
						
						
						
						a bunch of stuff, to allow the target-independent calling convention
logic to be employed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107800  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-07 18:32:53 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						5c87bf64d6 
					 
					
						
						
							
							Teach X86FastISel to fold constant offsets and scaled indices in  
						
						... 
						
						
						
						the same address.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107373  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-01 02:27:15 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						dffb6e5aee 
					 
					
						
						
							
							fix PR4984 by ensuring that fastisel adds properly sign extended GEP displacement  
						
						... 
						
						
						
						values to machineinstrs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81886  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-09-15 18:27:02 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						371b8fc41c 
					 
					
						
						
							
							rename test  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81884  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-09-15 18:23:37 +00:00