19 lines
		
	
	
		
			528 B
		
	
	
	
		
			LLVM
		
	
	
	
			
		
		
	
	
			19 lines
		
	
	
		
			528 B
		
	
	
	
		
			LLVM
		
	
	
	
| ; RUN: llc -O0 < %s | FileCheck %s
 | |
| 
 | |
| ; For noreturn function with StackAlignment 8 (function contains call/alloc),
 | |
| ; check that lr is saved to keep the stack aligned.
 | |
| ; CHECK: push    {lr}
 | |
| 
 | |
| target datalayout = "e-m:e-p:32:32-Fi8-i64:64-v128:64:128-a:0:32-n32-S64"
 | |
| target triple = "thumbv5e-none-linux-gnueabi"
 | |
| 
 | |
| define dso_local i32 @f() noreturn nounwind {
 | |
| entry:
 | |
|   call i32 @llvm.arm.space(i32 2048, i32 undef)
 | |
|   tail call i32 @exit(i32 0)
 | |
|   unreachable
 | |
| }
 | |
| 
 | |
| declare i32 @llvm.arm.space(i32, i32)
 | |
| declare dso_local i32 @exit(i32)
 |