aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBob Wilson <bob.wilson@apple.com>2012-10-29 17:27:39 +0000
committerBob Wilson <bob.wilson@apple.com>2012-10-29 17:27:39 +0000
commit6a09098cca6938dbfdc28e26fc45d626342816ac (patch)
treeef1f6ecc54eeb8d949432b017cf2f637168b9d43
parentd233b78760e481a9602266f8376eb1189c58bc9a (diff)
Remove code to saturate profile counts.
We may need to change the way profile counter values are stored, but saturation is the wrong thing to do. Just remove it for now. Patch by Alastair Murray! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166938 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--include/llvm/Analysis/ProfileDataLoader.h3
-rw-r--r--lib/Analysis/ProfileDataLoader.cpp9
2 files changed, 1 insertions, 11 deletions
diff --git a/include/llvm/Analysis/ProfileDataLoader.h b/include/llvm/Analysis/ProfileDataLoader.h
index bec9fac770..9efbafcef4 100644
--- a/include/llvm/Analysis/ProfileDataLoader.h
+++ b/include/llvm/Analysis/ProfileDataLoader.h
@@ -115,9 +115,6 @@ public:
/// been counted yet.
static const unsigned Uncounted;
- /// The maximum value that can be stored in a profiling counter.
- static const unsigned MaxCount;
-
/// getNumExecutions - Return the number of times the target program was run
/// to generate this profiling data.
unsigned getNumExecutions() const { return CommandLines.size(); }
diff --git a/lib/Analysis/ProfileDataLoader.cpp b/lib/Analysis/ProfileDataLoader.cpp
index 69286efb3c..a4f634af53 100644
--- a/lib/Analysis/ProfileDataLoader.cpp
+++ b/lib/Analysis/ProfileDataLoader.cpp
@@ -51,13 +51,7 @@ static unsigned AddCounts(unsigned A, unsigned B) {
if (A == ProfileDataLoader::Uncounted) return B;
if (B == ProfileDataLoader::Uncounted) return A;
- // Saturate to the maximum storable value. This could change taken/nottaken
- // ratios, but is presumably better than wrapping and thus potentially
- // inverting ratios.
- uint64_t tmp = (uint64_t)A + (uint64_t)B;
- if (tmp > (uint64_t)ProfileDataLoader::MaxCount)
- tmp = ProfileDataLoader::MaxCount;
- return (unsigned)tmp;
+ return A + B;
}
/// ReadProfilingData - Load 'NumEntries' items of type 'T' from file 'F'
@@ -120,7 +114,6 @@ static void ReadProfilingArgBlock(const char *ToolName, FILE *F,
}
const unsigned ProfileDataLoader::Uncounted = ~0U;
-const unsigned ProfileDataLoader::MaxCount = ~0U - 1U;
/// ProfileDataLoader ctor - Read the specified profiling data file, reporting
/// a fatal error if the file is invalid or broken.