|
142 | 142 | ret void
|
143 | 143 | }
|
144 | 144 |
|
| 145 | + define void @avl_is_last_instr() { |
| 146 | + ret void |
| 147 | + } |
| 148 | + |
145 | 149 | declare i32 @llvm.vector.reduce.add.v4i32(<4 x i32>)
|
146 | 150 |
|
147 | 151 | declare <vscale x 1 x i64> @llvm.riscv.vadd.nxv1i64.nxv1i64.i64(<vscale x 1 x i64>, <vscale x 1 x i64>, <vscale x 1 x i64>, i64) #1
|
@@ -1099,3 +1103,31 @@ body: |
|
1099 | 1103 | renamable $v10m2 = PseudoVADD_VV_M2 undef renamable $v10m2, %v, %v, -1, 5, 0
|
1100 | 1104 | renamable $v8m2 = PseudoVADD_VV_M2 undef renamable $v8m2, killed renamable $v10m2, killed %v, %outvl:gprnox0, 5, 0
|
1101 | 1105 | PseudoRET implicit $v8m2
|
| 1106 | +... |
| 1107 | +--- |
| 1108 | +name: avl_is_last_instr |
| 1109 | +tracksRegLiveness: true |
| 1110 | +body: | |
| 1111 | + ; CHECK-LABEL: name: avl_is_last_instr |
| 1112 | + ; CHECK: bb.0: |
| 1113 | + ; CHECK-NEXT: successors: %bb.1(0x80000000) |
| 1114 | + ; CHECK-NEXT: liveins: $x10 |
| 1115 | + ; CHECK-NEXT: {{ $}} |
| 1116 | + ; CHECK-NEXT: %avl:gprnox0 = COPY $x10 |
| 1117 | + ; CHECK-NEXT: [[COPY:%[0-9]+]]:gprnox0 = COPY %avl |
| 1118 | + ; CHECK-NEXT: {{ $}} |
| 1119 | + ; CHECK-NEXT: bb.1: |
| 1120 | + ; CHECK-NEXT: dead %avl:gprnox0 = ADDI %avl, -1 |
| 1121 | + ; CHECK-NEXT: dead $x0 = PseudoVSETIVLI 1, 192 /* e8, m1, ta, ma */, implicit-def $vl, implicit-def $vtype |
| 1122 | + ; CHECK-NEXT: $v8 = PseudoVMV_S_X undef renamable $v8, $x0, 1, 3 /* e8 */, implicit $vl, implicit $vtype |
| 1123 | + ; CHECK-NEXT: dead $x0 = PseudoVSETVLI [[COPY]], 192 /* e8, m1, ta, ma */, implicit-def $vl, implicit-def $vtype |
| 1124 | + ; CHECK-NEXT: $v8 = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, $noreg, 3 /* e8 */, 3 /* ta, ma */, implicit $vl, implicit $vtype |
| 1125 | + bb.0: |
| 1126 | + liveins: $x10 |
| 1127 | + %avl:gprnox0 = COPY $x10 |
| 1128 | +
|
| 1129 | + bb.1: |
| 1130 | + %vl:gprnox0 = PseudoVSETVLI %avl:gprnox0, 192, implicit-def dead $vl, implicit-def dead $vtype |
| 1131 | + %avl:gprnox0 = ADDI %avl:gprnox0, -1 |
| 1132 | + $v8 = PseudoVMV_S_X undef renamable $v8, $x0, 1, 3 |
| 1133 | + $v8 = PseudoVADD_VV_M1 $noreg, $noreg, $noreg, %vl:gprnox0, 3, 3 |
0 commit comments