mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-16 14:31:59 +00:00
If a virtual register is already marked alive in this block, that means it is
alive in one of the successor block. Do not add it to the kill list. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35041 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
219705131d
commit
e2ee99620f
@ -152,7 +152,12 @@ void LiveVariables::HandleVirtRegUse(VarInfo &VRInfo, MachineBasicBlock *MBB,
|
||||
"Should have kill for defblock!");
|
||||
|
||||
// Add a new kill entry for this basic block.
|
||||
VRInfo.Kills.push_back(MI);
|
||||
unsigned BBNum = MBB->getNumber();
|
||||
// If this virtual register is already marked as alive in this basic block,
|
||||
// that means it is alive in at least one of the successor block, it's not
|
||||
// a kill.
|
||||
if (VRInfo.AliveBlocks.size() <= BBNum || !VRInfo.AliveBlocks[BBNum])
|
||||
VRInfo.Kills.push_back(MI);
|
||||
|
||||
// Update all dominating blocks to mark them known live.
|
||||
for (MachineBasicBlock::const_pred_iterator PI = MBB->pred_begin(),
|
||||
|
Loading…
x
Reference in New Issue
Block a user