summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2003-06-17 15:07:20 +0000
committerChris Lattner <sabre@nondot.org>2003-06-17 15:07:20 +0000
commitefa095e41830bdbbc4eb0c4ff423fe483f2de0e2 (patch)
tree02b77d7b579adb06163d5ff76a2e7ba89bf6872f /lib
parent544995531344447575ee49011cf03fb7e9894808 (diff)
downloadllvm-efa095e41830bdbbc4eb0c4ff423fe483f2de0e2.tar.gz
llvm-efa095e41830bdbbc4eb0c4ff423fe483f2de0e2.tar.bz2
llvm-efa095e41830bdbbc4eb0c4ff423fe483f2de0e2.tar.xz
Avoid divide by zero errors
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6738 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-rw-r--r--lib/Analysis/AliasAnalysisCounter.cpp32
1 files changed, 18 insertions, 14 deletions
diff --git a/lib/Analysis/AliasAnalysisCounter.cpp b/lib/Analysis/AliasAnalysisCounter.cpp
index d0471d7638..285a6d3f46 100644
--- a/lib/Analysis/AliasAnalysisCounter.cpp
+++ b/lib/Analysis/AliasAnalysisCounter.cpp
@@ -32,23 +32,27 @@ namespace {
<< "\n===== Alias Analysis Counter Report =====\n"
<< " Analysis counted: " << Name << "\n"
<< " " << AASum << " Total Alias Queries Performed\n";
- printLine("no alias", No, AASum);
- printLine("may alias", May, AASum);
- printLine("must alias", Must, AASum);
- std::cerr
- << " Alias Analysis Counter Summary: " << No*100/AASum << "%/"
- << May*100/AASum << "%/" << Must*100/AASum<<"%\n\n";
+ if (AASum) {
+ printLine("no alias", No, AASum);
+ printLine("may alias", May, AASum);
+ printLine("must alias", Must, AASum);
+ std::cerr
+ << " Alias Analysis Counter Summary: " << No*100/AASum << "%/"
+ << May*100/AASum << "%/" << Must*100/AASum<<"%\n\n";
+ }
std::cerr
<< " " << MRSum << " Total Mod/Ref Queries Performed\n";
- printLine("no mod/ref", NoMR, MRSum);
- printLine("ref", JustRef, MRSum);
- printLine("mod", JustMod, MRSum);
- printLine("mod/ref", MR, MRSum);
- std::cerr
- << " Mod/Ref Analysis Counter Summary: " << NoMR*100/MRSum<< "%/"
- << JustRef*100/MRSum << "%/" << JustMod*100/MRSum << "%/"
- << MR*100/MRSum <<"%\n\n";
+ if (MRSum) {
+ printLine("no mod/ref", NoMR, MRSum);
+ printLine("ref", JustRef, MRSum);
+ printLine("mod", JustMod, MRSum);
+ printLine("mod/ref", MR, MRSum);
+ std::cerr
+ << " Mod/Ref Analysis Counter Summary: " << NoMR*100/MRSum<< "%/"
+ << JustRef*100/MRSum << "%/" << JustMod*100/MRSum << "%/"
+ << MR*100/MRSum <<"%\n\n";
+ }
}
}