mirror of
				https://github.com/c64scene-ar/llvm-6502.git
				synced 2025-10-30 16:17:05 +00:00 
			
		
		
		
	void foo() { __builtin_unreachable(); }
It will output the following on Darwin X86:
_func1:
Leh_func_begin0:
        pushq %rbp
Ltmp0:
        movq %rsp, %rbp
Ltmp1:
Leh_func_end0:
This prolog adds a new Call Frame Information (CFI) row to the FDE with an
address that is not within the address range of the code it describes -- part is
equal to the end of the function -- and therefore results in an invalid EH
frame. If we emit a nop in this situation, then the CFI row is now within the
address range.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108568 91177308-0d34-0410-b5e6-96231b3b80d8
		
	
		
			
				
	
	
		
			13 lines
		
	
	
		
			329 B
		
	
	
	
		
			LLVM
		
	
	
	
	
	
			
		
		
	
	
			13 lines
		
	
	
		
			329 B
		
	
	
	
		
			LLVM
		
	
	
	
	
	
| ; RUN: llc < %s -mtriple=powerpc-apple-darwin | FileCheck -check-prefix=CHECK-NO-FP %s
 | |
| ; RUN: llc < %s -mtriple=powerpc-apple-darwin -disable-fp-elim | FileCheck -check-prefix=CHECK-FP %s
 | |
| 
 | |
| define void @func() {
 | |
| entry:
 | |
|   unreachable
 | |
| }
 | |
| ; CHECK-NO-FP:     _func:
 | |
| ; CHECK-NO-FP:     nop
 | |
| 
 | |
| ; CHECK-FP:      _func:
 | |
| ; CHECK-FP:      nop
 |