LLVM 19.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

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


Definition at line 22 of file IndirectCallVisitor.h.

Constructor & Destructor Documentation

◆ PGOIndirectCallVisitor()

llvm::PGOIndirectCallVisitor::PGOIndirectCallVisitor ( InstructionType  Type)

Definition at line 28 of file IndirectCallVisitor.h.

Member Function Documentation

◆ tryGetVTableInstruction()

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

◆ visitCallBase()

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

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: