X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=lib%2FAnalysis%2FAliasAnalysisCounter.cpp;h=3eab452d405252b328e8aea64b0560ec9c8ca926;hb=bab812b4b0126839fe6e026aad54c90164c89765;hp=3f8f1fc56ba50dac9f9bab729e6f46ca3096ce0e;hpb=c758209153ca0f6da6737f25ada269c573fba456;p=oota-llvm.git diff --git a/lib/Analysis/AliasAnalysisCounter.cpp b/lib/Analysis/AliasAnalysisCounter.cpp index 3f8f1fc56ba..3eab452d405 100644 --- a/lib/Analysis/AliasAnalysisCounter.cpp +++ b/lib/Analysis/AliasAnalysisCounter.cpp @@ -18,15 +18,16 @@ #include "llvm/Assembly/Writer.h" #include "llvm/Support/CommandLine.h" #include "llvm/Support/Compiler.h" +#include "llvm/Support/ErrorHandling.h" #include "llvm/Support/Streams.h" using namespace llvm; -namespace { - cl::opt - PrintAll("count-aa-print-all-queries", cl::ReallyHidden); - cl::opt - PrintAllFailures("count-aa-print-all-failed-queries", cl::ReallyHidden); +static cl::opt +PrintAll("count-aa-print-all-queries", cl::ReallyHidden); +static cl::opt +PrintAllFailures("count-aa-print-all-failed-queries", cl::ReallyHidden); +namespace { class VISIBILITY_HIDDEN AliasAnalysisCounter : public ModulePass, public AliasAnalysis { unsigned No, May, Must; @@ -35,7 +36,7 @@ namespace { Module *M; public: static char ID; // Class identification, replacement for typeinfo - AliasAnalysisCounter() : ModulePass((intptr_t) &ID) { + AliasAnalysisCounter() : ModulePass(&ID) { No = May = Must = 0; NoMR = JustRef = JustMod = MR = 0; } @@ -113,13 +114,13 @@ namespace { return AliasAnalysis::getModRefInfo(CS1,CS2); } }; - - char AliasAnalysisCounter::ID = 0; - RegisterPass - X("count-aa", "Count Alias Analysis Query Responses", true, true); - RegisterAnalysisGroup Y(X); } +char AliasAnalysisCounter::ID = 0; +static RegisterPass +X("count-aa", "Count Alias Analysis Query Responses", false, true); +static RegisterAnalysisGroup Y(X); + ModulePass *llvm::createAliasAnalysisCounterPass() { return new AliasAnalysisCounter(); } @@ -131,7 +132,7 @@ AliasAnalysisCounter::alias(const Value *V1, unsigned V1Size, const char *AliasString; switch (R) { - default: assert(0 && "Unknown alias type!"); + default: llvm_unreachable("Unknown alias type!"); case NoAlias: No++; AliasString = "No alias"; break; case MayAlias: May++; AliasString = "May alias"; break; case MustAlias: Must++; AliasString = "Must alias"; break; @@ -140,9 +141,11 @@ AliasAnalysisCounter::alias(const Value *V1, unsigned V1Size, if (PrintAll || (PrintAllFailures && R == MayAlias)) { cerr << AliasString << ":\t"; cerr << "[" << V1Size << "B] "; - WriteAsOperand(*cerr.stream(), V1, true, M) << ", "; + WriteAsOperand(*cerr.stream(), V1, true, M); + cerr << ", "; cerr << "[" << V2Size << "B] "; - WriteAsOperand(*cerr.stream(), V2, true, M) << "\n"; + WriteAsOperand(*cerr.stream(), V2, true, M); + cerr << "\n"; } return R; @@ -154,7 +157,7 @@ AliasAnalysisCounter::getModRefInfo(CallSite CS, Value *P, unsigned Size) { const char *MRString; switch (R) { - default: assert(0 && "Unknown mod/ref type!"); + default: llvm_unreachable("Unknown mod/ref type!"); case NoModRef: NoMR++; MRString = "NoModRef"; break; case Ref: JustRef++; MRString = "JustRef"; break; case Mod: JustMod++; MRString = "JustMod"; break;