blockfreq: Use a pointer for ContainingLoop too

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@206858 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Duncan P. N. Exon Smith
2014-04-22 03:31:44 +00:00
parent 92897fda32
commit 40a483e980
2 changed files with 25 additions and 16 deletions

View File

@@ -630,11 +630,11 @@ static void cleanup(BlockFrequencyInfoImplBase &BFI) {
static BlockNode getPackagedNode(const BlockFrequencyInfoImplBase &BFI,
const BlockNode &Node) {
assert(Node.isValid());
if (!BFI.Working[Node.Index].IsPackaged)
if (!BFI.Working[Node.Index].isPackaged())
return Node;
if (!BFI.Working[Node.Index].ContainingLoop.isValid())
if (!BFI.Working[Node.Index].isAPackage())
return Node;
return getPackagedNode(BFI, BFI.Working[Node.Index].ContainingLoop);
return getPackagedNode(BFI, BFI.Working[Node.Index].getContainingHeader());
}
/// \brief Get the appropriate mass for a possible pseudo-node loop package.
@@ -645,7 +645,7 @@ static BlockNode getPackagedNode(const BlockFrequencyInfoImplBase &BFI,
static BlockMass &getPackageMass(BlockFrequencyInfoImplBase &BFI,
const BlockNode &Node) {
assert(Node.isValid());
assert(!BFI.Working[Node.Index].IsPackaged);
assert(!BFI.Working[Node.Index].isPackaged());
if (!BFI.Working[Node.Index].isAPackage())
return BFI.Working[Node.Index].Mass;
@@ -681,7 +681,7 @@ void BlockFrequencyInfoImplBase::addToDist(Distribution &Dist,
BlockNode Resolved = getPackagedNode(*this, Succ);
assert(Resolved != LoopHead);
if (Working[Resolved.Index].ContainingLoop != LoopHead) {
if (Working[Resolved.Index].getContainingHeader() != LoopHead) {
DEBUG(debugSuccessor(" exit ", Resolved));
Dist.addExit(Resolved, Weight);
return;
@@ -746,10 +746,10 @@ void BlockFrequencyInfoImplBase::packageLoop(const BlockNode &LoopHead) {
DEBUG(dbgs() << "packaging-loop: " << getBlockName(LoopHead) << "\n");
auto &PackagedLoop = getLoopPackage(LoopHead);
PackagedLoop.IsPackaged = true;
for (const BlockNode &M : PackagedLoop.Members) {
DEBUG(dbgs() << " - node: " << getBlockName(M.Index) << "\n");
Working[M.Index].IsPackaged = true;
}
DEBUG(for (const BlockNode &M
: PackagedLoop.Members) {
dbgs() << " - node: " << getBlockName(M.Index) << "\n";
});
}
void BlockFrequencyInfoImplBase::distributeMass(const BlockNode &Source,