mirror of
				https://github.com/c64scene-ar/llvm-6502.git
				synced 2025-11-03 14:21:30 +00:00 
			
		
		
		
	After all hard work to implement the EHABI and with the test-suite passing, it's time to turn it on by default and allow users to disable it as a work-around while we fix the eventual bugs that show up. This commit also remove the -arm-enable-ehabi-descriptors, since we want the tables to be printed every time the EHABI is turned on for non-Darwin ARM targets. Although MCJIT EHABI is not working yet (needs linking with the right libraries), this commit also fixes some relocations on MCJIT regarding the EH tables/lib calls, and update some tests to avoid using EH tables when none are needed. The EH tests in the test-suite that were previously disabled on ARM now pass with these changes, so a follow-up commit on the test-suite will re-enable them. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@200388 91177308-0d34-0410-b5e6-96231b3b80d8
		
			
				
	
	
		
			35 lines
		
	
	
		
			1009 B
		
	
	
	
		
			LLVM
		
	
	
	
	
	
			
		
		
	
	
			35 lines
		
	
	
		
			1009 B
		
	
	
	
		
			LLVM
		
	
	
	
	
	
; RUN: %lli_mcjit -remote-mcjit -mcjit-remote-process=lli-child-target%exeext %s > /dev/null
 | 
						|
 | 
						|
@count = global i32 1, align 4
 | 
						|
 | 
						|
define i32 @main() nounwind {
 | 
						|
entry:
 | 
						|
  %retval = alloca i32, align 4
 | 
						|
  %i = alloca i32, align 4
 | 
						|
  store i32 0, i32* %retval
 | 
						|
  store i32 0, i32* %i, align 4
 | 
						|
  br label %for.cond
 | 
						|
 | 
						|
for.cond:                                         ; preds = %for.inc, %entry
 | 
						|
  %0 = load i32* %i, align 4
 | 
						|
  %cmp = icmp slt i32 %0, 49
 | 
						|
  br i1 %cmp, label %for.body, label %for.end
 | 
						|
 | 
						|
for.body:                                         ; preds = %for.cond
 | 
						|
  %1 = load i32* @count, align 4
 | 
						|
  %inc = add nsw i32 %1, 1
 | 
						|
  store i32 %inc, i32* @count, align 4
 | 
						|
  br label %for.inc
 | 
						|
 | 
						|
for.inc:                                          ; preds = %for.body
 | 
						|
  %2 = load i32* %i, align 4
 | 
						|
  %inc1 = add nsw i32 %2, 1
 | 
						|
  store i32 %inc1, i32* %i, align 4
 | 
						|
  br label %for.cond
 | 
						|
 | 
						|
for.end:                                          ; preds = %for.cond
 | 
						|
  %3 = load i32* @count, align 4
 | 
						|
  %sub = sub nsw i32 %3, 50
 | 
						|
  ret i32 %sub
 | 
						|
}
 |