From 73d4adfb1e5d6c0ce834b331e6099b14d3341dd7 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Mon, 19 Jul 2004 06:26:50 +0000 Subject: [PATCH] Remove the DefBlock element of VarInfo. DefBlock is always DefInst->getParent() git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14996 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/CodeGen/LiveVariables.h | 5 ++--- lib/CodeGen/LiveVariables.cpp | 8 ++++---- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/include/llvm/CodeGen/LiveVariables.h b/include/llvm/CodeGen/LiveVariables.h index 67c213daf22..1df98e50e00 100644 --- a/include/llvm/CodeGen/LiveVariables.h +++ b/include/llvm/CodeGen/LiveVariables.h @@ -39,8 +39,7 @@ class MRegisterInfo; class LiveVariables : public MachineFunctionPass { public: struct VarInfo { - /// DefBlock - The basic block which defines this value... - MachineBasicBlock *DefBlock; + /// DefInst - The machine instruction that defines this register. MachineInstr *DefInst; /// AliveBlocks - Set of blocks of which this value is alive completely @@ -55,7 +54,7 @@ public: /// std::vector > Kills; - VarInfo() : DefBlock(0), DefInst(0) {} + VarInfo() : DefInst(0) {} /// removeKill - Delete a kill corresponding to the specified /// machine instruction. Returns true if there was a kill diff --git a/lib/CodeGen/LiveVariables.cpp b/lib/CodeGen/LiveVariables.cpp index d26848cb1c6..883b7813e7f 100644 --- a/lib/CodeGen/LiveVariables.cpp +++ b/lib/CodeGen/LiveVariables.cpp @@ -64,7 +64,7 @@ void LiveVariables::MarkVirtRegAliveInBlock(VarInfo &VRInfo, break; } - if (MBB == VRInfo.DefBlock) return; // Terminate recursion + if (MBB == VRInfo.DefInst->getParent()) return; // Terminate recursion if (VRInfo.AliveBlocks.size() <= BBNum) VRInfo.AliveBlocks.resize(BBNum+1); // Make space... @@ -95,7 +95,8 @@ void LiveVariables::HandleVirtRegUse(VarInfo &VRInfo, MachineBasicBlock *MBB, assert(VRInfo.Kills[i].first != MBB && "entry should be at end!"); #endif - assert(MBB != VRInfo.DefBlock && "Should have kill for defblock!"); + assert(MBB != VRInfo.DefInst->getParent() && + "Should have kill for defblock!"); // Add a new kill entry for this basic block. VRInfo.Kills.push_back(std::make_pair(MBB, MI)); @@ -230,8 +231,7 @@ bool LiveVariables::runOnMachineFunction(MachineFunction &MF) { if (MRegisterInfo::isVirtualRegister(MO.getReg())) { VarInfo &VRInfo = getVarInfo(MO.getReg()); - assert(VRInfo.DefBlock == 0 && "Variable multiply defined!"); - VRInfo.DefBlock = MBB; // Created here... + assert(VRInfo.DefInst == 0 && "Variable multiply defined!"); VRInfo.DefInst = MI; VRInfo.Kills.push_back(std::make_pair(MBB, MI)); // Defaults to dead } else if (MRegisterInfo::isPhysicalRegister(MO.getReg()) && -- 2.34.1