14#ifndef LLVM_TRANSFORMS_UTILS_MEMORYOPREMARK_H
15#define LLVM_TRANSFORMS_UTILS_MEMORYOPREMARK_H
26class DiagnosticInfoIROptimization;
30class OptimizationRemarkEmitter;
61 template<
typename ...Ts>
62 std::unique_ptr<DiagnosticInfoIROptimization> makeRemark(Ts... Args);
75 template <
typename FTy>
85 std::optional<StringRef> Name;
86 std::optional<uint64_t> Size;
87 bool isEmpty()
const {
return !Name && !Size; }
92 void visitPtr(Value *V,
bool IsSrc, DiagnosticInfoIROptimization &R);
93 void visitVariable(
const Value *V, SmallVectorImpl<VariableInfo> &Result);
uint64_t IntrinsicInst * II
This class represents a function call, abstracting a target machine's calling convention.
A parsed version of the target data layout string in and methods for querying it.
Common features for diagnostics dealing with optimization remarks that are used by IR passes.
A wrapper class for inspecting calls to intrinsic functions.
An instruction for storing to memory.
StringRef - Represent a constant reference to a string, i.e.
Provides information about what library functions are available for the current target.
The instances of the Type class are immutable: once they are created, they are never changed.
LLVM Value Representation.
This is an optimization pass for GlobalISel generic memory operations.
DiagnosticKind
Defines the different supported kind of a diagnostic.
@ DK_OptimizationRemarkAnalysis
@ DK_OptimizationRemarkMissed