mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-08-17 05:29:24 +00:00
Keep UsedBlocks info accurate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35140 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
7e79e396a4
commit
e951cd1647
@ -160,6 +160,8 @@ void PNE::LowerAtomicPHINode(MachineBasicBlock &MBB,
|
||||
// Realize that the destination register is defined by the PHI copy now, not
|
||||
// the PHI itself.
|
||||
LV->getVarInfo(DestReg).DefInst = PHICopy;
|
||||
|
||||
LV->getVarInfo(IncomingReg).UsedBlocks[MBB.getNumber()] = true;
|
||||
}
|
||||
|
||||
// Adjust the VRegPHIUseCount map to account for the removal of this PHI
|
||||
@ -210,6 +212,7 @@ void PNE::LowerAtomicPHINode(MachineBasicBlock &MBB,
|
||||
// instruction kills the incoming value.
|
||||
//
|
||||
LiveVariables::VarInfo &InRegVI = LV->getVarInfo(SrcReg);
|
||||
InRegVI.UsedBlocks[opBlock.getNumber()] = true;
|
||||
|
||||
// Loop over all of the successors of the basic block, checking to see
|
||||
// if the value is either live in the block, or if it is killed in the
|
||||
|
@ -198,6 +198,9 @@ bool TwoAddressInstructionPass::runOnMachineFunction(MachineFunction &MF) {
|
||||
varInfo.DefInst = prevMi;
|
||||
|
||||
// update live variables for regB
|
||||
LiveVariables::VarInfo& varInfoB = LV.getVarInfo(regB);
|
||||
// regB is used in this BB.
|
||||
varInfoB.UsedBlocks[mbbi->getNumber()] = true;
|
||||
if (LV.removeVirtualRegisterKilled(regB, mbbi, mi))
|
||||
LV.addVirtualRegisterKilled(regB, prevMi);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user