mirror of
				https://github.com/c64scene-ar/llvm-6502.git
				synced 2025-11-03 14:21:30 +00:00 
			
		
		
		
	handles Intrinsic::trap if TargetOptions::TrapFuncName is set. This fixes a bug in which the trap function was not taken into consideration when a program was compiled without optimization (at -O0). <rdar://problem/16291933> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@206323 91177308-0d34-0410-b5e6-96231b3b80d8
		
			
				
	
	
		
			59 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			LLVM
		
	
	
	
	
	
			
		
		
	
	
			59 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			LLVM
		
	
	
	
	
	
; RUN: llc < %s -mtriple=arm-apple-darwin | FileCheck %s -check-prefix=INSTR
 | 
						|
; RUN: llc < %s -mtriple=arm-apple-darwin -trap-func=_trap | FileCheck %s -check-prefix=FUNC
 | 
						|
; RUN: llc < %s -mtriple=arm-apple-darwin -trap-func=_trap -O0 | FileCheck %s -check-prefix=FUNC
 | 
						|
; RUN: llc -mtriple=armv7-unknown-nacl -filetype=obj %s -o - \
 | 
						|
; RUN:  | llvm-objdump -disassemble -triple armv7-unknown-nacl - \
 | 
						|
; RUN:  | FileCheck %s -check-prefix=ENCODING-NACL
 | 
						|
; RUN: llc -mtriple=armv7-unknown-nacl -filetype=obj %s -o - \
 | 
						|
; RUN:  | llvm-objdump -disassemble -triple armv7 -mattr=+nacl-trap - \
 | 
						|
; RUN:  | FileCheck %s -check-prefix=ENCODING-NACL
 | 
						|
; RUN: llc -mtriple=armv7 -mattr=+nacl-trap -filetype=obj %s -o - \
 | 
						|
; RUN:  | llvm-objdump -disassemble -triple armv7 -mattr=+nacl-trap - \
 | 
						|
; RUN:  | FileCheck %s -check-prefix=ENCODING-NACL
 | 
						|
; RUN: llc -verify-machineinstrs -fast-isel -mtriple=armv7-unknown-nacl -filetype=obj %s -o - \
 | 
						|
; RUN:  | llvm-objdump -disassemble -triple armv7-unknown-nacl - \
 | 
						|
; RUN:  | FileCheck %s -check-prefix=ENCODING-NACL
 | 
						|
; RUN: llc -mtriple=armv7 -filetype=obj %s -o - \
 | 
						|
; RUN:  | llvm-objdump -disassemble -triple armv7 - \
 | 
						|
; RUN:  | FileCheck %s -check-prefix=ENCODING-ALL
 | 
						|
; RUN: llc -verify-machineinstrs -fast-isel -mtriple=armv7 -filetype=obj %s -o - \
 | 
						|
; RUN:  | llvm-objdump -disassemble -triple armv7 - \
 | 
						|
; RUN:  | FileCheck %s -check-prefix=ENCODING-ALL
 | 
						|
; rdar://7961298
 | 
						|
; rdar://9249183
 | 
						|
 | 
						|
define void @t() nounwind {
 | 
						|
entry:
 | 
						|
; INSTR-LABEL: t:
 | 
						|
; INSTR: trap
 | 
						|
 | 
						|
; FUNC-LABEL: t:
 | 
						|
; FUNC: bl __trap
 | 
						|
 | 
						|
; ENCODING-NACL: f0 de fe e7
 | 
						|
 | 
						|
; ENCODING-ALL: fe de ff e7
 | 
						|
 | 
						|
  call void @llvm.trap()
 | 
						|
  unreachable
 | 
						|
}
 | 
						|
 | 
						|
define void @t2() nounwind {
 | 
						|
entry:
 | 
						|
; INSTR-LABEL: t2:
 | 
						|
; INSTR: trap
 | 
						|
 | 
						|
; FUNC-LABEL: t2:
 | 
						|
; FUNC: bl __trap
 | 
						|
 | 
						|
; ENCODING-NACL: f0 de fe e7
 | 
						|
 | 
						|
; ENCODING-ALL: fe de ff e7
 | 
						|
 | 
						|
  call void @llvm.debugtrap()
 | 
						|
  unreachable
 | 
						|
}
 | 
						|
 | 
						|
declare void @llvm.trap() nounwind
 | 
						|
declare void @llvm.debugtrap() nounwind
 |