384 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=riscv32 -x mir -run-pass=machine-outliner -simplify-mir -verify-machineinstrs -outliner-leaf-descendants=false < %s \3# RUN: | FileCheck %s4# RUN: llc -mtriple=riscv64 -x mir -run-pass=machine-outliner -simplify-mir -verify-machineinstrs -outliner-leaf-descendants=false < %s \5# RUN: | FileCheck %s6# RUN: llc -mtriple=riscv32 -x mir -run-pass=machine-outliner -simplify-mir --function-sections -verify-machineinstrs -outliner-leaf-descendants=false < %s \7# RUN: | FileCheck -check-prefix=CHECK-FS %s8# RUN: llc -mtriple=riscv64 -x mir -run-pass=machine-outliner -simplify-mir --function-sections -verify-machineinstrs -outliner-leaf-descendants=false < %s \9# RUN: | FileCheck -check-prefix=CHECK-FS %s10 11--- |12 ; Cannot outline instructions with pcrel-lo operands if function section13 ; enabled.14 @bar = dso_local local_unnamed_addr global i32 0, align 415 define i32 @foo(i32 %a, i32 %b) { ret i32 0 }16 17 $foo2 = comdat any18 define i32 @foo2(i32 %a, i32 %b) comdat { ret i32 0 }19 20 define i32 @foo3(i32 %a, i32 %b) section ".abc" { ret i32 0 }21 22 define i32 @foo4(i32 %a, i32 %b) !section_prefix !0 { ret i32 0 }23 !0 = !{!"function_section_prefix", !"myprefix"}24...25---26name: foo27tracksRegLiveness: true28body: |29 ; CHECK-LABEL: name: foo30 ; CHECK: bb.0:31 ; CHECK-NEXT: liveins: $x10, $x11, $x1332 ; CHECK-NEXT: {{ $}}33 ; CHECK-NEXT: $x5 = PseudoCALLReg target-flags(riscv-call) @OUTLINED_FUNCTION_1, implicit-def $x5, implicit-def $x10, implicit-def $x11, implicit-def $x12, implicit $x10, implicit $x11, implicit $x1334 ; CHECK-NEXT: PseudoBR %bb.335 ; CHECK-NEXT: {{ $}}36 ; CHECK-NEXT: bb.1:37 ; CHECK-NEXT: liveins: $x10, $x11, $x1338 ; CHECK-NEXT: {{ $}}39 ; CHECK-NEXT: $x5 = PseudoCALLReg target-flags(riscv-call) @OUTLINED_FUNCTION_1, implicit-def $x5, implicit-def $x10, implicit-def $x11, implicit-def $x12, implicit $x10, implicit $x11, implicit $x1340 ; CHECK-NEXT: PseudoBR %bb.341 ; CHECK-NEXT: {{ $}}42 ; CHECK-NEXT: bb.2:43 ; CHECK-NEXT: liveins: $x10, $x11, $x1344 ; CHECK-NEXT: {{ $}}45 ; CHECK-NEXT: $x5 = PseudoCALLReg target-flags(riscv-call) @OUTLINED_FUNCTION_1, implicit-def $x5, implicit-def $x10, implicit-def $x11, implicit-def $x12, implicit $x10, implicit $x11, implicit $x1346 ; CHECK-NEXT: PseudoBR %bb.347 ; CHECK-NEXT: {{ $}}48 ; CHECK-NEXT: bb.3:49 ; CHECK-NEXT: PseudoRET50 ;51 ; CHECK-FS-LABEL: name: foo52 ; CHECK-FS: bb.0:53 ; CHECK-FS-NEXT: liveins: $x10, $x11, $x1354 ; CHECK-FS-NEXT: {{ $}}55 ; CHECK-FS-NEXT: $x5 = PseudoCALLReg target-flags(riscv-call) @OUTLINED_FUNCTION_0, implicit-def $x5, implicit-def $x10, implicit-def $x11, implicit-def $x12, implicit $x10, implicit $x1156 ; CHECK-FS-NEXT: $x11 = LW killed renamable $x13, target-flags(riscv-pcrel-lo) <mcsymbol .Lpcrel_hi1> :: (dereferenceable load (s32) from @bar)57 ; CHECK-FS-NEXT: PseudoBR %bb.358 ; CHECK-FS-NEXT: {{ $}}59 ; CHECK-FS-NEXT: bb.1:60 ; CHECK-FS-NEXT: liveins: $x10, $x11, $x1361 ; CHECK-FS-NEXT: {{ $}}62 ; CHECK-FS-NEXT: $x5 = PseudoCALLReg target-flags(riscv-call) @OUTLINED_FUNCTION_0, implicit-def $x5, implicit-def $x10, implicit-def $x11, implicit-def $x12, implicit $x10, implicit $x1163 ; CHECK-FS-NEXT: $x11 = LW killed renamable $x13, target-flags(riscv-pcrel-lo) <mcsymbol .Lpcrel_hi1> :: (dereferenceable load (s32) from @bar)64 ; CHECK-FS-NEXT: PseudoBR %bb.365 ; CHECK-FS-NEXT: {{ $}}66 ; CHECK-FS-NEXT: bb.2:67 ; CHECK-FS-NEXT: liveins: $x10, $x11, $x1368 ; CHECK-FS-NEXT: {{ $}}69 ; CHECK-FS-NEXT: $x5 = PseudoCALLReg target-flags(riscv-call) @OUTLINED_FUNCTION_0, implicit-def $x5, implicit-def $x10, implicit-def $x11, implicit-def $x12, implicit $x10, implicit $x1170 ; CHECK-FS-NEXT: $x11 = LW killed renamable $x13, target-flags(riscv-pcrel-lo) <mcsymbol .Lpcrel_hi1> :: (dereferenceable load (s32) from @bar)71 ; CHECK-FS-NEXT: PseudoBR %bb.372 ; CHECK-FS-NEXT: {{ $}}73 ; CHECK-FS-NEXT: bb.3:74 ; CHECK-FS-NEXT: PseudoRET75 bb.0:76 liveins: $x10, $x11, $x1377 78 $x11 = ORI $x11, 102379 $x12 = ADDI $x10, 1780 $x11 = AND $x12, $x1181 $x10 = SUB $x10, $x1182 $x11 = LW killed renamable $x13, target-flags(riscv-pcrel-lo) <mcsymbol .Lpcrel_hi1> :: (dereferenceable load (s32) from @bar)83 PseudoBR %bb.384 85 bb.1:86 liveins: $x10, $x11, $x1387 88 $x11 = ORI $x11, 102389 $x12 = ADDI $x10, 1790 $x11 = AND $x12, $x1191 $x10 = SUB $x10, $x1192 $x11 = LW killed renamable $x13, target-flags(riscv-pcrel-lo) <mcsymbol .Lpcrel_hi1> :: (dereferenceable load (s32) from @bar)93 PseudoBR %bb.394 95 bb.2:96 liveins: $x10, $x11, $x1397 98 $x11 = ORI $x11, 102399 $x12 = ADDI $x10, 17100 $x11 = AND $x12, $x11101 $x10 = SUB $x10, $x11102 $x11 = LW killed renamable $x13, target-flags(riscv-pcrel-lo) <mcsymbol .Lpcrel_hi1> :: (dereferenceable load (s32) from @bar)103 PseudoBR %bb.3104 105 bb.3:106 PseudoRET107...108---109name: foo2110tracksRegLiveness: true111body: |112 ; CHECK-LABEL: name: foo2113 ; CHECK: bb.0:114 ; CHECK-NEXT: liveins: $x10, $x11, $x13115 ; CHECK-NEXT: {{ $}}116 ; CHECK-NEXT: $x5 = PseudoCALLReg target-flags(riscv-call) @OUTLINED_FUNCTION_0, implicit-def $x5, implicit-def $x10, implicit-def $x11, implicit-def $x12, implicit $x10, implicit $x11117 ; CHECK-NEXT: $x11 = LW killed renamable $x13, target-flags(riscv-pcrel-lo) <mcsymbol .Lpcrel_hi1> :: (dereferenceable load (s32) from @bar)118 ; CHECK-NEXT: PseudoBR %bb.3119 ; CHECK-NEXT: {{ $}}120 ; CHECK-NEXT: bb.1:121 ; CHECK-NEXT: liveins: $x10, $x11, $x13122 ; CHECK-NEXT: {{ $}}123 ; CHECK-NEXT: $x5 = PseudoCALLReg target-flags(riscv-call) @OUTLINED_FUNCTION_0, implicit-def $x5, implicit-def $x10, implicit-def $x11, implicit-def $x12, implicit $x10, implicit $x11124 ; CHECK-NEXT: $x11 = LW killed renamable $x13, target-flags(riscv-pcrel-lo) <mcsymbol .Lpcrel_hi1> :: (dereferenceable load (s32) from @bar)125 ; CHECK-NEXT: PseudoBR %bb.3126 ; CHECK-NEXT: {{ $}}127 ; CHECK-NEXT: bb.2:128 ; CHECK-NEXT: liveins: $x10, $x11, $x13129 ; CHECK-NEXT: {{ $}}130 ; CHECK-NEXT: $x5 = PseudoCALLReg target-flags(riscv-call) @OUTLINED_FUNCTION_0, implicit-def $x5, implicit-def $x10, implicit-def $x11, implicit-def $x12, implicit $x10, implicit $x11131 ; CHECK-NEXT: $x11 = LW killed renamable $x13, target-flags(riscv-pcrel-lo) <mcsymbol .Lpcrel_hi1> :: (dereferenceable load (s32) from @bar)132 ; CHECK-NEXT: PseudoBR %bb.3133 ; CHECK-NEXT: {{ $}}134 ; CHECK-NEXT: bb.3:135 ; CHECK-NEXT: PseudoRET136 ;137 ; CHECK-FS-LABEL: name: foo2138 ; CHECK-FS: bb.0:139 ; CHECK-FS-NEXT: liveins: $x10, $x11, $x13140 ; CHECK-FS-NEXT: {{ $}}141 ; CHECK-FS-NEXT: $x5 = PseudoCALLReg target-flags(riscv-call) @OUTLINED_FUNCTION_0, implicit-def $x5, implicit-def $x10, implicit-def $x11, implicit-def $x12, implicit $x10, implicit $x11142 ; CHECK-FS-NEXT: $x11 = LW killed renamable $x13, target-flags(riscv-pcrel-lo) <mcsymbol .Lpcrel_hi1> :: (dereferenceable load (s32) from @bar)143 ; CHECK-FS-NEXT: PseudoBR %bb.3144 ; CHECK-FS-NEXT: {{ $}}145 ; CHECK-FS-NEXT: bb.1:146 ; CHECK-FS-NEXT: liveins: $x10, $x11, $x13147 ; CHECK-FS-NEXT: {{ $}}148 ; CHECK-FS-NEXT: $x5 = PseudoCALLReg target-flags(riscv-call) @OUTLINED_FUNCTION_0, implicit-def $x5, implicit-def $x10, implicit-def $x11, implicit-def $x12, implicit $x10, implicit $x11149 ; CHECK-FS-NEXT: $x11 = LW killed renamable $x13, target-flags(riscv-pcrel-lo) <mcsymbol .Lpcrel_hi1> :: (dereferenceable load (s32) from @bar)150 ; CHECK-FS-NEXT: PseudoBR %bb.3151 ; CHECK-FS-NEXT: {{ $}}152 ; CHECK-FS-NEXT: bb.2:153 ; CHECK-FS-NEXT: liveins: $x10, $x11, $x13154 ; CHECK-FS-NEXT: {{ $}}155 ; CHECK-FS-NEXT: $x5 = PseudoCALLReg target-flags(riscv-call) @OUTLINED_FUNCTION_0, implicit-def $x5, implicit-def $x10, implicit-def $x11, implicit-def $x12, implicit $x10, implicit $x11156 ; CHECK-FS-NEXT: $x11 = LW killed renamable $x13, target-flags(riscv-pcrel-lo) <mcsymbol .Lpcrel_hi1> :: (dereferenceable load (s32) from @bar)157 ; CHECK-FS-NEXT: PseudoBR %bb.3158 ; CHECK-FS-NEXT: {{ $}}159 ; CHECK-FS-NEXT: bb.3:160 ; CHECK-FS-NEXT: PseudoRET161 bb.0:162 liveins: $x10, $x11, $x13163 164 $x11 = ORI $x11, 1023165 $x12 = ADDI $x10, 17166 $x11 = AND $x12, $x11167 $x10 = SUB $x10, $x11168 $x11 = LW killed renamable $x13, target-flags(riscv-pcrel-lo) <mcsymbol .Lpcrel_hi1> :: (dereferenceable load (s32) from @bar)169 PseudoBR %bb.3170 171 bb.1:172 liveins: $x10, $x11, $x13173 174 $x11 = ORI $x11, 1023175 $x12 = ADDI $x10, 17176 $x11 = AND $x12, $x11177 $x10 = SUB $x10, $x11178 $x11 = LW killed renamable $x13, target-flags(riscv-pcrel-lo) <mcsymbol .Lpcrel_hi1> :: (dereferenceable load (s32) from @bar)179 PseudoBR %bb.3180 181 bb.2:182 liveins: $x10, $x11, $x13183 184 $x11 = ORI $x11, 1023185 $x12 = ADDI $x10, 17186 $x11 = AND $x12, $x11187 $x10 = SUB $x10, $x11188 $x11 = LW killed renamable $x13, target-flags(riscv-pcrel-lo) <mcsymbol .Lpcrel_hi1> :: (dereferenceable load (s32) from @bar)189 PseudoBR %bb.3190 191 bb.3:192 PseudoRET193...194---195name: foo3196tracksRegLiveness: true197body: |198 ; CHECK-LABEL: name: foo3199 ; CHECK: bb.0:200 ; CHECK-NEXT: liveins: $x10, $x11, $x13201 ; CHECK-NEXT: {{ $}}202 ; CHECK-NEXT: $x11 = ORI $x11, 1023203 ; CHECK-NEXT: $x12 = ADDI $x10, 17204 ; CHECK-NEXT: $x11 = AND $x12, $x11205 ; CHECK-NEXT: $x10 = SUB $x10, $x11206 ; CHECK-NEXT: $x11 = LW killed renamable $x13, target-flags(riscv-pcrel-lo) <mcsymbol .Lpcrel_hi1> :: (dereferenceable load (s32) from @bar)207 ; CHECK-NEXT: PseudoBR %bb.3208 ; CHECK-NEXT: {{ $}}209 ; CHECK-NEXT: bb.1:210 ; CHECK-NEXT: liveins: $x10, $x11, $x13211 ; CHECK-NEXT: {{ $}}212 ; CHECK-NEXT: $x11 = ORI $x11, 1023213 ; CHECK-NEXT: $x12 = ADDI $x10, 17214 ; CHECK-NEXT: $x11 = AND $x12, $x11215 ; CHECK-NEXT: $x10 = SUB $x10, $x11216 ; CHECK-NEXT: $x11 = LW killed renamable $x13, target-flags(riscv-pcrel-lo) <mcsymbol .Lpcrel_hi1> :: (dereferenceable load (s32) from @bar)217 ; CHECK-NEXT: PseudoBR %bb.3218 ; CHECK-NEXT: {{ $}}219 ; CHECK-NEXT: bb.2:220 ; CHECK-NEXT: liveins: $x10, $x11, $x13221 ; CHECK-NEXT: {{ $}}222 ; CHECK-NEXT: $x11 = ORI $x11, 1023223 ; CHECK-NEXT: $x12 = ADDI $x10, 17224 ; CHECK-NEXT: $x11 = AND $x12, $x11225 ; CHECK-NEXT: $x10 = SUB $x10, $x11226 ; CHECK-NEXT: $x11 = LW killed renamable $x13, target-flags(riscv-pcrel-lo) <mcsymbol .Lpcrel_hi1> :: (dereferenceable load (s32) from @bar)227 ; CHECK-NEXT: PseudoBR %bb.3228 ; CHECK-NEXT: {{ $}}229 ; CHECK-NEXT: bb.3:230 ; CHECK-NEXT: PseudoRET231 ;232 ; CHECK-FS-LABEL: name: foo3233 ; CHECK-FS: bb.0:234 ; CHECK-FS-NEXT: liveins: $x10, $x11, $x13235 ; CHECK-FS-NEXT: {{ $}}236 ; CHECK-FS-NEXT: $x11 = ORI $x11, 1023237 ; CHECK-FS-NEXT: $x12 = ADDI $x10, 17238 ; CHECK-FS-NEXT: $x11 = AND $x12, $x11239 ; CHECK-FS-NEXT: $x10 = SUB $x10, $x11240 ; CHECK-FS-NEXT: $x11 = LW killed renamable $x13, target-flags(riscv-pcrel-lo) <mcsymbol .Lpcrel_hi1> :: (dereferenceable load (s32) from @bar)241 ; CHECK-FS-NEXT: PseudoBR %bb.3242 ; CHECK-FS-NEXT: {{ $}}243 ; CHECK-FS-NEXT: bb.1:244 ; CHECK-FS-NEXT: liveins: $x10, $x11, $x13245 ; CHECK-FS-NEXT: {{ $}}246 ; CHECK-FS-NEXT: $x11 = ORI $x11, 1023247 ; CHECK-FS-NEXT: $x12 = ADDI $x10, 17248 ; CHECK-FS-NEXT: $x11 = AND $x12, $x11249 ; CHECK-FS-NEXT: $x10 = SUB $x10, $x11250 ; CHECK-FS-NEXT: $x11 = LW killed renamable $x13, target-flags(riscv-pcrel-lo) <mcsymbol .Lpcrel_hi1> :: (dereferenceable load (s32) from @bar)251 ; CHECK-FS-NEXT: PseudoBR %bb.3252 ; CHECK-FS-NEXT: {{ $}}253 ; CHECK-FS-NEXT: bb.2:254 ; CHECK-FS-NEXT: liveins: $x10, $x11, $x13255 ; CHECK-FS-NEXT: {{ $}}256 ; CHECK-FS-NEXT: $x11 = ORI $x11, 1023257 ; CHECK-FS-NEXT: $x12 = ADDI $x10, 17258 ; CHECK-FS-NEXT: $x11 = AND $x12, $x11259 ; CHECK-FS-NEXT: $x10 = SUB $x10, $x11260 ; CHECK-FS-NEXT: $x11 = LW killed renamable $x13, target-flags(riscv-pcrel-lo) <mcsymbol .Lpcrel_hi1> :: (dereferenceable load (s32) from @bar)261 ; CHECK-FS-NEXT: PseudoBR %bb.3262 ; CHECK-FS-NEXT: {{ $}}263 ; CHECK-FS-NEXT: bb.3:264 ; CHECK-FS-NEXT: PseudoRET265 bb.0:266 liveins: $x10, $x11, $x13267 268 $x11 = ORI $x11, 1023269 $x12 = ADDI $x10, 17270 $x11 = AND $x12, $x11271 $x10 = SUB $x10, $x11272 $x11 = LW killed renamable $x13, target-flags(riscv-pcrel-lo) <mcsymbol .Lpcrel_hi1> :: (dereferenceable load (s32) from @bar)273 PseudoBR %bb.3274 275 bb.1:276 liveins: $x10, $x11, $x13277 278 $x11 = ORI $x11, 1023279 $x12 = ADDI $x10, 17280 $x11 = AND $x12, $x11281 $x10 = SUB $x10, $x11282 $x11 = LW killed renamable $x13, target-flags(riscv-pcrel-lo) <mcsymbol .Lpcrel_hi1> :: (dereferenceable load (s32) from @bar)283 PseudoBR %bb.3284 285 bb.2:286 liveins: $x10, $x11, $x13287 288 $x11 = ORI $x11, 1023289 $x12 = ADDI $x10, 17290 $x11 = AND $x12, $x11291 $x10 = SUB $x10, $x11292 $x11 = LW killed renamable $x13, target-flags(riscv-pcrel-lo) <mcsymbol .Lpcrel_hi1> :: (dereferenceable load (s32) from @bar)293 PseudoBR %bb.3294 295 bb.3:296 PseudoRET297...298---299name: foo4300tracksRegLiveness: true301body: |302 ; CHECK-LABEL: name: foo4303 ; CHECK: bb.0:304 ; CHECK-NEXT: liveins: $x10, $x11, $x13305 ; CHECK-NEXT: {{ $}}306 ; CHECK-NEXT: $x5 = PseudoCALLReg target-flags(riscv-call) @OUTLINED_FUNCTION_0, implicit-def $x5, implicit-def $x10, implicit-def $x11, implicit-def $x12, implicit $x10, implicit $x11307 ; CHECK-NEXT: $x11 = LW killed renamable $x13, target-flags(riscv-pcrel-lo) <mcsymbol .Lpcrel_hi1> :: (dereferenceable load (s32) from @bar)308 ; CHECK-NEXT: PseudoBR %bb.3309 ; CHECK-NEXT: {{ $}}310 ; CHECK-NEXT: bb.1:311 ; CHECK-NEXT: liveins: $x10, $x11, $x13312 ; CHECK-NEXT: {{ $}}313 ; CHECK-NEXT: $x5 = PseudoCALLReg target-flags(riscv-call) @OUTLINED_FUNCTION_0, implicit-def $x5, implicit-def $x10, implicit-def $x11, implicit-def $x12, implicit $x10, implicit $x11314 ; CHECK-NEXT: $x11 = LW killed renamable $x13, target-flags(riscv-pcrel-lo) <mcsymbol .Lpcrel_hi1> :: (dereferenceable load (s32) from @bar)315 ; CHECK-NEXT: PseudoBR %bb.3316 ; CHECK-NEXT: {{ $}}317 ; CHECK-NEXT: bb.2:318 ; CHECK-NEXT: liveins: $x10, $x11, $x13319 ; CHECK-NEXT: {{ $}}320 ; CHECK-NEXT: $x5 = PseudoCALLReg target-flags(riscv-call) @OUTLINED_FUNCTION_0, implicit-def $x5, implicit-def $x10, implicit-def $x11, implicit-def $x12, implicit $x10, implicit $x11321 ; CHECK-NEXT: $x11 = LW killed renamable $x13, target-flags(riscv-pcrel-lo) <mcsymbol .Lpcrel_hi1> :: (dereferenceable load (s32) from @bar)322 ; CHECK-NEXT: PseudoBR %bb.3323 ; CHECK-NEXT: {{ $}}324 ; CHECK-NEXT: bb.3:325 ; CHECK-NEXT: PseudoRET326 ;327 ; CHECK-FS-LABEL: name: foo4328 ; CHECK-FS: bb.0:329 ; CHECK-FS-NEXT: liveins: $x10, $x11, $x13330 ; CHECK-FS-NEXT: {{ $}}331 ; CHECK-FS-NEXT: $x5 = PseudoCALLReg target-flags(riscv-call) @OUTLINED_FUNCTION_0, implicit-def $x5, implicit-def $x10, implicit-def $x11, implicit-def $x12, implicit $x10, implicit $x11332 ; CHECK-FS-NEXT: $x11 = LW killed renamable $x13, target-flags(riscv-pcrel-lo) <mcsymbol .Lpcrel_hi1> :: (dereferenceable load (s32) from @bar)333 ; CHECK-FS-NEXT: PseudoBR %bb.3334 ; CHECK-FS-NEXT: {{ $}}335 ; CHECK-FS-NEXT: bb.1:336 ; CHECK-FS-NEXT: liveins: $x10, $x11, $x13337 ; CHECK-FS-NEXT: {{ $}}338 ; CHECK-FS-NEXT: $x5 = PseudoCALLReg target-flags(riscv-call) @OUTLINED_FUNCTION_0, implicit-def $x5, implicit-def $x10, implicit-def $x11, implicit-def $x12, implicit $x10, implicit $x11339 ; CHECK-FS-NEXT: $x11 = LW killed renamable $x13, target-flags(riscv-pcrel-lo) <mcsymbol .Lpcrel_hi1> :: (dereferenceable load (s32) from @bar)340 ; CHECK-FS-NEXT: PseudoBR %bb.3341 ; CHECK-FS-NEXT: {{ $}}342 ; CHECK-FS-NEXT: bb.2:343 ; CHECK-FS-NEXT: liveins: $x10, $x11, $x13344 ; CHECK-FS-NEXT: {{ $}}345 ; CHECK-FS-NEXT: $x5 = PseudoCALLReg target-flags(riscv-call) @OUTLINED_FUNCTION_0, implicit-def $x5, implicit-def $x10, implicit-def $x11, implicit-def $x12, implicit $x10, implicit $x11346 ; CHECK-FS-NEXT: $x11 = LW killed renamable $x13, target-flags(riscv-pcrel-lo) <mcsymbol .Lpcrel_hi1> :: (dereferenceable load (s32) from @bar)347 ; CHECK-FS-NEXT: PseudoBR %bb.3348 ; CHECK-FS-NEXT: {{ $}}349 ; CHECK-FS-NEXT: bb.3:350 ; CHECK-FS-NEXT: PseudoRET351 bb.0:352 liveins: $x10, $x11, $x13353 354 $x11 = ORI $x11, 1023355 $x12 = ADDI $x10, 17356 $x11 = AND $x12, $x11357 $x10 = SUB $x10, $x11358 $x11 = LW killed renamable $x13, target-flags(riscv-pcrel-lo) <mcsymbol .Lpcrel_hi1> :: (dereferenceable load (s32) from @bar)359 PseudoBR %bb.3360 361 bb.1:362 liveins: $x10, $x11, $x13363 364 $x11 = ORI $x11, 1023365 $x12 = ADDI $x10, 17366 $x11 = AND $x12, $x11367 $x10 = SUB $x10, $x11368 $x11 = LW killed renamable $x13, target-flags(riscv-pcrel-lo) <mcsymbol .Lpcrel_hi1> :: (dereferenceable load (s32) from @bar)369 PseudoBR %bb.3370 371 bb.2:372 liveins: $x10, $x11, $x13373 374 $x11 = ORI $x11, 1023375 $x12 = ADDI $x10, 17376 $x11 = AND $x12, $x11377 $x10 = SUB $x10, $x11378 $x11 = LW killed renamable $x13, target-flags(riscv-pcrel-lo) <mcsymbol .Lpcrel_hi1> :: (dereferenceable load (s32) from @bar)379 PseudoBR %bb.3380 381 bb.3:382 PseudoRET383...384