[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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@229631 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Adam Nemet 2015-02-18 03:44:20 +00:00
parent 4166c7ff59
commit 69c9697fa7
3 changed files with 9 additions and 8 deletions

View File

@ -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);

View File

@ -25,12 +25,12 @@ using namespace llvm;
#define DEBUG_TYPE "loop-accesses"
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());

View File

@ -836,7 +836,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);
}
@ -973,7 +973,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);
}