mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-10-19 11:02:59 +02: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. llvm-svn: 35041
This commit is contained in:
parent
e7ba7ee5d8
commit
dc9f790abd
@ -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…
Reference in New Issue
Block a user