diff options
author | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2010-02-23 22:43:58 +0000 |
---|---|---|
committer | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2010-02-23 22:43:58 +0000 |
commit | dcfe5f30b5e262971f601a65bebcc0367fef56c5 (patch) | |
tree | db54351e744e003a9572e503b6b394cf60a99ac5 /lib/CodeGen/LiveVariables.cpp | |
parent | 01be611b8223c80305c7c1ce5d9bd578abc844ed (diff) | |
download | llvm-dcfe5f30b5e262971f601a65bebcc0367fef56c5.tar.gz llvm-dcfe5f30b5e262971f601a65bebcc0367fef56c5.tar.bz2 llvm-dcfe5f30b5e262971f601a65bebcc0367fef56c5.tar.xz |
Keep track of phi join registers explicitly in LiveVariables.
Previously, LiveIntervalAnalysis would infer phi joins by looking for multiply
defined registers. That doesn't work if the phi join is implicitly defined in
all but one of the predecessors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96994 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/LiveVariables.cpp')
-rw-r--r-- | lib/CodeGen/LiveVariables.cpp | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/lib/CodeGen/LiveVariables.cpp b/lib/CodeGen/LiveVariables.cpp index 8a124dc79b..68c85394d4 100644 --- a/lib/CodeGen/LiveVariables.cpp +++ b/lib/CodeGen/LiveVariables.cpp @@ -510,6 +510,7 @@ bool LiveVariables::runOnMachineFunction(MachineFunction &mf) { PHIVarInfo = new SmallVector<unsigned, 4>[MF->getNumBlockIDs()]; std::fill(PhysRegDef, PhysRegDef + NumRegs, (MachineInstr*)0); std::fill(PhysRegUse, PhysRegUse + NumRegs, (MachineInstr*)0); + PHIJoins.clear(); /// Get some space for a respectable number of registers. VirtRegInfo.resize(64); |