
Any kill flags that were present for the old register are not valid for the replacement and the replacement may have extended the live range of the replacement register.
44 lines
1.5 KiB
YAML
44 lines
1.5 KiB
YAML
# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py UTC_ARGS: --version 5
|
|
# RUN: llc %s -mtriple=riscv32 -run-pass=riscv-fold-mem-offset -verify-machineinstrs -o - | FileCheck %s
|
|
|
|
---
|
|
name: crash
|
|
tracksRegLiveness: true
|
|
noPhis: false
|
|
isSSA: true
|
|
noVRegs: false
|
|
hasFakeUses: false
|
|
body: |
|
|
bb.0:
|
|
liveins: $x10, $x11
|
|
|
|
; CHECK-LABEL: name: crash
|
|
; CHECK: liveins: $x10, $x11
|
|
; CHECK-NEXT: {{ $}}
|
|
; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x11
|
|
; CHECK-NEXT: [[COPY1:%[0-9]+]]:gpr = COPY $x10
|
|
; CHECK-NEXT: [[SLLI:%[0-9]+]]:gpr = SLLI [[COPY]], 3
|
|
; CHECK-NEXT: [[ADD:%[0-9]+]]:gpr = ADD killed [[SLLI]], [[COPY1]]
|
|
; CHECK-NEXT: [[LUI:%[0-9]+]]:gpr = LUI 23
|
|
; CHECK-NEXT: [[ADD1:%[0-9]+]]:gpr = ADD [[ADD]], [[LUI]]
|
|
; CHECK-NEXT: [[ADD2:%[0-9]+]]:gpr = ADD [[ADD]], [[LUI]]
|
|
; CHECK-NEXT: [[LW:%[0-9]+]]:gpr = LW killed [[ADD2]], 1792
|
|
; CHECK-NEXT: [[LW1:%[0-9]+]]:gpr = LW killed [[ADD1]], 1796
|
|
; CHECK-NEXT: $x10 = COPY [[LW]]
|
|
; CHECK-NEXT: $x11 = COPY [[LW1]]
|
|
; CHECK-NEXT: PseudoRET implicit $x10, implicit $x11
|
|
%1:gpr = COPY $x11
|
|
%0:gpr = COPY $x10
|
|
%3:gpr = SLLI %1, 3
|
|
%4:gpr = ADD killed %3, %0
|
|
%5:gpr = LUI 23
|
|
%6:gpr = ADDI %5, 1792
|
|
%7:gpr = ADD %4, killed %6
|
|
%8:gpr = ADD %4, %5
|
|
%9:gpr = LW killed %8, 1792
|
|
%10:gpr = LW killed %7, 4
|
|
$x10 = COPY %9
|
|
$x11 = COPY %10
|
|
PseudoRET implicit $x10, implicit $x11
|
|
...
|