Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / llvm / test / CodeGen / X86 / sjlj-shadow-stack-liveness.mir
blob842b1fa949fe2201474313ab62dbe9fcced559d7
1 # RUN: llc -mtriple=x86_64-- -run-pass=finalize-isel -verify-machineinstrs -o - %s | FileCheck %s
2 # Check that we're not copying the kill flags with the operands from the pseudo
3 # instruction.
4 --- |
5   define void @bar() { ret void }
7   !llvm.module.flags = !{!0}
9   !0 = !{i32 8, !"cf-protection-return", i32 1}
10 ...
11 ---
12 name:            bar
13 # CHECK-LABEL: name: bar
14 alignment:       16
15 tracksRegLiveness: true
16 body:             |
17   bb.0:
18     %0:gr64 = IMPLICIT_DEF
19     ; CHECK: %0:gr64 = IMPLICIT_DEF
20     EH_SjLj_LongJmp64 killed %0, 1, $noreg, 0, $noreg
21     ; CHECK: bb.3:
22     ; CHECK: MOV64rm %0
23     ; CHECK-NOT: MOV64rm killed %0
24     ; CHECK: bb.7:
25     ; CHECK-NEXT: MOV64rm %0
26     ; CHECK-NOT: MOV64rm killed %0
27     ; CHECK-NEXT: MOV64rm %0
28     ; CHECK-NOT: MOV64rm killed %0
29     ; CHECK-NEXT: MOV64rm killed %0
31   ; FIXME: Dummy PHI to set the property NoPHIs to false. PR38439.
32   bb.2:
33     %1:gr64 = PHI undef %1, %bb.2, undef %1, %bb.2
34     JMP_1 %bb.2
35 ...