]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - test/CodeGen/X86/sjlj-shadow-stack-liveness.mir
Vendor import of llvm trunk r351319 (just before the release_80 branch
[FreeBSD/FreeBSD.git] / test / CodeGen / X86 / sjlj-shadow-stack-liveness.mir
1 # RUN: llc -mtriple=x86_64-- -run-pass=expand-isel-pseudos -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 }
6
7   !llvm.module.flags = !{!0}
8
9   !0 = !{i32 4, !"cf-protection-return", i32 1}
10 ...
11 ---
12 name:            bar
13 # CHECK-LABEL: name: bar
14 alignment:       4
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
30
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 ...