diff options
| author | Adam Nemet <anemet@apple.com> | 2015-02-19 19:15:13 +0000 |
|---|---|---|
| committer | Adam Nemet <anemet@apple.com> | 2015-02-19 19:15:13 +0000 |
| commit | 3e87634fd835cc809c19c5313c208b8e87bdf8a0 (patch) | |
| tree | 79109cf188eb79e6c365a728d67b11516f711438 | |
| parent | 929c38e8ffbb77e82c2c59bb6fc1045a01224766 (diff) | |
| download | bcm5719-llvm-3e87634fd835cc809c19c5313c208b8e87bdf8a0.tar.gz bcm5719-llvm-3e87634fd835cc809c19c5313c208b8e87bdf8a0.zip | |
[LoopAccesses] Add missing const to APIs in VectorizationReport
When I split out LoopAccessReport from this, I need to create some temps
so constness becomes necessary.
This is part of the patchset that converts LoopAccessAnalysis into an
actual analysis pass.
llvm-svn: 229896
| -rw-r--r-- | llvm/include/llvm/Analysis/LoopAccessAnalysis.h | 9 | ||||
| -rw-r--r-- | llvm/lib/Analysis/LoopAccessAnalysis.cpp | 4 | ||||
| -rw-r--r-- | llvm/lib/Transforms/Vectorize/LoopVectorize.cpp | 4 |
3 files changed, 9 insertions, 8 deletions
diff --git a/llvm/include/llvm/Analysis/LoopAccessAnalysis.h b/llvm/include/llvm/Analysis/LoopAccessAnalysis.h index 936783e53b0..91b572b6ae6 100644 --- a/llvm/include/llvm/Analysis/LoopAccessAnalysis.h +++ b/llvm/include/llvm/Analysis/LoopAccessAnalysis.h @@ -38,10 +38,10 @@ class SCEV; /// the user why vectorization did not occur. class VectorizationReport { std::string Message; - Instruction *Instr; + const Instruction *Instr; public: - VectorizationReport(Instruction *I = nullptr) + VectorizationReport(const Instruction *I = nullptr) : Message("loop not vectorized: "), Instr(I) {} template <typename A> VectorizationReport &operator<<(const A &Value) { @@ -50,15 +50,16 @@ public: return *this; } - Instruction *getInstr() { return Instr; } + const Instruction *getInstr() const { return Instr; } std::string &str() { return Message; } + const std::string &str() const { return Message; } operator Twine() { return Message; } /// \brief Emit an analysis note for \p PassName with the debug location from /// the instruction in \p Message if available. Otherwise use the location of /// \p TheLoop. - static void emitAnalysis(VectorizationReport &Message, + static void emitAnalysis(const VectorizationReport &Message, const Function *TheFunction, const Loop *TheLoop, const char *PassName); diff --git a/llvm/lib/Analysis/LoopAccessAnalysis.cpp b/llvm/lib/Analysis/LoopAccessAnalysis.cpp index 40b70ef30d4..8588e611bc8 100644 --- a/llvm/lib/Analysis/LoopAccessAnalysis.cpp +++ b/llvm/lib/Analysis/LoopAccessAnalysis.cpp @@ -50,12 +50,12 @@ bool VectorizerParams::isInterleaveForced() { return ::VectorizationInterleave.getNumOccurrences() > 0; } -void VectorizationReport::emitAnalysis(VectorizationReport &Message, +void VectorizationReport::emitAnalysis(const VectorizationReport &Message, const Function *TheFunction, const Loop *TheLoop, const char *PassName) { DebugLoc DL = TheLoop->getStartLoc(); - if (Instruction *I = Message.getInstr()) + if (const Instruction *I = Message.getInstr()) DL = I->getDebugLoc(); emitOptimizationRemarkAnalysis(TheFunction->getContext(), PassName, *TheFunction, DL, Message.str()); diff --git a/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp b/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp index 9ced65f13e1..e39375fa929 100644 --- a/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp +++ b/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp @@ -815,7 +815,7 @@ private: /// Report an analysis message to assist the user in diagnosing loops that are /// not vectorized. - void emitAnalysis(VectorizationReport &Message) { + void emitAnalysis(const VectorizationReport &Message) { VectorizationReport::emitAnalysis(Message, TheFunction, TheLoop, LV_NAME); } @@ -952,7 +952,7 @@ private: /// Report an analysis message to assist the user in diagnosing loops that are /// not vectorized. - void emitAnalysis(VectorizationReport &Message) { + void emitAnalysis(const VectorizationReport &Message) { VectorizationReport::emitAnalysis(Message, TheFunction, TheLoop, LV_NAME); } |

