xref: /llvm-project/llvm/test/CodeGen/ARM/pacbti-module-attrs.ll (revision b0343a38a5910e980bb031e4014655d77cd0c162)
1; RUN: llc -mtriple thumbv8.1m.main-arm-none-eabi %s -o - | FileCheck %s --check-prefixes=CHECK,CHECK-USE
2; RUN: llc -mtriple thumbv8.1m.main-arm-none-eabi -mattr=+pacbti %s -o - | FileCheck %s --check-prefixes=CHECK-ARCHEXT,CHECK-USE
3
4; CHECK-DAG:         .eabi_attribute	50, 1	@ Tag_PAC_extension
5; CHECK-ARCHEXT-DAG: .eabi_attribute	50, 2	@ Tag_PAC_extension
6; CHECK-DAG:         .eabi_attribute	52, 1	@ Tag_BTI_extension
7; CHECK-ARCHEXT-DAG: .eabi_attribute	52, 2	@ Tag_BTI_extension
8; CHECK-USE-DAG:     .eabi_attribute	76, 1	@ Tag_PACRET_use
9; CHECK-USE-DAG:     .eabi_attribute	74, 1	@ Tag_BTI_use
10
11define i32 @foo(i32 %a) {
12entry:
13  %add = add nsw i32 %a, 1
14  ret i32 %add
15}
16
17!llvm.module.flags = !{!0, !1, !2}
18
19!0 = !{i32 8, !"branch-target-enforcement", i32 1}
20!1 = !{i32 8, !"sign-return-address", i32 1}
21!2 = !{i32 8, !"sign-return-address-all", i32 0}
22