aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJakub Staszak <jstaszak@apple.com>2011-07-22 02:24:57 +0000
committerJakub Staszak <jstaszak@apple.com>2011-07-22 02:24:57 +0000
commit23f34f1c22db8df6e767a29365d668ac9ede112c (patch)
treec4a340488f07e6af338281d856ec91c0d52c8751
parent558cc5a914118bba0e7843f1878f6137fea88d91 (diff)
downloadexternal_llvm-23f34f1c22db8df6e767a29365d668ac9ede112c.zip
external_llvm-23f34f1c22db8df6e767a29365d668ac9ede112c.tar.gz
external_llvm-23f34f1c22db8df6e767a29365d668ac9ede112c.tar.bz2
Allow getBlockFreq to return 0.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135742 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--include/llvm/Analysis/BlockFrequency.h8
-rw-r--r--include/llvm/Analysis/BlockFrequencyImpl.h7
-rw-r--r--include/llvm/CodeGen/MachineBlockFrequency.h8
-rw-r--r--lib/Analysis/BlockFrequency.cpp8
-rw-r--r--lib/CodeGen/MachineBlockFrequency.cpp8
5 files changed, 19 insertions, 20 deletions
diff --git a/include/llvm/Analysis/BlockFrequency.h b/include/llvm/Analysis/BlockFrequency.h
index c4b1e08..a7ec65e 100644
--- a/include/llvm/Analysis/BlockFrequency.h
+++ b/include/llvm/Analysis/BlockFrequency.h
@@ -40,11 +40,11 @@ public:
bool runOnFunction(Function &F);
- /// getblockFreq - Return block frequency. Never return 0, value must be
- /// positive. Please note that initial frequency is equal to 1024. It means
+ /// getblockFreq - Return block frequency. Return 0 if we don't have the
+ /// information. Please note that initial frequency is equal to 1024. It means
/// that we should not rely on the value itself, but only on the comparison to
- /// the other block frequencies. We do this to avoid using of the floating
- /// points.
+ /// the other block frequencies. We do this to avoid using of floating points.
+ ///
uint32_t getBlockFreq(BasicBlock *BB);
};
diff --git a/include/llvm/Analysis/BlockFrequencyImpl.h b/include/llvm/Analysis/BlockFrequencyImpl.h
index 6580fd1..5a22b51 100644
--- a/include/llvm/Analysis/BlockFrequencyImpl.h
+++ b/include/llvm/Analysis/BlockFrequencyImpl.h
@@ -314,13 +314,12 @@ class BlockFrequencyImpl {
}
public:
- /// getBlockFreq - Return block frequency. Never return 0, value must be
- /// positive.
+ /// getBlockFreq - Return block frequency. Return 0 if we don't have it.
uint32_t getBlockFreq(BlockT *BB) const {
typename DenseMap<BlockT *, uint32_t>::const_iterator I = Freqs.find(BB);
if (I != Freqs.end())
- return I->second ? I->second : 1;
- return 1;
+ return I->second;
+ return 0;
}
void print(raw_ostream &OS) const {
diff --git a/include/llvm/CodeGen/MachineBlockFrequency.h b/include/llvm/CodeGen/MachineBlockFrequency.h
index 25bf1f0..7b43867 100644
--- a/include/llvm/CodeGen/MachineBlockFrequency.h
+++ b/include/llvm/CodeGen/MachineBlockFrequency.h
@@ -40,11 +40,11 @@ public:
bool runOnMachineFunction(MachineFunction &F);
- /// getblockFreq - Return block frequency. Never return 0, value must be
- /// positive. Please note that initial frequency is equal to 1024. It means
+ /// getblockFreq - Return block frequency. Return 0 if we don't have the
+ /// information. Please note that initial frequency is equal to 1024. It means
/// that we should not rely on the value itself, but only on the comparison to
- /// the other block frequencies. We do this to avoid using of the floating
- /// points.
+ /// the other block frequencies. We do this to avoid using of floating points.
+ ///
uint32_t getBlockFreq(MachineBasicBlock *MBB);
};
diff --git a/lib/Analysis/BlockFrequency.cpp b/lib/Analysis/BlockFrequency.cpp
index 4b86d1d..49b69d1 100644
--- a/lib/Analysis/BlockFrequency.cpp
+++ b/lib/Analysis/BlockFrequency.cpp
@@ -49,10 +49,10 @@ bool BlockFrequency::runOnFunction(Function &F) {
return false;
}
-/// getblockFreq - Return block frequency. Never return 0, value must be
-/// positive. Please note that initial frequency is equal to 1024. It means that
-/// we should not rely on the value itself, but only on the comparison to the
-/// other block frequencies. We do this to avoid using of floating points.
+/// getblockFreq - Return block frequency. Return 0 if we don't have the
+/// information. Please note that initial frequency is equal to 1024. It means
+/// that we should not rely on the value itself, but only on the comparison to
+/// the other block frequencies. We do this to avoid using of floating points.
///
uint32_t BlockFrequency::getBlockFreq(BasicBlock *BB) {
return BFI->getBlockFreq(BB);
diff --git a/lib/CodeGen/MachineBlockFrequency.cpp b/lib/CodeGen/MachineBlockFrequency.cpp
index 0a77bdd..f3ee538 100644
--- a/lib/CodeGen/MachineBlockFrequency.cpp
+++ b/lib/CodeGen/MachineBlockFrequency.cpp
@@ -50,10 +50,10 @@ bool MachineBlockFrequency::runOnMachineFunction(MachineFunction &F) {
return false;
}
-/// getblockFreq - Return block frequency. Never return 0, value must be
-/// positive. Please note that initial frequency is equal to 1024. It means that
-/// we should not rely on the value itself, but only on the comparison to the
-/// other block frequencies. We do this to avoid using of floating points.
+/// getblockFreq - Return block frequency. Return 0 if we don't have the
+/// information. Please note that initial frequency is equal to 1024. It means
+/// that we should not rely on the value itself, but only on the comparison to
+/// the other block frequencies. We do this to avoid using of floating points.
///
uint32_t MachineBlockFrequency::getBlockFreq(MachineBasicBlock *MBB) {
return MBFI->getBlockFreq(MBB);