LLVM 20.0.0git
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
llvm::PGOIndirectCallVisitor Struct Reference

#include "llvm/Analysis/IndirectCallVisitor.h"

Inheritance diagram for llvm::PGOIndirectCallVisitor:
Inheritance graph
[legend]

Public Types

enum class  InstructionType { kIndirectCall = 0 , kVTableVal = 1 }
 

Public Member Functions

 PGOIndirectCallVisitor (InstructionType Type)
 
void visitCallBase (CallBase &Call)
 
- Public Member Functions inherited from llvm::InstVisitor< PGOIndirectCallVisitor >
void visit (Iterator Start, Iterator End)
 
void visit (Module &M)
 
void visit (Function &F)
 
void visit (BasicBlock &BB)
 
void visit (Module *M)
 
void visit (Function *F)
 
void visit (BasicBlock *BB)
 
void visit (Instruction *I)
 
void visit (Instruction &I)
 
void visitModule (Module &M)
 
void visitFunction (Function &F)
 
void visitBasicBlock (BasicBlock &BB)
 
void visitICmpInst (ICmpInst &I)
 
void visitFCmpInst (FCmpInst &I)
 
void visitAllocaInst (AllocaInst &I)
 
void visitLoadInst (LoadInst &I)
 
void visitStoreInst (StoreInst &I)
 
void visitAtomicCmpXchgInst (AtomicCmpXchgInst &I)
 
void visitAtomicRMWInst (AtomicRMWInst &I)
 
void visitFenceInst (FenceInst &I)
 
void visitGetElementPtrInst (GetElementPtrInst &I)
 
void visitPHINode (PHINode &I)
 
void visitTruncInst (TruncInst &I)
 
void visitZExtInst (ZExtInst &I)
 
void visitSExtInst (SExtInst &I)
 
void visitFPTruncInst (FPTruncInst &I)
 
void visitFPExtInst (FPExtInst &I)
 
void visitFPToUIInst (FPToUIInst &I)
 
void visitFPToSIInst (FPToSIInst &I)
 
void visitUIToFPInst (UIToFPInst &I)
 
void visitSIToFPInst (SIToFPInst &I)
 
void visitPtrToIntInst (PtrToIntInst &I)
 
void visitIntToPtrInst (IntToPtrInst &I)
 
void visitBitCastInst (BitCastInst &I)
 
void visitAddrSpaceCastInst (AddrSpaceCastInst &I)
 
void visitSelectInst (SelectInst &I)
 
void visitVAArgInst (VAArgInst &I)
 
void visitExtractElementInst (ExtractElementInst &I)
 
void visitInsertElementInst (InsertElementInst &I)
 
void visitShuffleVectorInst (ShuffleVectorInst &I)
 
void visitExtractValueInst (ExtractValueInst &I)
 
void visitInsertValueInst (InsertValueInst &I)
 
void visitLandingPadInst (LandingPadInst &I)
 
void visitFuncletPadInst (FuncletPadInst &I)
 
void visitCleanupPadInst (CleanupPadInst &I)
 
void visitCatchPadInst (CatchPadInst &I)
 
void visitFreezeInst (FreezeInst &I)
 
void visitDbgDeclareInst (DbgDeclareInst &I)
 
void visitDbgValueInst (DbgValueInst &I)
 
void visitDbgVariableIntrinsic (DbgVariableIntrinsic &I)
 
void visitDbgLabelInst (DbgLabelInst &I)
 
void visitDbgInfoIntrinsic (DbgInfoIntrinsic &I)
 
void visitMemSetInst (MemSetInst &I)
 
void visitMemSetInlineInst (MemSetInlineInst &I)
 
void visitMemCpyInst (MemCpyInst &I)
 
void visitMemCpyInlineInst (MemCpyInlineInst &I)
 
void visitMemMoveInst (MemMoveInst &I)
 
void visitMemTransferInst (MemTransferInst &I)
 
void visitMemIntrinsic (MemIntrinsic &I)
 
void visitVAStartInst (VAStartInst &I)
 
void visitVAEndInst (VAEndInst &I)
 
void visitVACopyInst (VACopyInst &I)
 
void visitIntrinsicInst (IntrinsicInst &I)
 
void visitCallInst (CallInst &I)
 
void visitInvokeInst (InvokeInst &I)
 
void visitCallBrInst (CallBrInst &I)
 
void visitReturnInst (ReturnInst &I)
 
void visitBranchInst (BranchInst &I)
 
void visitSwitchInst (SwitchInst &I)
 
void visitIndirectBrInst (IndirectBrInst &I)
 
void visitResumeInst (ResumeInst &I)
 
void visitUnreachableInst (UnreachableInst &I)
 
void visitCleanupReturnInst (CleanupReturnInst &I)
 
void visitCatchReturnInst (CatchReturnInst &I)
 
void visitCatchSwitchInst (CatchSwitchInst &I)
 
void visitTerminator (Instruction &I)
 
void visitCastInst (CastInst &I)
 
void visitUnaryOperator (UnaryOperator &I)
 
void visitBinaryOperator (BinaryOperator &I)
 
void visitCmpInst (CmpInst &I)
 
void visitUnaryInstruction (UnaryInstruction &I)
 
void visitCallBase (CallBase &I)
 
void visitInstruction (Instruction &I)
 

Static Public Member Functions

static InstructiontryGetVTableInstruction (CallBase *CB)
 

Public Attributes

std::vector< CallBase * > IndirectCalls
 
std::vector< Instruction * > ProfiledAddresses
 

Detailed Description

Definition at line 21 of file IndirectCallVisitor.h.

Member Enumeration Documentation

◆ InstructionType

Enumerator
kIndirectCall 
kVTableVal 

Definition at line 22 of file IndirectCallVisitor.h.

Constructor & Destructor Documentation

◆ PGOIndirectCallVisitor()

llvm::PGOIndirectCallVisitor::PGOIndirectCallVisitor ( InstructionType  Type)
inline

Definition at line 28 of file IndirectCallVisitor.h.

Member Function Documentation

◆ tryGetVTableInstruction()

static Instruction * llvm::PGOIndirectCallVisitor::tryGetVTableInstruction ( CallBase CB)
inlinestatic

◆ visitCallBase()

void llvm::PGOIndirectCallVisitor::visitCallBase ( CallBase Call)
inline

Member Data Documentation

◆ IndirectCalls

std::vector<CallBase *> llvm::PGOIndirectCallVisitor::IndirectCalls

Definition at line 26 of file IndirectCallVisitor.h.

Referenced by llvm::findIndirectCalls(), and visitCallBase().

◆ ProfiledAddresses

std::vector<Instruction *> llvm::PGOIndirectCallVisitor::ProfiledAddresses

Definition at line 27 of file IndirectCallVisitor.h.

Referenced by llvm::findVTableAddrs(), and visitCallBase().


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