From: Chris Lattner Date: Sat, 17 Jul 2004 06:43:20 +0000 (+0000) Subject: Print modref information in a useful way. X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=ad48cc71dcd218216e5e7df6d05c481946a65879;p=oota-llvm.git Print modref information in a useful way. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14907 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Analysis/AliasAnalysisEvaluator.cpp b/lib/Analysis/AliasAnalysisEvaluator.cpp index f30ea43096d..f3b4ebae9c5 100644 --- a/lib/Analysis/AliasAnalysisEvaluator.cpp +++ b/lib/Analysis/AliasAnalysisEvaluator.cpp @@ -81,6 +81,16 @@ static inline void PrintResults(const char *Msg, bool P, Value *V1, Value *V2, } } +static inline void +PrintModRefResults(const char *Msg, bool P, Instruction *I, Value *Ptr, + Module *M) { + if (P) { + std::cerr << " " << Msg << ": Ptr: "; + WriteAsOperand(std::cerr, Ptr, true, true, M); + std::cerr << "\t<->" << *I; + } +} + bool AAEval::runOnFunction(Function &F) { AliasAnalysis &AA = getAnalysis(); @@ -133,16 +143,16 @@ bool AAEval::runOnFunction(Function &F) { Instruction *I = C->getInstruction(); switch (AA.getModRefInfo(*C, *V, (*V)->getType()->getPrimitiveSize())) { case AliasAnalysis::NoModRef: - PrintResults("NoModRef", PrintNoModRef, I, *V, F.getParent()); + PrintModRefResults("NoModRef", PrintNoModRef, I, *V, F.getParent()); ++NoModRef; break; case AliasAnalysis::Mod: - PrintResults("Mod", PrintMod, I, *V, F.getParent()); + PrintModRefResults(" Mod", PrintMod, I, *V, F.getParent()); ++Mod; break; case AliasAnalysis::Ref: - PrintResults("Ref", PrintRef, I, *V, F.getParent()); + PrintModRefResults(" Ref", PrintRef, I, *V, F.getParent()); ++Ref; break; case AliasAnalysis::ModRef: - PrintResults("ModRef", PrintModRef, I, *V, F.getParent()); + PrintModRefResults(" ModRef", PrintModRef, I, *V, F.getParent()); ++ModRef; break; default: std::cerr << "Unknown alias query result!\n";