mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-26 04:32:44 +01:00
8010bdcf94
In MachineCopyPropagation::BackwardPropagatableCopy(), a check is added for multiple destination registers. The copy propagation is avoided if the copied destination register is the same register as another destination on the same instruction. A new test is added. This used to fail on ARM like this: error: unpredictable instruction, RdHi and RdLo must be different umull r9, r9, lr, r0 Reviewed By: lkail Differential Revision: https://reviews.llvm.org/D82638
14 lines
460 B
YAML
14 lines
460 B
YAML
# RUN: llc -mtriple=arm-eabi -O1 -run-pass=machine-cp %s -o - \
|
|
# RUN: -verify-machineinstrs -simplify-mir | FileCheck %s
|
|
|
|
name: h
|
|
body: |
|
|
bb.0:
|
|
|
|
dead renamable $r9, renamable $r0 = UMULL renamable $lr, killed renamable $r0, 14 /* CC::al */, $noreg, $noreg
|
|
|
|
; CHECK: dead renamable $r9, renamable $r0 = UMULL renamable $lr, killed renamable $r0, 14 /* CC::al */, $noreg, $noreg
|
|
|
|
renamable $r9 = COPY killed renamable $r0
|
|
...
|