mirror of
				https://github.com/c64scene-ar/llvm-6502.git
				synced 2025-11-03 14:21:30 +00:00 
			
		
		
		
	Remove && from the end of the lines to prevent tests from throwing run lines into the background. Also, clean up places where the same command is run multiple times by using a temporary file. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36142 91177308-0d34-0410-b5e6-96231b3b80d8
		
			
				
	
	
		
			28 lines
		
	
	
		
			520 B
		
	
	
	
		
			LLVM
		
	
	
	
	
	
			
		
		
	
	
			28 lines
		
	
	
		
			520 B
		
	
	
	
		
			LLVM
		
	
	
	
	
	
; RUN: llvm-upgrade < %s | llvm-as | opt -lowerinvoke -disable-output -enable-correct-eh-support
 | 
						|
 | 
						|
implementation
 | 
						|
 | 
						|
int %foo() {
 | 
						|
	invoke int %foo() to label %Ok unwind label %Crap
 | 
						|
Ok:
 | 
						|
	invoke int %foo() to label %Ok2 unwind label %Crap
 | 
						|
Ok2:
 | 
						|
	ret int 2
 | 
						|
Crap:
 | 
						|
	ret int 1
 | 
						|
}
 | 
						|
 | 
						|
int %bar(int %blah) {
 | 
						|
	br label %doit
 | 
						|
doit:
 | 
						|
	;; Value live across an unwind edge.
 | 
						|
	%B2 = add int %blah, 1
 | 
						|
	invoke int %foo() to label %Ok unwind label %Crap
 | 
						|
Ok:
 | 
						|
	invoke int %foo() to label %Ok2 unwind label %Crap
 | 
						|
Ok2:
 | 
						|
	ret int 2
 | 
						|
Crap:
 | 
						|
	ret int %B2
 | 
						|
}
 |