[clang][modules] Don't prevent translation of FW_Private includes when explicitly...
[llvm-project.git] / llvm / test / CodeGen / AArch64 / mlicm-stack-write-check.mir
blob0b1fdf9c33d66c69f60a5cd4fc17e2dafc84130b
1 # RUN: llc -mtriple=aarch64 -run-pass machinelicm -verify-machineinstrs -o - %s | FileCheck %s
2 ---
3 name: test
4 tracksRegLiveness: true
5 registers:
6   - { id: 0, class: gpr64 }
7 stack:
8   - { id: 0, size: 8, type: spill-slot }
9 body: |
10   bb.0:
11     ; CHECK-LABEL: name: test
12     ; CHECK-LABEL: bb.0:
13     ; CHECK: $x2 = LDRXui %stack.0, 0
14     liveins: $x0, $x1, $x2
15     B %bb.1
17   bb.1:
18     ; CHECK-LABEL: bb.1:
19     ; CHECK-NOT: $x2 = LDRXui %stack.0, 0
20     ; CHECK: $x0 = ADDXrr $x0, $x2
21     liveins: $x0
22     DBG_VALUE %stack.0, 0
23     $x2 = LDRXui %stack.0, 0 :: (load (s64) from %stack.0)
24     $x0 = ADDXrr $x0, killed $x2
25     $xzr = SUBSXri killed $x0, 1, 0, implicit-def $nzcv
26     Bcc 11, %bb.1, implicit $nzcv
27     B %bb.2
29   bb.2:
30     liveins: $x0
31     %0 = COPY $x0
32     %0 = COPY $x0  ; Force isSSA = false.
33 ...
34 ---
35 name: test2
36 tracksRegLiveness: true
37 registers:
38   - { id: 0, class: gpr64 }
39 stack:
40   - { id: 0, size: 8, type: spill-slot }
41 body: |
42   bb.0:
43     ; CHECK-LABEL: name: test2
44     ; CHECK-LABEL: bb.0:
45     ; CHECK: $x2 = LDRXui %stack.0, 0
46     liveins: $x0, $x1, $x2
47     B %bb.1
49   bb.1:
50     ; CHECK-LABEL: bb.1:
51     ; CHECK-NOT: $x2 = LDRXui %stack.0, 0
52     ; CHECK: $w0 = ADDWrr $w0, $w2
53     liveins: $x0
54     DBG_VALUE %stack.0, 0
55     $x2 = LDRXui %stack.0, 0 :: (load (s64) from %stack.0)
56     $w0 = ADDWrr $w0, killed $w2
57     $wzr = SUBSWri killed $w0, 1, 0, implicit-def $nzcv
58     Bcc 11, %bb.1, implicit $nzcv
59     B %bb.2
61   bb.2:
62     liveins: $x0
63     %0 = COPY $x0
64     %0 = COPY $x0  ; Force isSSA = false.
65 ...