forked from OSchip/llvm-project
TargetSchedule: Do not consider subregister definitions as reads.
We should not consider subregister definitions as reads for schedule model purposes (they are just modeled as reads of the overal vreg for liveness calculation purposes, the CPU instructions are not actually reading). Unfortunately I cannot submit a test for this as it requires a target which uses ReadAdvance annotation in the scheduling model and has subregister liveness enabled at the same time, which is only the case on an out of tree target. llvm-svn: 279604
This commit is contained in:
parent
8702e44057
commit
3a133159cc
|
@ -144,7 +144,7 @@ static unsigned findUseIdx(const MachineInstr *MI, unsigned UseOperIdx) {
|
|||
unsigned UseIdx = 0;
|
||||
for (unsigned i = 0; i != UseOperIdx; ++i) {
|
||||
const MachineOperand &MO = MI->getOperand(i);
|
||||
if (MO.isReg() && MO.readsReg())
|
||||
if (MO.isReg() && MO.readsReg() && !MO.isDef())
|
||||
++UseIdx;
|
||||
}
|
||||
return UseIdx;
|
||||
|
|
Loading…
Reference in New Issue