diff options
author | Chris Lattner <sabre@nondot.org> | 2003-06-17 15:07:20 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2003-06-17 15:07:20 +0000 |
commit | efa095e41830bdbbc4eb0c4ff423fe483f2de0e2 (patch) | |
tree | 02b77d7b579adb06163d5ff76a2e7ba89bf6872f /lib/Analysis/AliasAnalysisCounter.cpp | |
parent | 544995531344447575ee49011cf03fb7e9894808 (diff) |
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/Analysis/AliasAnalysisCounter.cpp')
-rw-r--r-- | lib/Analysis/AliasAnalysisCounter.cpp | 32 |
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"; + } } } |