[llvm] [BranchFolding][SEH] Add test to track SEH CFG optimization (PR #77598)
via llvm-commits
llvm-commits at lists.llvm.org
Wed Jan 10 05:08:04 PST 2024
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-backend-x86
Author: None (HaohaiWen)
<details>
<summary>Changes</summary>
This test tracks BranchFolding pass which removes fall through jump and
leaves landing-pad to be machine basic block of no predecessors. It
would raise bug as introduced in #<!-- -->77441.
---
Full diff: https://github.com/llvm/llvm-project/pull/77598.diff
1 Files Affected:
- (added) llvm/test/CodeGen/X86/branchfolding-landingpad-cfg.mir (+49)
``````````diff
diff --git a/llvm/test/CodeGen/X86/branchfolding-landingpad-cfg.mir b/llvm/test/CodeGen/X86/branchfolding-landingpad-cfg.mir
new file mode 100644
index 00000000000000..a494701c2a3997
--- /dev/null
+++ b/llvm/test/CodeGen/X86/branchfolding-landingpad-cfg.mir
@@ -0,0 +1,49 @@
+# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py UTC_ARGS: --version 4
+# RUN: llc -mtriple=x86_64-pc-windows-msvc -run-pass=branch-folder -o - %s | FileCheck %s
+---
+name: main
+body: |
+ ; CHECK-LABEL: name: main
+ ; CHECK: bb.0:
+ ; CHECK-NEXT: successors: %bb.1(0x7ffff800), %bb.3(0x00000800)
+ ; CHECK-NEXT: {{ $}}
+ ; CHECK-NEXT: {{ $}}
+ ; CHECK-NEXT: bb.1:
+ ; CHECK-NEXT: RET 0
+ ; CHECK-NEXT: {{ $}}
+ ; CHECK-NEXT: bb.2 (machine-block-address-taken, landing-pad, ehfunclet-entry):
+ ; CHECK-NEXT: successors: %bb.3(0x80000000)
+ ; CHECK-NEXT: {{ $}}
+ ; CHECK-NEXT: CLEANUPRET
+ ; CHECK-NEXT: {{ $}}
+ ; CHECK-NEXT: bb.3 (landing-pad, ehfunclet-entry):
+ ; CHECK-NEXT: CLEANUPRET
+ bb.0:
+ successors: %bb.1(0x7ffff800), %bb.5(0x00000800)
+ JMP_1 %bb.1
+
+ bb.1:
+ successors: %bb.2(0x7ffff800), %bb.4(0x00000800)
+
+ JMP_1 %bb.2
+
+ bb.2:
+ successors: %bb.3(0x7ffff800), %bb.4(0x00000800)
+
+ JMP_1 %bb.3
+
+ bb.3:
+ successors: %bb.6(0x7ffff800)
+
+ JMP_1 %bb.6
+
+ bb.4 (machine-block-address-taken, landing-pad, ehfunclet-entry):
+ successors: %bb.5(0x80000000)
+ CLEANUPRET
+
+ bb.5 (landing-pad, ehfunclet-entry):
+ CLEANUPRET
+
+ bb.6:
+ RET 0
+...
``````````
</details>
https://github.com/llvm/llvm-project/pull/77598
More information about the llvm-commits
mailing list