summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDylan Noblesmith <nobled@dreamwidth.org>2014-08-25 01:59:42 +0000
committerDylan Noblesmith <nobled@dreamwidth.org>2014-08-25 01:59:42 +0000
commit46a922c191142f00fb26cb971e72ee7cb95c33b4 (patch)
tree40f19826c0d3e84611fe43bbaf6220ec9d427775
parentb899464f5ba0b71623611303112c323ad2f2a6c0 (diff)
downloadbcm5719-llvm-46a922c191142f00fb26cb971e72ee7cb95c33b4.tar.gz
bcm5719-llvm-46a922c191142f00fb26cb971e72ee7cb95c33b4.zip
CodeGen/LiveVariables: switch to std::vector
No functionality change. llvm-svn: 216367
-rw-r--r--llvm/include/llvm/CodeGen/LiveVariables.h6
-rw-r--r--llvm/lib/CodeGen/LiveVariables.cpp24
2 files changed, 16 insertions, 14 deletions
diff --git a/llvm/include/llvm/CodeGen/LiveVariables.h b/llvm/include/llvm/CodeGen/LiveVariables.h
index a4a5fcc31e1..160cc7e4fd1 100644
--- a/llvm/include/llvm/CodeGen/LiveVariables.h
+++ b/llvm/include/llvm/CodeGen/LiveVariables.h
@@ -134,14 +134,14 @@ private: // Intermediate data structures
// PhysRegInfo - Keep track of which instruction was the last def of a
// physical register. This is a purely local property, because all physical
// register references are presumed dead across basic blocks.
- MachineInstr **PhysRegDef;
+ std::vector<MachineInstr *> PhysRegDef;
// PhysRegInfo - Keep track of which instruction was the last use of a
// physical register. This is a purely local property, because all physical
// register references are presumed dead across basic blocks.
- MachineInstr **PhysRegUse;
+ std::vector<MachineInstr *> PhysRegUse;
- SmallVector<unsigned, 4> *PHIVarInfo;
+ std::vector<SmallVector<unsigned, 4>> PHIVarInfo;
// DistanceMap - Keep track the distance of a MI from the start of the
// current basic block.
diff --git a/llvm/lib/CodeGen/LiveVariables.cpp b/llvm/lib/CodeGen/LiveVariables.cpp
index 068c7695a29..bf9791127ed 100644
--- a/llvm/lib/CodeGen/LiveVariables.cpp
+++ b/llvm/lib/CodeGen/LiveVariables.cpp
@@ -502,12 +502,12 @@ bool LiveVariables::runOnMachineFunction(MachineFunction &mf) {
MRI = &mf.getRegInfo();
TRI = MF->getSubtarget().getRegisterInfo();
- unsigned NumRegs = TRI->getNumRegs();
- PhysRegDef = new MachineInstr*[NumRegs];
- PhysRegUse = new MachineInstr*[NumRegs];
- PHIVarInfo = new SmallVector<unsigned, 4>[MF->getNumBlockIDs()];
- std::fill(PhysRegDef, PhysRegDef + NumRegs, nullptr);
- std::fill(PhysRegUse, PhysRegUse + NumRegs, nullptr);
+ const unsigned NumRegs = TRI->getNumRegs();
+ PhysRegDef.clear();
+ PhysRegUse.clear();
+ PhysRegDef.resize(NumRegs, nullptr);
+ PhysRegUse.resize(NumRegs, nullptr);
+ PHIVarInfo.resize(MF->getNumBlockIDs());
PHIJoins.clear();
// FIXME: LiveIntervals will be updated to remove its dependence on
@@ -637,8 +637,10 @@ bool LiveVariables::runOnMachineFunction(MachineFunction &mf) {
if ((PhysRegDef[i] || PhysRegUse[i]) && !LiveOuts.count(i))
HandlePhysRegDef(i, nullptr, Defs);
- std::fill(PhysRegDef, PhysRegDef + NumRegs, nullptr);
- std::fill(PhysRegUse, PhysRegUse + NumRegs, nullptr);
+ PhysRegDef.clear();
+ PhysRegUse.clear();
+ PhysRegDef.resize(NumRegs, nullptr);
+ PhysRegUse.resize(NumRegs, nullptr);
}
// Convert and transfer the dead / killed information we have gathered into
@@ -660,9 +662,9 @@ bool LiveVariables::runOnMachineFunction(MachineFunction &mf) {
assert(Visited.count(&*i) != 0 && "unreachable basic block found");
#endif
- delete[] PhysRegDef;
- delete[] PhysRegUse;
- delete[] PHIVarInfo;
+ PhysRegDef.clear();
+ PhysRegUse.clear();
+ PHIVarInfo.clear();
return false;
}
OpenPOWER on IntegriCloud