LLVM API Documentation

InstVisitor.h File Reference

#include "llvm/Function.h"
#include "llvm/Instructions.h"
#include "llvm/Module.h"
#include "llvm/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.

Namespaces

namespace  llvm

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)   RetTy visit##OPCODE(CLASS &I) { DELEGATE(CLASS); }

Functions

 llvm::HANDLE_BINARY_INST (16, Shl, BinaryOperator) HANDLE_BINARY_INST(17
BinaryOperator llvm::HANDLE_BINARY_INST (18, AShr, BinaryOperator) HANDLE_MEMORY_INST(22
BinaryOperator MallocInst llvm::HANDLE_MEMORY_INST (24, Alloca, AllocaInst) HANDLE_MEMORY_INST(25
BinaryOperator MallocInst LoadInst llvm::HANDLE_CAST_INST (28, Trunc, TruncInst) HANDLE_CAST_INST(29
BinaryOperator MallocInst
LoadInst ZExtInst 
llvm::HANDLE_CAST_INST (30, SExt, SExtInst) HANDLE_CAST_INST(31
BinaryOperator MallocInst
LoadInst ZExtInst FPToUIInst 
llvm::HANDLE_CAST_INST (32, FPToSI, FPToSIInst) HANDLE_CAST_INST(33
BinaryOperator MallocInst
LoadInst ZExtInst FPToUIInst
UIToFPInst 
llvm::HANDLE_CAST_INST (34, SIToFP, SIToFPInst) HANDLE_CAST_INST(35
BinaryOperator MallocInst
LoadInst ZExtInst FPToUIInst
UIToFPInst FPTruncInst 
llvm::HANDLE_CAST_INST (36, FPExt, FPExtInst) HANDLE_CAST_INST(37
BinaryOperator MallocInst
LoadInst ZExtInst FPToUIInst
UIToFPInst FPTruncInst
PtrToIntInst 
llvm::HANDLE_CAST_INST (38, IntToPtr, IntToPtrInst) HANDLE_CAST_INST(39
BinaryOperator MallocInst
LoadInst ZExtInst FPToUIInst
UIToFPInst FPTruncInst
PtrToIntInst BitCastInst 
llvm::HANDLE_OTHER_INST (40, ICmp, ICmpInst) HANDLE_OTHER_INST(41
BinaryOperator MallocInst
LoadInst ZExtInst FPToUIInst
UIToFPInst FPTruncInst
PtrToIntInst BitCastInst
FCmpInst 
llvm::HANDLE_OTHER_INST (42, PHI, PHINode) HANDLE_OTHER_INST(43
BinaryOperator MallocInst
LoadInst ZExtInst FPToUIInst
UIToFPInst FPTruncInst
PtrToIntInst BitCastInst
FCmpInst CallInst 
llvm::HANDLE_OTHER_INST (44, Select, SelectInst) HANDLE_OTHER_INST(45
BinaryOperator MallocInst
LoadInst ZExtInst FPToUIInst
UIToFPInst FPTruncInst
PtrToIntInst BitCastInst
FCmpInst CallInst Instruction 
llvm::HANDLE_OTHER_INST (46, UserOp2, Instruction) HANDLE_OTHER_INST(47
BinaryOperator MallocInst
LoadInst ZExtInst FPToUIInst
UIToFPInst FPTruncInst
PtrToIntInst BitCastInst
FCmpInst CallInst Instruction
VAArgInst 
llvm::HANDLE_OTHER_INST (48, ExtractElement, ExtractElementInst) HANDLE_OTHER_INST(49
BinaryOperator MallocInst
LoadInst ZExtInst FPToUIInst
UIToFPInst FPTruncInst
PtrToIntInst BitCastInst
FCmpInst CallInst Instruction
VAArgInst InsertElementInst 
llvm::HANDLE_OTHER_INST (50, ShuffleVector, ShuffleVectorInst) HANDLE_OTHER_INST(51
BinaryOperator MallocInst
LoadInst ZExtInst FPToUIInst
UIToFPInst FPTruncInst
PtrToIntInst BitCastInst
FCmpInst CallInst Instruction
VAArgInst InsertElementInst
ExtractValueInst 
llvm::HANDLE_OTHER_INST (52, InsertValue, InsertValueInst) HANDLE_OTHER_INST(53
BinaryOperator MallocInst
LoadInst ZExtInst FPToUIInst
UIToFPInst FPTruncInst
PtrToIntInst BitCastInst
FCmpInst CallInst Instruction
VAArgInst InsertElementInst
ExtractValueInst VICmpInst 
llvm::HANDLE_OTHER_INST (54, VFCmp, VFCmpInst) template< typename SubClass
 Base class for instruction visitors.

Variables

 llvm::LShr
BinaryOperator llvm::Malloc
BinaryOperator MallocInst llvm::Load
BinaryOperator MallocInst LoadInst llvm::ZExt
BinaryOperator MallocInst
LoadInst ZExtInst 
llvm::FPToUI
BinaryOperator MallocInst
LoadInst ZExtInst FPToUIInst 
llvm::UIToFP
BinaryOperator MallocInst
LoadInst ZExtInst FPToUIInst
UIToFPInst 
llvm::FPTrunc
BinaryOperator MallocInst
LoadInst ZExtInst FPToUIInst
UIToFPInst FPTruncInst 
llvm::PtrToInt
BinaryOperator MallocInst
LoadInst ZExtInst FPToUIInst
UIToFPInst FPTruncInst
PtrToIntInst 
llvm::BitCast
BinaryOperator MallocInst
LoadInst ZExtInst FPToUIInst
UIToFPInst FPTruncInst
PtrToIntInst BitCastInst 
llvm::FCmp
BinaryOperator MallocInst
LoadInst ZExtInst FPToUIInst
UIToFPInst FPTruncInst
PtrToIntInst BitCastInst
FCmpInst 
llvm::Call
BinaryOperator MallocInst
LoadInst ZExtInst FPToUIInst
UIToFPInst FPTruncInst
PtrToIntInst BitCastInst
FCmpInst CallInst 
llvm::UserOp1
BinaryOperator MallocInst
LoadInst ZExtInst FPToUIInst
UIToFPInst FPTruncInst
PtrToIntInst BitCastInst
FCmpInst CallInst Instruction 
llvm::VAArg
BinaryOperator MallocInst
LoadInst ZExtInst FPToUIInst
UIToFPInst FPTruncInst
PtrToIntInst BitCastInst
FCmpInst CallInst Instruction
VAArgInst 
llvm::InsertElement
BinaryOperator MallocInst
LoadInst ZExtInst FPToUIInst
UIToFPInst FPTruncInst
PtrToIntInst BitCastInst
FCmpInst CallInst Instruction
VAArgInst InsertElementInst 
llvm::ExtractValue
BinaryOperator MallocInst
LoadInst ZExtInst FPToUIInst
UIToFPInst FPTruncInst
PtrToIntInst BitCastInst
FCmpInst CallInst Instruction
VAArgInst InsertElementInst
ExtractValueInst 
llvm::VICmp
BinaryOperator MallocInst
LoadInst ZExtInst FPToUIInst
UIToFPInst FPTruncInst
PtrToIntInst BitCastInst
FCmpInst CallInst Instruction
VAArgInst InsertElementInst
ExtractValueInst VICmpInst 
llvm::RetTy


Define Documentation

#define DELEGATE ( CLASS_TO_VISIT   ) 

Value:

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

#define HANDLE_INST ( NUM,
OPCODE,
CLASS   )     RetTy visit##OPCODE(CLASS &I) { DELEGATE(CLASS); }

Definition at line 23 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 23 of file InstVisitor.h.

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

Definition at line 23 of file InstVisitor.h.




This web site is hosted by the Computer Science Department at the University of Illinois at Urbana-Champaign.