summaryrefslogtreecommitdiff
path: root/lib/CodeGen/RegisterClassInfo.cpp
diff options
context:
space:
mode:
authorJakob Stoklund Olesen <stoklund@2pi.dk>2011-06-02 05:43:49 +0000
committerJakob Stoklund Olesen <stoklund@2pi.dk>2011-06-02 05:43:49 +0000
commitab5ceacbc11b68f1a4993aa38bad11bcfea42a4c (patch)
tree075fc5cb7f4ec81e058cff13c28e15ba93cd819e /lib/CodeGen/RegisterClassInfo.cpp
parentfa226bccaa90c520cac154df74069bbabb976eab (diff)
downloadllvm-ab5ceacbc11b68f1a4993aa38bad11bcfea42a4c.tar.gz
llvm-ab5ceacbc11b68f1a4993aa38bad11bcfea42a4c.tar.bz2
llvm-ab5ceacbc11b68f1a4993aa38bad11bcfea42a4c.tar.xz
Initialize members to fix problem found by valgrind.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132456 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/RegisterClassInfo.cpp')
-rw-r--r--lib/CodeGen/RegisterClassInfo.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/lib/CodeGen/RegisterClassInfo.cpp b/lib/CodeGen/RegisterClassInfo.cpp
index fb27213401..9deeb15a3b 100644
--- a/lib/CodeGen/RegisterClassInfo.cpp
+++ b/lib/CodeGen/RegisterClassInfo.cpp
@@ -20,7 +20,8 @@
using namespace llvm;
-RegisterClassInfo::RegisterClassInfo() : Tag(0), TRI(0) {}
+RegisterClassInfo::RegisterClassInfo() : Tag(0), MF(0), TRI(0), CalleeSaved(0)
+{}
void RegisterClassInfo::runOnMachineFunction(const MachineFunction &mf) {
bool Update = false;
@@ -35,7 +36,7 @@ void RegisterClassInfo::runOnMachineFunction(const MachineFunction &mf) {
// Does this MF have different CSRs?
const unsigned *CSR = TRI->getCalleeSavedRegs(MF);
- if (CSR != CalleeSaved) {
+ if (Update || CSR != CalleeSaved) {
// Build a CSRNum map. Every CSR alias gets an entry pointing to the last
// overlapping CSR.
CSRNum.reset(new uint8_t[TRI->getNumRegs()]);