LLVM  4.0.0
Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
llvm::LoopAccessReport Class Reference

Optimization analysis message produced during vectorization. More...

#include <LoopAccessAnalysis.h>

Public Member Functions

 LoopAccessReport (const Instruction *I=nullptr)
 
template<typename A >
LoopAccessReportoperator<< (const A &Value)
 
const InstructiongetInstr () const
 
std::string & str ()
 
const std::string & str () const
 
 operator Twine ()
 

Static Public Member Functions

static void emitAnalysis (const LoopAccessReport &Message, const Loop *TheLoop, const char *PassName, OptimizationRemarkEmitter &ORE)
 Emit an analysis note for PassName with the debug location from the instruction in Message if available. More...
 

Protected Member Functions

 LoopAccessReport (const Twine &Message, const Instruction *I)
 

Detailed Description

Optimization analysis message produced during vectorization.

Messages inform the user why vectorization did not occur.

Definition at line 43 of file LoopAccessAnalysis.h.

Constructor & Destructor Documentation

llvm::LoopAccessReport::LoopAccessReport ( const Twine Message,
const Instruction I 
)
inlineprotected

Definition at line 48 of file LoopAccessAnalysis.h.

llvm::LoopAccessReport::LoopAccessReport ( const Instruction I = nullptr)
inline

Definition at line 52 of file LoopAccessAnalysis.h.

Member Function Documentation

void LoopAccessReport::emitAnalysis ( const LoopAccessReport Message,
const Loop TheLoop,
const char *  PassName,
OptimizationRemarkEmitter ORE 
)
static

Emit an analysis note for PassName with the debug location from the instruction in Message if available.

Otherwise use the location of TheLoop.

Definition at line 138 of file LoopAccessAnalysis.cpp.

References llvm::OptimizationRemarkEmitter::emitOptimizationRemarkAnalysis(), llvm::LoopBase< N, M >::getHeader(), getInstr(), llvm::Loop::getStartLoc(), I, and str().

const Instruction* llvm::LoopAccessReport::getInstr ( ) const
inline

Definition at line 60 of file LoopAccessAnalysis.h.

Referenced by emitAnalysis().

llvm::LoopAccessReport::operator Twine ( )
inline

Definition at line 64 of file LoopAccessAnalysis.h.

template<typename A >
LoopAccessReport& llvm::LoopAccessReport::operator<< ( const A Value)
inline

Definition at line 54 of file LoopAccessAnalysis.h.

std::string& llvm::LoopAccessReport::str ( )
inline

Definition at line 62 of file LoopAccessAnalysis.h.

Referenced by emitAnalysis().

const std::string& llvm::LoopAccessReport::str ( ) const
inline

Definition at line 63 of file LoopAccessAnalysis.h.


The documentation for this class was generated from the following files: