================
@@ -0,0 +1,22 @@
+// REQUIRES: arm-registered-target
+
+// RUN: %clang_cc1 -triple=thumbv7m-unknown-unknown-eabi 
-msign-return-address=non-leaf %s -S -emit-llvm -o - 2>&1 | FileCheck %s 
--check-prefix=CHECK --check-prefix=SIGN
+// RUN: %clang_cc1 -triple=thumbv7m-unknown-unknown-eabi 
-mbranch-target-enforce %s -S -emit-llvm -o - 2>&1 | FileCheck %s 
--check-prefix=CHECK --check-prefix=BTE
+// RUN: %clang_cc1 -triple=thumbv7m-unknown-unknown-eabi 
-mbranch-target-enforce -msign-return-address=all %s -S -emit-llvm -o - 2>&1 | 
FileCheck %s --check-prefix=CHECK --check-prefix=ALL
+
+// RUN: %clang_cc1 -flto -triple=thumbv7m-unknown-unknown-eabi 
-msign-return-address=non-leaf %s -S -emit-llvm -o - 2>&1 | FileCheck %s 
--check-prefix=CHECK --check-prefix=SIGN
+// RUN: %clang_cc1 -flto -triple=thumbv7m-unknown-unknown-eabi 
-mbranch-target-enforce %s -S -emit-llvm -o - 2>&1 | FileCheck %s 
--check-prefix=CHECK --check-prefix=BTE
+// RUN: %clang_cc1 -flto -triple=thumbv7m-unknown-unknown-eabi 
-mbranch-target-enforce -msign-return-address=all %s -S -emit-llvm -o - 2>&1 | 
FileCheck %s --check-prefix=CHECK --check-prefix=ALL
+
+// RUN: %clang_cc1 -flto=thin -triple=thumbv7m-unknown-unknown-eabi 
-msign-return-address=non-leaf %s -S -emit-llvm -o - 2>&1 | FileCheck %s 
--check-prefix=CHECK --check-prefix=SIGN
+// RUN: %clang_cc1 -flto=thin -triple=thumbv7m-unknown-unknown-eabi 
-mbranch-target-enforce  %s -S -emit-llvm -o - 2>&1 | FileCheck %s 
--check-prefix=CHECK --check-prefix=BTE
+// RUN: %clang_cc1 -flto=thin -triple=thumbv7m-unknown-unknown-eabi 
-mbranch-target-enforce -msign-return-address=all %s -S -emit-llvm -o - 2>&1 | 
FileCheck %s --check-prefix=CHECK --check-prefix=ALL
+
+void foo() {}
+
+// Check there are branch protection function attributes.
+// CHECK-LABEL: @foo() #[[#ATTR:]]
+
+// SIGN: attributes #[[#ATTR]] = { {{.*}} "sign-return-address"="non-leaf"
+// BTE:  attributes #[[#ATTR]] = { {{.*}} "branch-target-enforcement"
+// ALL:  attributes #[[#ATTR]] = { {{.*}} "branch-target-enforcement"{{.*}} 
"sign-return-address"="all"
----------------
DanielKristofKiss wrote:

ack

https://github.com/llvm/llvm-project/pull/82819
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to