LLVM 19.0.0git
Public Member Functions | Public Attributes | List of all members
llvm::IRSimilarity::IRInstructionMapper::InstructionClassification Struct Reference

Custom InstVisitor to classify different instructions for whether it can be analyzed for similarity. More...

#include "llvm/Analysis/IRSimilarityIdentifier.h"

Inheritance diagram for llvm::IRSimilarity::IRInstructionMapper::InstructionClassification:
Inheritance graph
[legend]

Public Member Functions

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

Public Attributes

bool EnableBranches = false
 
bool EnableIndirectCalls = false
 
bool EnableIntrinsics = false
 
bool EnableMustTailCalls = false
 

Detailed Description

Custom InstVisitor to classify different instructions for whether it can be analyzed for similarity.

Definition at line 521 of file IRSimilarityIdentifier.h.

Constructor & Destructor Documentation

◆ InstructionClassification()

llvm::IRSimilarity::IRInstructionMapper::InstructionClassification::InstructionClassification ( )
default

Member Function Documentation

◆ visitAllocaInst()

InstrType llvm::IRSimilarity::IRInstructionMapper::InstructionClassification::visitAllocaInst ( AllocaInst AI)
inline

Definition at line 537 of file IRSimilarityIdentifier.h.

References llvm::IRSimilarity::Illegal.

◆ visitBranchInst()

InstrType llvm::IRSimilarity::IRInstructionMapper::InstructionClassification::visitBranchInst ( BranchInst BI)
inline

◆ visitCallBrInst()

InstrType llvm::IRSimilarity::IRInstructionMapper::InstructionClassification::visitCallBrInst ( CallBrInst CBI)
inline

Definition at line 586 of file IRSimilarityIdentifier.h.

References llvm::IRSimilarity::Illegal.

◆ visitCallInst()

InstrType llvm::IRSimilarity::IRInstructionMapper::InstructionClassification::visitCallInst ( CallInst CI)
inline

◆ visitDbgInfoIntrinsic()

InstrType llvm::IRSimilarity::IRInstructionMapper::InstructionClassification::visitDbgInfoIntrinsic ( DbgInfoIntrinsic DII)
inline

Definition at line 548 of file IRSimilarityIdentifier.h.

References llvm::IRSimilarity::Invisible.

◆ visitFuncletPadInst()

InstrType llvm::IRSimilarity::IRInstructionMapper::InstructionClassification::visitFuncletPadInst ( FuncletPadInst FPI)
inline

Definition at line 544 of file IRSimilarityIdentifier.h.

References llvm::IRSimilarity::Illegal.

◆ visitInstruction()

InstrType llvm::IRSimilarity::IRInstructionMapper::InstructionClassification::visitInstruction ( Instruction I)
inline

Definition at line 589 of file IRSimilarityIdentifier.h.

References llvm::IRSimilarity::Legal.

◆ visitIntrinsicInst()

InstrType llvm::IRSimilarity::IRInstructionMapper::InstructionClassification::visitIntrinsicInst ( IntrinsicInst II)
inline

◆ visitInvokeInst()

InstrType llvm::IRSimilarity::IRInstructionMapper::InstructionClassification::visitInvokeInst ( InvokeInst II)
inline

Definition at line 584 of file IRSimilarityIdentifier.h.

References llvm::IRSimilarity::Illegal.

◆ visitLandingPadInst()

InstrType llvm::IRSimilarity::IRInstructionMapper::InstructionClassification::visitLandingPadInst ( LandingPadInst LPI)
inline

Definition at line 543 of file IRSimilarityIdentifier.h.

References llvm::IRSimilarity::Illegal.

◆ visitPHINode()

InstrType llvm::IRSimilarity::IRInstructionMapper::InstructionClassification::visitPHINode ( PHINode PN)
inline

◆ visitTerminator()

InstrType llvm::IRSimilarity::IRInstructionMapper::InstructionClassification::visitTerminator ( Instruction I)
inline

Definition at line 588 of file IRSimilarityIdentifier.h.

References llvm::IRSimilarity::Illegal.

◆ visitVAArgInst()

InstrType llvm::IRSimilarity::IRInstructionMapper::InstructionClassification::visitVAArgInst ( VAArgInst VI)
inline

Definition at line 540 of file IRSimilarityIdentifier.h.

References llvm::IRSimilarity::Illegal.

Member Data Documentation

◆ EnableBranches

bool llvm::IRSimilarity::IRInstructionMapper::InstructionClassification::EnableBranches = false

◆ EnableIndirectCalls

bool llvm::IRSimilarity::IRInstructionMapper::InstructionClassification::EnableIndirectCalls = false

◆ EnableIntrinsics

bool llvm::IRSimilarity::IRInstructionMapper::InstructionClassification::EnableIntrinsics = false

◆ EnableMustTailCalls

bool llvm::IRSimilarity::IRInstructionMapper::InstructionClassification::EnableMustTailCalls = false

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