mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-08-17 05:29:24 +00:00
Don't consider instructions with implicit physical register
defs to be necessarily live. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56310 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
6a0fd93547
commit
e251b1529f
@ -64,7 +64,8 @@ bool DeadMachineInstructionElim::runOnMachineFunction(MachineFunction &MF) {
|
|||||||
const MachineOperand &MO = MI->getOperand(i);
|
const MachineOperand &MO = MI->getOperand(i);
|
||||||
if (MO.isRegister() && MO.isDef()) {
|
if (MO.isRegister() && MO.isDef()) {
|
||||||
unsigned Reg = MO.getReg();
|
unsigned Reg = MO.getReg();
|
||||||
if (TargetRegisterInfo::isPhysicalRegister(Reg) ||
|
if ((!MO.isImplicit() &&
|
||||||
|
TargetRegisterInfo::isPhysicalRegister(Reg)) ||
|
||||||
!MRI.use_empty(Reg)) {
|
!MRI.use_empty(Reg)) {
|
||||||
// This def has a use. Don't delete the instruction!
|
// This def has a use. Don't delete the instruction!
|
||||||
AllDefsDead = false;
|
AllDefsDead = false;
|
||||||
|
Loading…
Reference in New Issue
Block a user