55 lines · plain
1# Check that modifying X5 register is not a problem for machine outliner2 3# RUN: llc -mtriple=riscv32 -x mir -run-pass=machine-outliner -simplify-mir -verify-machineinstrs < %s \4# RUN: | FileCheck -check-prefixes=CHECK,RV32I-MO %s5# RUN: llc -mtriple=riscv64 -x mir -run-pass=machine-outliner -simplify-mir -verify-machineinstrs < %s \6# RUN: | FileCheck -check-prefixes=CHECK,RV64I-MO %s7 8--- |9 define i32 @outline_tail_1(i32 %a, i32 %b) { ret i32 0 }10 11 define i32 @outline_tail_2(i32 %a, i32 %b) { ret i32 0 }12...13---14name: outline_tail_115tracksRegLiveness: true16isOutlined: false17body: |18 bb.0:19 liveins: $x10, $x11, $x520 ; RV32I-MO-LABEL: name: outline_tail_121 ; RV32I-MO: PseudoTAIL target-flags(riscv-call) @OUTLINED_FUNCTION_0, implicit $x2, implicit-def $x10, implicit-def $x11, implicit-def $x12, implicit $x2, implicit $x5, implicit $x10, implicit $x1122 ;23 ; RV64I-MO-LABEL: name: outline_tail_124 ; RV64I-MO: PseudoTAIL target-flags(riscv-call) @OUTLINED_FUNCTION_0, implicit $x2, implicit-def $x10, implicit-def $x11, implicit-def $x12, implicit $x2, implicit $x5, implicit $x10, implicit $x1125 $x11 = ORI $x11, 102326 $x12 = ADDI $x10, 1727 $x10 = ADD $x10, $x528 $x11 = AND $x12, $x1129 $x10 = SUB $x10, $x1130 PseudoRET implicit $x1031...32---33name: outline_tail_234tracksRegLiveness: true35isOutlined: false36body: |37 bb.0:38 liveins: $x10, $x11, $x539 ; RV32I-MO-LABEL: name: outline_tail_240 ; RV32I-MO: PseudoTAIL target-flags(riscv-call) @OUTLINED_FUNCTION_0, implicit $x2, implicit-def $x10, implicit-def $x11, implicit-def $x12, implicit $x2, implicit $x5, implicit $x10, implicit $x1141 ;42 ; RV64I-MO-LABEL: name: outline_tail_243 ; RV64I-MO: PseudoTAIL target-flags(riscv-call) @OUTLINED_FUNCTION_0, implicit $x2, implicit-def $x10, implicit-def $x11, implicit-def $x12, implicit $x2, implicit $x5, implicit $x10, implicit $x1144 $x11 = ORI $x11, 102345 $x12 = ADDI $x10, 1746 $x10 = ADD $x10, $x547 $x11 = AND $x12, $x1148 $x10 = SUB $x10, $x1149 PseudoRET implicit $x1050...51 52 53# CHECK-LABEL: name: OUTLINED_FUNCTION_054# CHECK: isOutlined: true55