summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Analysis
diff options
context:
space:
mode:
authorDuncan P. N. Exon Smith <dexonsmith@apple.com>2014-04-25 04:38:20 +0000
committerDuncan P. N. Exon Smith <dexonsmith@apple.com>2014-04-25 04:38:20 +0000
commit575bd8c81be785e967ccc2ad605598ec16adf46c (patch)
tree78c713961028c0573f5b7609ac8a2d0205f26baf /llvm/lib/Analysis
parent46d9a56ce6c30c691a97d33a3d723724835262c8 (diff)
downloadbcm5719-llvm-575bd8c81be785e967ccc2ad605598ec16adf46c.tar.gz
bcm5719-llvm-575bd8c81be785e967ccc2ad605598ec16adf46c.zip
blockfreq: Unwrap from Loops
When unwrapping loops, just visit the loops rather than all nodes. <rdar://problem/14292693> llvm-svn: 207186
Diffstat (limited to 'llvm/lib/Analysis')
-rw-r--r--llvm/lib/Analysis/BlockFrequencyInfoImpl.cpp6
1 files changed, 2 insertions, 4 deletions
diff --git a/llvm/lib/Analysis/BlockFrequencyInfoImpl.cpp b/llvm/lib/Analysis/BlockFrequencyInfoImpl.cpp
index 6b65bf6478e..fd4e7448acb 100644
--- a/llvm/lib/Analysis/BlockFrequencyInfoImpl.cpp
+++ b/llvm/lib/Analysis/BlockFrequencyInfoImpl.cpp
@@ -851,10 +851,8 @@ void BlockFrequencyInfoImplBase::unwrapLoops() {
for (size_t Index = 0; Index < Working.size(); ++Index)
Freqs[Index].Floating = Working[Index].Mass.toFloat();
- for (size_t Index = 0; Index < Working.size(); ++Index) {
- if (Working[Index].isLoopHeader())
- unwrapLoopPackage(*this, BlockNode(Index));
- }
+ for (const LoopData &L : Loops)
+ unwrapLoopPackage(*this, L.getHeader());
}
void BlockFrequencyInfoImplBase::finalizeMetrics() {
OpenPOWER on IntegriCloud