[NFC][RemoveDIs] Prefer iterators over inst-pointers in InstCombine
[llvm-project.git] / llvm / test / CodeGen / AArch64 / GlobalISel / combine-const-fold-barrier-rhs.mir
blob01e0dce5a661cb4127a3eb8d91d07bc632495476
1 # NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py UTC_ARGS: --version 2
2 # RUN: llc -mtriple aarch64 -run-pass=aarch64-prelegalizer-combiner -verify-machineinstrs %s -o - | FileCheck %s
3 ---
4 name:            cfb_lhs
5 tracksRegLiveness: true
6 body:             |
7   bb.1:
8     liveins: $w0
10     ; CHECK-LABEL: name: cfb_lhs
11     ; CHECK: liveins: $w0
12     ; CHECK-NEXT: {{  $}}
13     ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $w0
14     ; CHECK-NEXT: %cst:_(s32) = G_CONSTANT i32 1
15     ; CHECK-NEXT: %cfb:_(s32) = G_CONSTANT_FOLD_BARRIER %cst
16     ; CHECK-NEXT: %add:_(s32) = G_ADD [[COPY]], %cfb
17     ; CHECK-NEXT: $w0 = COPY %add(s32)
18     ; CHECK-NEXT: RET_ReallyLR
19     %0:_(s32) = COPY $w0
20     %cst:_(s32) = G_CONSTANT i32 1
21     %cfb:_(s32) = G_CONSTANT_FOLD_BARRIER %cst
22     %cst2:_(s32) = G_CONSTANT i32 2
23     %add:_(s32) = G_ADD %cfb, %0
24     $w0 = COPY %add
25     RET_ReallyLR
27 ...
28 ---
29 name:            cfb_lhs_cfb_already_rhs
30 tracksRegLiveness: true
31 body:             |
32   bb.1:
33     liveins: $w0
35     ; CHECK-LABEL: name: cfb_lhs_cfb_already_rhs
36     ; CHECK: liveins: $w0
37     ; CHECK-NEXT: {{  $}}
38     ; CHECK-NEXT: %cst:_(s32) = G_CONSTANT i32 1
39     ; CHECK-NEXT: %cfb:_(s32) = G_CONSTANT_FOLD_BARRIER %cst
40     ; CHECK-NEXT: %cst2:_(s32) = G_CONSTANT i32 2
41     ; CHECK-NEXT: %cfb2:_(s32) = G_CONSTANT_FOLD_BARRIER %cst2
42     ; CHECK-NEXT: %add:_(s32) = G_ADD %cfb, %cfb2
43     ; CHECK-NEXT: $w0 = COPY %add(s32)
44     ; CHECK-NEXT: RET_ReallyLR
45     %0:_(s32) = COPY $w0
46     %cst:_(s32) = G_CONSTANT i32 1
47     %cfb:_(s32) = G_CONSTANT_FOLD_BARRIER %cst
48     %cst2:_(s32) = G_CONSTANT i32 2
49     %cfb2:_(s32) = G_CONSTANT_FOLD_BARRIER %cst2
50     %add:_(s32) = G_ADD %cfb, %cfb2
51     $w0 = COPY %add
52     RET_ReallyLR
54 ...
55 ---
56 name:            cfb_lhs_cst_on_rhs
57 alignment:       4
58 tracksRegLiveness: true
59 body:             |
60   bb.1:
61     liveins: $w0
63     ; CHECK-LABEL: name: cfb_lhs_cst_on_rhs
64     ; CHECK: liveins: $w0
65     ; CHECK-NEXT: {{  $}}
66     ; CHECK-NEXT: %cst:_(s32) = G_CONSTANT i32 1
67     ; CHECK-NEXT: %cfb:_(s32) = G_CONSTANT_FOLD_BARRIER %cst
68     ; CHECK-NEXT: %cst2:_(s32) = G_CONSTANT i32 2
69     ; CHECK-NEXT: %add:_(s32) = G_ADD %cfb, %cst2
70     ; CHECK-NEXT: $w0 = COPY %add(s32)
71     ; CHECK-NEXT: RET_ReallyLR
72     %0:_(s32) = COPY $w0
73     %cst:_(s32) = G_CONSTANT i32 1
74     %cfb:_(s32) = G_CONSTANT_FOLD_BARRIER %cst
75     %cst2:_(s32) = G_CONSTANT i32 2
76     %add:_(s32) = G_ADD %cfb, %cst2
77     $w0 = COPY %add
78     RET_ReallyLR
80 ...