14#ifndef LLVM_LIB_TARGET_NVPTX_NVPTXMACHINEFUNCTIONINFO_H
15#define LLVM_LIB_TARGET_NVPTX_NVPTXMACHINEFUNCTIONINFO_H
31 using CallProtoTy = std::pair<const CallBase *, MCSymbol *>;
33 std::vector<CallProtoTy> CallPrototypes;
47 ImageHandleSymbols.insert(Symbol);
52 return ImageHandleSymbols.contains(Symbol);
57 CallPrototypes.push_back({CB, Symbol});
This file defines the SmallPtrSet class.
Represent a constant reference to an array (0 or more elements consecutively in memory),...
Base class for all callable instructions (InvokeInst and CallInst) Holds everything related to callin...
LLVM_ABI MCSymbol * createTempSymbol()
Create a temporary symbol with a unique name.
MCSymbol - Instances of this class represent a symbol name in the MC file, and MCSymbols are created ...
MCContext & getContext() const
Ty * cloneInfo(const Ty &Old)
void addImageHandleSymbol(const MCSymbol *Symbol)
Record that Symbol's handle was replaced with an image reference.
MCSymbol * addCallPrototype(const CallBase *CB, MachineFunction &MF)
ArrayRef< CallProtoTy > getCallPrototypes() const
NVPTXMachineFunctionInfo(const Function &F, const TargetSubtargetInfo *STI)
bool checkImageHandleSymbol(const MCSymbol *Symbol) const
Check whether Symbol's handle was replaced with an image reference.
MachineFunctionInfo * clone(BumpPtrAllocator &Allocator, MachineFunction &DestMF, const DenseMap< MachineBasicBlock *, MachineBasicBlock * > &Src2DstMBB) const override
Make a functionally equivalent copy of this MachineFunctionInfo in MF.
SmallPtrSet - This class implements a set which is optimized for holding SmallSize or less elements.
TargetSubtargetInfo - Generic base class for all target subtargets.
This is an optimization pass for GlobalISel generic memory operations.
BumpPtrAllocatorImpl<> BumpPtrAllocator
The standard BumpPtrAllocator which just uses the default template parameters.
MachineFunctionInfo - This class can be derived from and used by targets to hold private target-speci...