LLVM API Documentation

Classes | Namespaces | Defines | Functions | Variables
InstVisitor.h File Reference
#include "llvm/IR/CallSite.h"
#include "llvm/IR/Function.h"
#include "llvm/IR/Instructions.h"
#include "llvm/IR/IntrinsicInst.h"
#include "llvm/IR/Intrinsics.h"
#include "llvm/IR/Module.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/IR/Instruction.def"
Include dependency graph for InstVisitor.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  llvm::InstVisitor< SubClass, RetTy >
 Base class for instruction visitors. More...

Namespaces

namespace  llvm
 

List of target independent CodeGen pass IDs.


Defines

#define HANDLE_INST(NUM, OPCODE, CLASS)   class CLASS;
#define DELEGATE(CLASS_TO_VISIT)
#define HANDLE_INST(NUM, OPCODE, CLASS)
#define HANDLE_INST(NUM, OPCODE, CLASS)

Functions

 llvm::HANDLE_BINARY_INST (20, Shl, BinaryOperator) HANDLE_BINARY_INST(21
BinaryOperator llvm::HANDLE_BINARY_INST (22, AShr, BinaryOperator) HANDLE_MEMORY_INST(26
BinaryOperator AllocaInst llvm::HANDLE_MEMORY_INST (27, Load, LoadInst) HANDLE_CAST_INST(33
BinaryOperator AllocaInst TruncInst llvm::HANDLE_CAST_INST (34, ZExt, ZExtInst) HANDLE_CAST_INST(35
BinaryOperator AllocaInst
TruncInst SExtInst 
llvm::HANDLE_CAST_INST (36, FPToUI, FPToUIInst) HANDLE_CAST_INST(37
BinaryOperator AllocaInst
TruncInst SExtInst FPToSIInst 
llvm::HANDLE_CAST_INST (38, UIToFP, UIToFPInst) HANDLE_CAST_INST(39
BinaryOperator AllocaInst
TruncInst SExtInst FPToSIInst
SIToFPInst 
llvm::HANDLE_CAST_INST (40, FPTrunc, FPTruncInst) HANDLE_CAST_INST(41
BinaryOperator AllocaInst
TruncInst SExtInst FPToSIInst
SIToFPInst FPExtInst 
llvm::HANDLE_CAST_INST (42, PtrToInt, PtrToIntInst) HANDLE_CAST_INST(43
BinaryOperator AllocaInst
TruncInst SExtInst FPToSIInst
SIToFPInst FPExtInst
IntToPtrInst 
llvm::HANDLE_CAST_INST (44, BitCast, BitCastInst) HANDLE_CAST_INST(45
BinaryOperator AllocaInst
TruncInst SExtInst FPToSIInst
SIToFPInst FPExtInst
IntToPtrInst AddrSpaceCastInst 
llvm::HANDLE_OTHER_INST (46, ICmp, ICmpInst) HANDLE_OTHER_INST(47
BinaryOperator AllocaInst
TruncInst SExtInst FPToSIInst
SIToFPInst FPExtInst
IntToPtrInst AddrSpaceCastInst
FCmpInst 
llvm::HANDLE_OTHER_INST (48, PHI, PHINode) HANDLE_OTHER_INST(49
BinaryOperator AllocaInst
TruncInst SExtInst FPToSIInst
SIToFPInst FPExtInst
IntToPtrInst AddrSpaceCastInst
FCmpInst CallInst 
llvm::HANDLE_OTHER_INST (50, Select, SelectInst) HANDLE_OTHER_INST(51
BinaryOperator AllocaInst
TruncInst SExtInst FPToSIInst
SIToFPInst FPExtInst
IntToPtrInst AddrSpaceCastInst
FCmpInst CallInst Instruction 
llvm::HANDLE_OTHER_INST (52, UserOp2, Instruction) HANDLE_OTHER_INST(53
BinaryOperator AllocaInst
TruncInst SExtInst FPToSIInst
SIToFPInst FPExtInst
IntToPtrInst AddrSpaceCastInst
FCmpInst CallInst Instruction
VAArgInst 
llvm::HANDLE_OTHER_INST (54, ExtractElement, ExtractElementInst) HANDLE_OTHER_INST(55
BinaryOperator AllocaInst
TruncInst SExtInst FPToSIInst
SIToFPInst FPExtInst
IntToPtrInst AddrSpaceCastInst
FCmpInst CallInst Instruction
VAArgInst InsertElementInst 
llvm::HANDLE_OTHER_INST (56, ShuffleVector, ShuffleVectorInst) HANDLE_OTHER_INST(57
BinaryOperator AllocaInst
TruncInst SExtInst FPToSIInst
SIToFPInst FPExtInst
IntToPtrInst AddrSpaceCastInst
FCmpInst CallInst Instruction
VAArgInst InsertElementInst
ExtractValueInst 
llvm::HANDLE_OTHER_INST (58, InsertValue, InsertValueInst) HANDLE_OTHER_INST(59

Variables

 llvm::LShr
BinaryOperator llvm::Alloca
BinaryOperator AllocaInst llvm::Trunc
BinaryOperator AllocaInst TruncInst llvm::SExt
BinaryOperator AllocaInst
TruncInst SExtInst 
llvm::FPToSI
BinaryOperator AllocaInst
TruncInst SExtInst FPToSIInst 
llvm::SIToFP
BinaryOperator AllocaInst
TruncInst SExtInst FPToSIInst
SIToFPInst 
llvm::FPExt
BinaryOperator AllocaInst
TruncInst SExtInst FPToSIInst
SIToFPInst FPExtInst 
llvm::IntToPtr
BinaryOperator AllocaInst
TruncInst SExtInst FPToSIInst
SIToFPInst FPExtInst
IntToPtrInst 
llvm::AddrSpaceCast
BinaryOperator AllocaInst
TruncInst SExtInst FPToSIInst
SIToFPInst FPExtInst
IntToPtrInst AddrSpaceCastInst 
llvm::FCmp
BinaryOperator AllocaInst
TruncInst SExtInst FPToSIInst
SIToFPInst FPExtInst
IntToPtrInst AddrSpaceCastInst
FCmpInst CallInst 
llvm::UserOp1
BinaryOperator AllocaInst
TruncInst SExtInst FPToSIInst
SIToFPInst FPExtInst
IntToPtrInst AddrSpaceCastInst
FCmpInst CallInst Instruction 
llvm::VAArg
BinaryOperator AllocaInst
TruncInst SExtInst FPToSIInst
SIToFPInst FPExtInst
IntToPtrInst AddrSpaceCastInst
FCmpInst CallInst Instruction
VAArgInst 
llvm::InsertElement
BinaryOperator AllocaInst
TruncInst SExtInst FPToSIInst
SIToFPInst FPExtInst
IntToPtrInst AddrSpaceCastInst
FCmpInst CallInst Instruction
VAArgInst InsertElementInst 
llvm::ExtractValue
BinaryOperator AllocaInst
TruncInst SExtInst FPToSIInst
SIToFPInst FPExtInst
IntToPtrInst AddrSpaceCastInst
FCmpInst CallInst Instruction
VAArgInst InsertElementInst
ExtractValueInst 
llvm::LandingPad

Define Documentation

#define DELEGATE (   CLASS_TO_VISIT)
Value:
return static_cast<SubClass*>(this)-> \
               visit##CLASS_TO_VISIT(static_cast<CLASS_TO_VISIT&>(I))

Definition at line 30 of file InstVisitor.h.

Referenced by llvm::InstVisitor< ObjectSizeOffsetVisitor, SizeOffsetType >::visitAddrSpaceCastInst(), llvm::InstVisitor< ObjectSizeOffsetVisitor, SizeOffsetType >::visitAtomicCmpXchgInst(), llvm::InstVisitor< ObjectSizeOffsetVisitor, SizeOffsetType >::visitAtomicRMWInst(), llvm::InstVisitor< ObjectSizeOffsetVisitor, SizeOffsetType >::visitBinaryOperator(), llvm::InstVisitor< ObjectSizeOffsetVisitor, SizeOffsetType >::visitBitCastInst(), llvm::InstVisitor< ObjectSizeOffsetVisitor, SizeOffsetType >::visitBranchInst(), llvm::InstVisitor< ObjectSizeOffsetVisitor, SizeOffsetType >::visitCallSite(), llvm::InstVisitor< ObjectSizeOffsetVisitor, SizeOffsetType >::visitCastInst(), llvm::InstVisitor< ObjectSizeOffsetVisitor, SizeOffsetType >::visitCmpInst(), llvm::InstVisitor< ObjectSizeOffsetVisitor, SizeOffsetType >::visitDbgDeclareInst(), llvm::InstVisitor< ObjectSizeOffsetVisitor, SizeOffsetType >::visitDbgInfoIntrinsic(), llvm::InstVisitor< ObjectSizeOffsetVisitor, SizeOffsetType >::visitDbgValueInst(), llvm::InstVisitor< ObjectSizeOffsetVisitor, SizeOffsetType >::visitExtractElementInst(), llvm::InstVisitor< ObjectSizeOffsetVisitor, SizeOffsetType >::visitExtractValueInst(), llvm::InstVisitor< ObjectSizeOffsetVisitor, SizeOffsetType >::visitFCmpInst(), llvm::InstVisitor< ObjectSizeOffsetVisitor, SizeOffsetType >::visitFenceInst(), llvm::InstVisitor< ObjectSizeOffsetVisitor, SizeOffsetType >::visitFPExtInst(), llvm::InstVisitor< ObjectSizeOffsetVisitor, SizeOffsetType >::visitFPToSIInst(), llvm::InstVisitor< ObjectSizeOffsetVisitor, SizeOffsetType >::visitFPToUIInst(), llvm::InstVisitor< ObjectSizeOffsetVisitor, SizeOffsetType >::visitFPTruncInst(), llvm::InstVisitor< ObjectSizeOffsetVisitor, SizeOffsetType >::visitGetElementPtrInst(), llvm::InstVisitor< ObjectSizeOffsetVisitor, SizeOffsetType >::visitIndirectBrInst(), llvm::InstVisitor< ObjectSizeOffsetVisitor, SizeOffsetType >::visitInsertElementInst(), llvm::InstVisitor< ObjectSizeOffsetVisitor, SizeOffsetType >::visitInsertValueInst(), llvm::InstVisitor< ObjectSizeOffsetVisitor, SizeOffsetType >::visitIntrinsicInst(), llvm::InstVisitor< ObjectSizeOffsetVisitor, SizeOffsetType >::visitIntToPtrInst(), llvm::InstVisitor< ObjectSizeOffsetVisitor, SizeOffsetType >::visitLandingPadInst(), llvm::InstVisitor< ObjectSizeOffsetVisitor, SizeOffsetType >::visitLoadInst(), llvm::InstVisitor< ObjectSizeOffsetVisitor, SizeOffsetType >::visitMemCpyInst(), llvm::InstVisitor< ObjectSizeOffsetVisitor, SizeOffsetType >::visitMemIntrinsic(), llvm::InstVisitor< ObjectSizeOffsetVisitor, SizeOffsetType >::visitMemMoveInst(), llvm::InstVisitor< ObjectSizeOffsetVisitor, SizeOffsetType >::visitMemSetInst(), llvm::InstVisitor< ObjectSizeOffsetVisitor, SizeOffsetType >::visitMemTransferInst(), llvm::InstVisitor< ObjectSizeOffsetVisitor, SizeOffsetType >::visitPHINode(), llvm::InstVisitor< ObjectSizeOffsetVisitor, SizeOffsetType >::visitPtrToIntInst(), llvm::InstVisitor< ObjectSizeOffsetVisitor, SizeOffsetType >::visitReturnInst(), llvm::InstVisitor< ObjectSizeOffsetVisitor, SizeOffsetType >::visitSelectInst(), llvm::InstVisitor< ObjectSizeOffsetVisitor, SizeOffsetType >::visitSExtInst(), llvm::InstVisitor< ObjectSizeOffsetVisitor, SizeOffsetType >::visitShuffleVectorInst(), llvm::InstVisitor< ObjectSizeOffsetVisitor, SizeOffsetType >::visitSIToFPInst(), llvm::InstVisitor< ObjectSizeOffsetVisitor, SizeOffsetType >::visitTerminatorInst(), llvm::InstVisitor< ObjectSizeOffsetVisitor, SizeOffsetType >::visitTruncInst(), llvm::InstVisitor< ObjectSizeOffsetVisitor, SizeOffsetType >::visitUIToFPInst(), llvm::InstVisitor< ObjectSizeOffsetVisitor, SizeOffsetType >::visitUnaryInstruction(), llvm::InstVisitor< ObjectSizeOffsetVisitor, SizeOffsetType >::visitUnreachableInst(), llvm::InstVisitor< ObjectSizeOffsetVisitor, SizeOffsetType >::visitVAArgInst(), llvm::InstVisitor< ObjectSizeOffsetVisitor, SizeOffsetType >::visitVACopyInst(), llvm::InstVisitor< ObjectSizeOffsetVisitor, SizeOffsetType >::visitVAEndInst(), llvm::InstVisitor< ObjectSizeOffsetVisitor, SizeOffsetType >::visitVAStartInst(), and llvm::InstVisitor< ObjectSizeOffsetVisitor, SizeOffsetType >::visitZExtInst().

#define HANDLE_INST (   NUM,
  OPCODE,
  CLASS 
)    class CLASS;

Definition at line 154 of file InstVisitor.h.

#define HANDLE_INST (   NUM,
  OPCODE,
  CLASS 
)
Value:
case Instruction::OPCODE: return \
           static_cast<SubClass*>(this)-> \
                      visit##OPCODE(static_cast<CLASS&>(I));

Definition at line 154 of file InstVisitor.h.

#define HANDLE_INST (   NUM,
  OPCODE,
  CLASS 
)
Value:
RetTy visit##OPCODE(CLASS &I) { \
      if (NUM == Instruction::Call) \
        return delegateCallInst(I); \
      else \
        DELEGATE(CLASS); \
    }

Definition at line 154 of file InstVisitor.h.