LLVM  14.0.0git
Classes | Public Member Functions | Static Public Member Functions | Public Attributes | Protected Types | Protected Member Functions | List of all members
llvm::MemoryOpRemark Struct Reference

#include "llvm/Transforms/Utils/MemoryOpRemark.h"

Inheritance diagram for llvm::MemoryOpRemark:
Inheritance graph
[legend]
Collaboration diagram for llvm::MemoryOpRemark:
Collaboration graph
[legend]

Public Member Functions

 MemoryOpRemark (OptimizationRemarkEmitter &ORE, StringRef RemarkPass, const DataLayout &DL, const TargetLibraryInfo &TLI)
 
virtual ~MemoryOpRemark ()
 
void visit (const Instruction *I)
 

Static Public Member Functions

static bool canHandle (const Instruction *I, const TargetLibraryInfo &TLI)
 

Public Attributes

OptimizationRemarkEmitterORE
 
StringRef RemarkPass
 
const DataLayoutDL
 
const TargetLibraryInfoTLI
 

Protected Types

enum  RemarkKind { RK_Store, RK_Unknown, RK_IntrinsicCall, RK_Call }
 

Protected Member Functions

virtual std::string explainSource (StringRef Type) const
 
virtual StringRef remarkName (RemarkKind RK) const
 
virtual DiagnosticKind diagnosticKind () const
 

Detailed Description

Definition at line 36 of file MemoryOpRemark.h.

Member Enumeration Documentation

◆ RemarkKind

Enumerator
RK_Store 
RK_Unknown 
RK_IntrinsicCall 
RK_Call 

Definition at line 56 of file MemoryOpRemark.h.

Constructor & Destructor Documentation

◆ MemoryOpRemark()

llvm::MemoryOpRemark::MemoryOpRemark ( OptimizationRemarkEmitter ORE,
StringRef  RemarkPass,
const DataLayout DL,
const TargetLibraryInfo TLI 
)
inline

Definition at line 42 of file MemoryOpRemark.h.

◆ ~MemoryOpRemark()

MemoryOpRemark::~MemoryOpRemark ( )
virtualdefault

Member Function Documentation

◆ canHandle()

bool MemoryOpRemark::canHandle ( const Instruction I,
const TargetLibraryInfo TLI 
)
static
Returns
true iff the instruction is understood by MemoryOpRemark.

Definition at line 25 of file MemoryOpRemark.cpp.

References llvm::TargetLibraryInfo::getLibFunc(), llvm::TargetLibraryInfo::has(), I, and memcpy().

◆ diagnosticKind()

virtual DiagnosticKind llvm::MemoryOpRemark::diagnosticKind ( ) const
inlineprotectedvirtual

Reimplemented in llvm::AutoInitRemark.

Definition at line 59 of file MemoryOpRemark.h.

References llvm::DK_OptimizationRemarkAnalysis.

◆ explainSource()

std::string MemoryOpRemark::explainSource ( StringRef  Type) const
protectedvirtual

Reimplemented in llvm::AutoInitRemark.

Definition at line 108 of file MemoryOpRemark.cpp.

◆ remarkName()

StringRef MemoryOpRemark::remarkName ( RemarkKind  RK) const
protectedvirtual

Reimplemented in llvm::AutoInitRemark.

Definition at line 112 of file MemoryOpRemark.cpp.

References llvm_unreachable.

◆ visit()

void MemoryOpRemark::visit ( const Instruction I)

Definition at line 77 of file MemoryOpRemark.cpp.

References I, and SI.

Member Data Documentation

◆ DL

const DataLayout& llvm::MemoryOpRemark::DL

Definition at line 39 of file MemoryOpRemark.h.

◆ ORE

OptimizationRemarkEmitter& llvm::MemoryOpRemark::ORE

Definition at line 37 of file MemoryOpRemark.h.

◆ RemarkPass

StringRef llvm::MemoryOpRemark::RemarkPass

Definition at line 38 of file MemoryOpRemark.h.

◆ TLI

const TargetLibraryInfo& llvm::MemoryOpRemark::TLI

Definition at line 40 of file MemoryOpRemark.h.


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