summaryrefslogtreecommitdiff
path: root/test/CodeGen/MIR
diff options
context:
space:
mode:
Diffstat (limited to 'test/CodeGen/MIR')
-rw-r--r--test/CodeGen/MIR/AArch64/cfi-def-cfa.mir31
-rw-r--r--test/CodeGen/MIR/AArch64/cfi.mir59
2 files changed, 59 insertions, 31 deletions
diff --git a/test/CodeGen/MIR/AArch64/cfi-def-cfa.mir b/test/CodeGen/MIR/AArch64/cfi-def-cfa.mir
deleted file mode 100644
index a946b9f9f4a..00000000000
--- a/test/CodeGen/MIR/AArch64/cfi-def-cfa.mir
+++ /dev/null
@@ -1,31 +0,0 @@
-# RUN: llc -mtriple=aarch64-none-linux-gnu -run-pass none -o - %s | FileCheck %s
-# This test ensures that the MIR parser parses the def_cfa operands
-# correctly.
-
---- |
-
- declare void @foo()
-
- define void @trivial_fp_func() {
- entry:
- call void @foo()
- ret void
- }
-
-...
----
-name: trivial_fp_func
-body: |
- bb.0.entry:
- liveins: %lr, %fp, %lr, %fp
-
- %sp = frame-setup STPXpre killed %fp, killed %lr, %sp, -2
- %fp = frame-setup ADDXri %sp, 0, 0
- ; CHECK: CFI_INSTRUCTION def_cfa %w29, 16
- frame-setup CFI_INSTRUCTION def_cfa %w29, 16
- frame-setup CFI_INSTRUCTION offset %w30, -8
- frame-setup CFI_INSTRUCTION offset %w29, -16
- BL @foo, csr_aarch64_aapcs, implicit-def dead %lr, implicit %sp, implicit-def %sp
- %sp, %fp, %lr = LDPXpost %sp, 2
- RET_ReallyLR
-...
diff --git a/test/CodeGen/MIR/AArch64/cfi.mir b/test/CodeGen/MIR/AArch64/cfi.mir
new file mode 100644
index 00000000000..8d9a2772afa
--- /dev/null
+++ b/test/CodeGen/MIR/AArch64/cfi.mir
@@ -0,0 +1,59 @@
+# RUN: llc -mtriple=aarch64-none-linux-gnu -run-pass none -o - %s | FileCheck %s
+# This test ensures that the MIR parser parses the cfi directives correctly.
+
+--- |
+
+ declare void @foo()
+
+ define void @trivial_fp_func() {
+ entry:
+ call void @foo()
+ ret void
+ }
+
+ define void @trivial_fp_func_restore() {
+ entry:
+ call void @foo()
+ ret void
+ }
+
+...
+---
+name: trivial_fp_func
+# CHECK-LABEL: name: trivial_fp_func
+body: |
+ bb.0.entry:
+ liveins: %lr, %fp, %lr, %fp
+
+ %sp = frame-setup STPXpre killed %fp, killed %lr, %sp, -2
+ %fp = frame-setup ADDXri %sp, 0, 0
+ ; CHECK: CFI_INSTRUCTION def_cfa %w29, 16
+ frame-setup CFI_INSTRUCTION def_cfa %w29, 16
+ frame-setup CFI_INSTRUCTION offset %w30, -8
+ frame-setup CFI_INSTRUCTION offset %w29, -16
+ BL @foo, csr_aarch64_aapcs, implicit-def dead %lr, implicit %sp, implicit-def %sp
+ %sp, %fp, %lr = LDPXpost %sp, 2
+ RET_ReallyLR
+...
+---
+name: trivial_fp_func_restore
+# CHECK-LABEL: name: trivial_fp_func_restore
+body: |
+ bb.0.entry:
+ liveins: %lr, %fp
+
+ %sp = frame-setup STPXpre killed %fp, killed %lr, %sp, -2
+ %fp = frame-setup ADDXri %sp, 0, 0
+ frame-setup CFI_INSTRUCTION def_cfa %w29, 16
+ frame-setup CFI_INSTRUCTION offset %w30, -8
+ ; CHECK: CFI_INSTRUCTION offset %w30, -8
+ frame-setup CFI_INSTRUCTION offset %w29, -16
+ ; CHECK: CFI_INSTRUCTION offset %w29, -16
+ BL @foo, csr_aarch64_aapcs, implicit-def dead %lr, implicit %sp, implicit-def %sp
+ %sp, %fp, %lr = LDPXpost %sp, 2
+ CFI_INSTRUCTION restore %w30
+ ; CHECK: CFI_INSTRUCTION restore %w30
+ CFI_INSTRUCTION restore %w29
+ ; CHECK: CFI_INSTRUCTION restore %w29
+ RET_ReallyLR
+...