[llvm] [ARM][Thumb2] Mark BTI-clearing instructions as scheduling region boundaries (PR #79173)

Victor Campos via llvm-commits llvm-commits at lists.llvm.org
Fri Apr 5 03:05:59 PDT 2024


================
@@ -0,0 +1,166 @@
+# RUN: llc -o - -run-pass=machine-scheduler -misched=shuffle %s | FileCheck %s
+# RUN: llc -o - -run-pass=postmisched %s | FileCheck %s
+
+--- |
+  target datalayout = "e-m:e-p:32:32-Fi8-i64:64-v128:64:128-a:0:32-n32-S64"
+  target triple = "thumbv8.1m.main-arm-none-eabi"
+
+  define i32 @foo_bti() #0 {
+  entry:
+    ret i32 0
+  }
+
+  define i32 @foo_pac() #0 {
+  entry:
+    ret i32 0
+  }
+
+  define i32 @foo_pacbti() #0 {
+  entry:
+    ret i32 0
+  }
+
+  define i32 @foo_setjmp() #0 {
+  entry:
+    ret i32 0
+  if.then:
+    ret i32 0
+  }
----------------
vhscampos wrote:

The LLVM IR for MIR tests can often be nonsensical. Names of functions and basic blocks need to match the ones from the corresponding MIR. Therefore "entry:" and "if.then:" can't be removed.

https://github.com/llvm/llvm-project/pull/79173


More information about the llvm-commits mailing list