X-Git-Url: http://plrg.eecs.uci.edu/git/?a=blobdiff_plain;f=lib%2FAnalysis%2FDelinearization.cpp;h=b4c0523cd5d64627a45f4941e30552970a2c04ce;hb=561edae83424f87ff86f033caf3bef6b0a54d23c;hp=7c2a04bab9eb52e75c9b31ccac1685e873e86c3a;hpb=876ac60880843f37c25ec03e46eb73b8e197e971;p=oota-llvm.git diff --git a/lib/Analysis/Delinearization.cpp b/lib/Analysis/Delinearization.cpp index 7c2a04bab9e..b4c0523cd5d 100644 --- a/lib/Analysis/Delinearization.cpp +++ b/lib/Analysis/Delinearization.cpp @@ -49,9 +49,9 @@ public: Delinearization() : FunctionPass(ID) { initializeDelinearizationPass(*PassRegistry::getPassRegistry()); } - virtual bool runOnFunction(Function &F); - virtual void getAnalysisUsage(AnalysisUsage &AU) const; - virtual void print(raw_ostream &O, const Module *M = 0) const; + bool runOnFunction(Function &F) override; + void getAnalysisUsage(AnalysisUsage &AU) const override; + void print(raw_ostream &O, const Module *M = nullptr) const override; }; } // end anonymous namespace @@ -76,7 +76,7 @@ static Value *getPointerOperand(Instruction &Inst) { return Store->getPointerOperand(); else if (GetElementPtrInst *Gep = dyn_cast(&Inst)) return Gep->getPointerOperand(); - return NULL; + return nullptr; } void Delinearization::print(raw_ostream &O, const Module *) const { @@ -92,7 +92,7 @@ void Delinearization::print(raw_ostream &O, const Module *) const { const BasicBlock *BB = Inst->getParent(); // Delinearize the memory access as analyzed in all the surrounding loops. // Do not analyze memory accesses outside loops. - for (Loop *L = LI->getLoopFor(BB); L != NULL; L = L->getParentLoop()) { + for (Loop *L = LI->getLoopFor(BB); L != nullptr; L = L->getParentLoop()) { const SCEV *AccessFn = SE->getSCEVAtScope(getPointerOperand(*Inst), L); const SCEVAddRecExpr *AR = dyn_cast(AccessFn); @@ -100,6 +100,10 @@ void Delinearization::print(raw_ostream &O, const Module *) const { if (!AR) break; + O << "\n"; + O << "Inst:" << *Inst << "\n"; + O << "In Loop with Header: " << L->getHeader()->getName() << "\n"; + O << "AddRec: " << *AR << "\n"; SmallVector Subscripts, Sizes;