39 lines · plain
1;; This file contains the previous semantic of the branch-target-enforcement, sign-return-address.2;; Used for test mixing a mixed link case and also verify the import too in llc.3 4; RUN: llc -mattr=+pauth -mattr=+bti %s -o - | FileCheck %s5 6target datalayout = "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128"7target triple = "aarch64-unknown-linux-gnu"8 9define i32 @foo_on() #0 {10entry:11 ret i32 4212}13 14; CHECK-LABEL: foo_on:15; CHECK: pacibsp16; CHECK: mov17; CHECK: retab18 19define i32 @foo_off() #1 {20entry:21 ret i32 4322}23 24; CHECK-LABEL: foo_off:25; CHECK-NOT: pac26; CHECK-NOT: hint27; CHECK-NOT: bti28; CHECK: ret29 30attributes #0 = { noinline nounwind optnone uwtable }31attributes #1 = { noinline nounwind optnone uwtable "branch-target-enforcement"="false" "sign-return-address"="none" }32 33!llvm.module.flags = !{!0, !1, !2, !3}34 35!0 = !{i32 8, !"branch-target-enforcement", i32 1}36!1 = !{i32 8, !"sign-return-address", i32 1}37!2 = !{i32 8, !"sign-return-address-all", i32 1}38!3 = !{i32 8, !"sign-return-address-with-bkey", i32 1}39