From 238416c99b2a2baea06ac05a5964bbbbf660f3dd Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Fri, 1 Sep 2006 06:10:18 +0000 Subject: [PATCH] Reserve space in the ValueNumberInfo vector. This speeds up live interval analysis 16% on crafty. Wrap long lines. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30012 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/CodeGen/LiveIntervalAnalysis.cpp | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/lib/CodeGen/LiveIntervalAnalysis.cpp b/lib/CodeGen/LiveIntervalAnalysis.cpp index 775bad56b23..7991c49ff1b 100644 --- a/lib/CodeGen/LiveIntervalAnalysis.cpp +++ b/lib/CodeGen/LiveIntervalAnalysis.cpp @@ -879,7 +879,6 @@ static unsigned ComputeUltimateVN(unsigned VN, return ThisValNoAssignments[VN] = UltimateVN; } - /// JoinIntervals - Attempt to join these two intervals. On failure, this /// returns false. Otherwise, if one of the intervals being joined is a /// physreg, this method always canonicalizes LHS to be it. The output @@ -893,7 +892,8 @@ bool LiveIntervals::JoinIntervals(LiveInterval &LHS, LiveInterval &RHS) { SmallVector, 16> ValueNumberInfo; LHSValNoAssignments.resize(LHS.getNumValNums(), -1); RHSValNoAssignments.resize(RHS.getNumValNums(), -1); - + ValueNumberInfo.reserve(LHS.getNumValNums() + RHS.getNumValNums()); + // Compute ultimate value numbers for the LHS and RHS values. if (RHS.containsOneValue()) { // Copies from a liveinterval with a single value are simple to handle and @@ -950,8 +950,8 @@ bool LiveIntervals::JoinIntervals(LiveInterval &LHS, LiveInterval &RHS) { RHSValNoAssignments[0] = RHSValID; } else { - // Loop over the value numbers of the LHS, seeing if any are defined from the - // RHS. + // Loop over the value numbers of the LHS, seeing if any are defined from + // the RHS. SmallVector LHSValsDefinedFromRHS; LHSValsDefinedFromRHS.resize(LHS.getNumValNums(), -1); for (unsigned VN = 0, e = LHS.getNumValNums(); VN != e; ++VN) { @@ -959,8 +959,8 @@ bool LiveIntervals::JoinIntervals(LiveInterval &LHS, LiveInterval &RHS) { if (ValSrcReg == 0) // Src not defined by a copy? continue; - // DstReg is known to be a register in the LHS interval. If the src is from - // the RHS interval, we can use its value #. + // DstReg is known to be a register in the LHS interval. If the src is + // from the RHS interval, we can use its value #. if (rep(ValSrcReg) != RHS.reg) continue; @@ -969,8 +969,8 @@ bool LiveIntervals::JoinIntervals(LiveInterval &LHS, LiveInterval &RHS) { LHSValsDefinedFromRHS[VN] = RHS.getLiveRangeContaining(ValInst-1)->ValId; } - // Loop over the value numbers of the RHS, seeing if any are defined from the - // LHS. + // Loop over the value numbers of the RHS, seeing if any are defined from + // the LHS. SmallVector RHSValsDefinedFromLHS; RHSValsDefinedFromLHS.resize(RHS.getNumValNums(), -1); for (unsigned VN = 0, e = RHS.getNumValNums(); VN != e; ++VN) { @@ -978,8 +978,8 @@ bool LiveIntervals::JoinIntervals(LiveInterval &LHS, LiveInterval &RHS) { if (ValSrcReg == 0) // Src not defined by a copy? continue; - // DstReg is known to be a register in the RHS interval. If the src is from - // the LHS interval, we can use its value #. + // DstReg is known to be a register in the RHS interval. If the src is + // from the LHS interval, we can use its value #. if (rep(ValSrcReg) != LHS.reg) continue; -- 2.34.1