diff options
author | Duncan P. N. Exon Smith <dexonsmith@apple.com> | 2014-04-25 04:38:17 +0000 |
---|---|---|
committer | Duncan P. N. Exon Smith <dexonsmith@apple.com> | 2014-04-25 04:38:17 +0000 |
commit | 46d9a56ce6c30c691a97d33a3d723724835262c8 (patch) | |
tree | dcf5b1d289d15fe63b3c59eefb7feb49495858c3 /llvm/lib/Analysis/BlockFrequencyInfoImpl.cpp | |
parent | 50a1bb85b8f55e9ccf87587b0b7fed89b8dc9aef (diff) | |
download | bcm5719-llvm-46d9a56ce6c30c691a97d33a3d723724835262c8.tar.gz bcm5719-llvm-46d9a56ce6c30c691a97d33a3d723724835262c8.zip |
blockfreq: Separate unwrapLoops() from finalizeMetrics()
<rdar://problem/14292693>
llvm-svn: 207185
Diffstat (limited to 'llvm/lib/Analysis/BlockFrequencyInfoImpl.cpp')
-rw-r--r-- | llvm/lib/Analysis/BlockFrequencyInfoImpl.cpp | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/llvm/lib/Analysis/BlockFrequencyInfoImpl.cpp b/llvm/lib/Analysis/BlockFrequencyInfoImpl.cpp index d58a7435a35..6b65bf6478e 100644 --- a/llvm/lib/Analysis/BlockFrequencyInfoImpl.cpp +++ b/llvm/lib/Analysis/BlockFrequencyInfoImpl.cpp @@ -846,20 +846,24 @@ static void unwrapLoopPackage(BlockFrequencyInfoImplBase &BFI, } } -void BlockFrequencyInfoImplBase::finalizeMetrics() { +void BlockFrequencyInfoImplBase::unwrapLoops() { // Set initial frequencies from loop-local masses. 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)); + } +} + +void BlockFrequencyInfoImplBase::finalizeMetrics() { // Unwrap loop packages in reverse post-order, tracking min and max // frequencies. auto Min = Float::getLargest(); auto Max = Float::getZero(); for (size_t Index = 0; Index < Working.size(); ++Index) { - if (Working[Index].isLoopHeader()) - unwrapLoopPackage(*this, BlockNode(Index)); - - // Update max scale. + // Update min/max scale. Min = std::min(Min, Freqs[Index].Floating); Max = std::max(Max, Freqs[Index].Floating); } |