xref: /llvm-project/llvm/test/CodeGen/X86/branchfolding-ehpad.mir (revision fc937806efd71eb3803b35d0920bb7d76bc3040b)
1# RUN: llc -mtriple=x86_64-windows-msvc -verify-machineinstrs -run-pass branch-folder -o - %s | FileCheck %s
2
3# Check that branch-folder does not create a fallthrough to a landing pad.
4# Also make sure that the landing pad still can be tail merged.
5---
6name: foo
7body: |
8  ; CHECK-LABEL: name: foo
9  bb.0:
10    successors: %bb.1, %bb.3
11  bb.1:
12    JCC_1 %bb.4, 5, implicit killed $eflags
13  bb.2:
14    MOV8mi $r13, 1, $noreg, 0, $noreg, 0
15    JMP_1 %bb.5
16  ; CHECK: bb.2:
17  ; CHECK-NOT: successors: {{.*}}bb.3
18  ; CHECK: bb.3 (landing-pad):
19  ; CHECK-NOT: MOV8mi
20  bb.3(landing-pad):
21    MOV8mi $r13, 1, $noreg, 0, $noreg, 0
22    JMP_1 %bb.5
23  ; CHECK: bb.4:
24  bb.4:
25    MOV8mi $r13, 2, $noreg, 0, $noreg, 0
26  bb.5:
27    RET 0
28...
29