xref: /llvm-project/llvm/test/Verifier/LoongArch/intrinsic-immarg.ll (revision 2c174a53d50bff301234c08d9ba130e1f0d22e28)
1; RUN: not llvm-as %s -o /dev/null 2>&1 | FileCheck %s
2
3declare ptr @llvm.frameaddress(i32 immarg)
4declare ptr @llvm.returnaddress(i32 immarg)
5
6define ptr @non_const_depth_frameaddress(i32 %x) nounwind {
7  ; CHECK: immarg operand has non-immediate parameter
8  ; CHECK-NEXT: i32 %x
9  ; CHECK-NEXT: %1 = call ptr @llvm.frameaddress.p0(i32 %x)
10  %1 = call ptr @llvm.frameaddress(i32 %x)
11  ret ptr %1
12}
13
14define ptr @non_const_depth_returnaddress(i32 %x) nounwind {
15  ; CHECK: immarg operand has non-immediate parameter
16  ; CHECK-NEXT: i32 %x
17  ; CHECK-NEXT: %1 = call ptr @llvm.returnaddress(i32 %x)
18  %1 = call ptr @llvm.returnaddress(i32 %x)
19  ret ptr %1
20}
21