[flang][cuda] Do not register global constants (#118582)
[llvm-project.git] / llvm / test / CodeGen / AArch64 / mlicm-stack-write-check.mir
blob90ff68d30a3a0e535f205a8750a11a84621c8e07
1 # RUN: llc -mtriple=aarch64 -run-pass machinelicm -verify-machineinstrs -o - %s | FileCheck %s
2 # RUN: llc -mtriple=aarch64 -passes machinelicm -o - %s | FileCheck %s
3 ---
4 name: test
5 tracksRegLiveness: true
6 stack:
7   - { id: 0, size: 8, type: spill-slot }
8 body: |
9   bb.0:
10     ; CHECK-LABEL: name: test
11     ; CHECK-LABEL: bb.0:
12     ; CHECK: $x2 = LDRXui %stack.0, 0
13     liveins: $x0, $x1, $x2
14     B %bb.1
16   bb.1:
17     ; CHECK-LABEL: bb.1:
18     ; CHECK-NOT: $x2 = LDRXui %stack.0, 0
19     ; CHECK: $x0 = ADDXrr $x0, $x2
20     liveins: $x0
21     DBG_VALUE %stack.0, 0
22     $x2 = LDRXui %stack.0, 0 :: (load (s64) from %stack.0)
23     $x0 = ADDXrr $x0, killed $x2
24     $xzr = SUBSXri killed $x0, 1, 0, implicit-def $nzcv
25     Bcc 11, %bb.1, implicit $nzcv
26     B %bb.2
28   bb.2:
29     liveins: $x0
30 ...
32 ---
33 name: test2
34 tracksRegLiveness: true
35 stack:
36   - { id: 0, size: 8, type: spill-slot }
37 body: |
38   bb.0:
39     ; CHECK-LABEL: name: test2
40     ; CHECK-LABEL: bb.0:
41     ; CHECK: $x2 = LDRXui %stack.0, 0
42     liveins: $x0, $x1, $x2
43     B %bb.1
45   bb.1:
46     ; CHECK-LABEL: bb.1:
47     ; CHECK-NOT: $x2 = LDRXui %stack.0, 0
48     ; CHECK: $w0 = ADDWrr $w0, $w2
49     liveins: $x0
50     DBG_VALUE %stack.0, 0
51     $x2 = LDRXui %stack.0, 0 :: (load (s64) from %stack.0)
52     $w0 = ADDWrr $w0, killed $w2
53     $wzr = SUBSWri killed $w0, 1, 0, implicit-def $nzcv
54     Bcc 11, %bb.1, implicit $nzcv
55     B %bb.2
57   bb.2:
58     liveins: $x0
59 ...