LLVM  12.0.0git
Public Member Functions | List of all members
llvm::IRBuilderFolder Class Referenceabstract

IRBuilderFolder - Interface for constant folding in IRBuilder. More...

#include "llvm/IR/IRBuilderFolder.h"

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

Public Member Functions

virtual ~IRBuilderFolder ()
 
virtual ValueCreateAdd (Constant *LHS, Constant *RHS, bool HasNUW=false, bool HasNSW=false) const =0
 
virtual ValueCreateFAdd (Constant *LHS, Constant *RHS) const =0
 
virtual ValueCreateSub (Constant *LHS, Constant *RHS, bool HasNUW=false, bool HasNSW=false) const =0
 
virtual ValueCreateFSub (Constant *LHS, Constant *RHS) const =0
 
virtual ValueCreateMul (Constant *LHS, Constant *RHS, bool HasNUW=false, bool HasNSW=false) const =0
 
virtual ValueCreateFMul (Constant *LHS, Constant *RHS) const =0
 
virtual ValueCreateUDiv (Constant *LHS, Constant *RHS, bool isExact=false) const =0
 
virtual ValueCreateSDiv (Constant *LHS, Constant *RHS, bool isExact=false) const =0
 
virtual ValueCreateFDiv (Constant *LHS, Constant *RHS) const =0
 
virtual ValueCreateURem (Constant *LHS, Constant *RHS) const =0
 
virtual ValueCreateSRem (Constant *LHS, Constant *RHS) const =0
 
virtual ValueCreateFRem (Constant *LHS, Constant *RHS) const =0
 
virtual ValueCreateShl (Constant *LHS, Constant *RHS, bool HasNUW=false, bool HasNSW=false) const =0
 
virtual ValueCreateLShr (Constant *LHS, Constant *RHS, bool isExact=false) const =0
 
virtual ValueCreateAShr (Constant *LHS, Constant *RHS, bool isExact=false) const =0
 
virtual ValueCreateAnd (Constant *LHS, Constant *RHS) const =0
 
virtual ValueCreateOr (Constant *LHS, Constant *RHS) const =0
 
virtual ValueCreateXor (Constant *LHS, Constant *RHS) const =0
 
virtual ValueCreateBinOp (Instruction::BinaryOps Opc, Constant *LHS, Constant *RHS) const =0
 
virtual ValueCreateNeg (Constant *C, bool HasNUW=false, bool HasNSW=false) const =0
 
virtual ValueCreateFNeg (Constant *C) const =0
 
virtual ValueCreateNot (Constant *C) const =0
 
virtual ValueCreateUnOp (Instruction::UnaryOps Opc, Constant *C) const =0
 
virtual ValueCreateGetElementPtr (Type *Ty, Constant *C, ArrayRef< Constant *> IdxList) const =0
 
virtual ValueCreateGetElementPtr (Type *Ty, Constant *C, Constant *Idx) const =0
 
virtual ValueCreateGetElementPtr (Type *Ty, Constant *C, ArrayRef< Value *> IdxList) const =0
 
virtual ValueCreateInBoundsGetElementPtr (Type *Ty, Constant *C, ArrayRef< Constant *> IdxList) const =0
 
virtual ValueCreateInBoundsGetElementPtr (Type *Ty, Constant *C, Constant *Idx) const =0
 
virtual ValueCreateInBoundsGetElementPtr (Type *Ty, Constant *C, ArrayRef< Value *> IdxList) const =0
 
virtual ValueCreateCast (Instruction::CastOps Op, Constant *C, Type *DestTy) const =0
 
virtual ValueCreatePointerCast (Constant *C, Type *DestTy) const =0
 
virtual ValueCreatePointerBitCastOrAddrSpaceCast (Constant *C, Type *DestTy) const =0
 
virtual ValueCreateIntCast (Constant *C, Type *DestTy, bool isSigned) const =0
 
virtual ValueCreateFPCast (Constant *C, Type *DestTy) const =0
 
virtual ValueCreateBitCast (Constant *C, Type *DestTy) const =0
 
virtual ValueCreateIntToPtr (Constant *C, Type *DestTy) const =0
 
virtual ValueCreatePtrToInt (Constant *C, Type *DestTy) const =0
 
virtual ValueCreateZExtOrBitCast (Constant *C, Type *DestTy) const =0
 
virtual ValueCreateSExtOrBitCast (Constant *C, Type *DestTy) const =0
 
virtual ValueCreateTruncOrBitCast (Constant *C, Type *DestTy) const =0
 
virtual ValueCreateICmp (CmpInst::Predicate P, Constant *LHS, Constant *RHS) const =0
 
virtual ValueCreateFCmp (CmpInst::Predicate P, Constant *LHS, Constant *RHS) const =0
 
virtual ValueCreateSelect (Constant *C, Constant *True, Constant *False) const =0
 
virtual ValueCreateExtractElement (Constant *Vec, Constant *Idx) const =0
 
virtual ValueCreateInsertElement (Constant *Vec, Constant *NewElt, Constant *Idx) const =0
 
virtual ValueCreateShuffleVector (Constant *V1, Constant *V2, ArrayRef< int > Mask) const =0
 
virtual ValueCreateExtractValue (Constant *Agg, ArrayRef< unsigned > IdxList) const =0
 
virtual ValueCreateInsertValue (Constant *Agg, Constant *Val, ArrayRef< unsigned > IdxList) const =0
 

Detailed Description

IRBuilderFolder - Interface for constant folding in IRBuilder.

Definition at line 24 of file IRBuilderFolder.h.

Constructor & Destructor Documentation

◆ ~IRBuilderFolder()

IRBuilderFolder::~IRBuilderFolder ( )
virtual

Definition at line 1148 of file IRBuilder.cpp.

Member Function Documentation

◆ CreateAdd()

virtual Value* llvm::IRBuilderFolder::CreateAdd ( Constant LHS,
Constant RHS,
bool  HasNUW = false,
bool  HasNSW = false 
) const
pure virtual

◆ CreateAnd()

virtual Value* llvm::IRBuilderFolder::CreateAnd ( Constant LHS,
Constant RHS 
) const
pure virtual

◆ CreateAShr()

virtual Value* llvm::IRBuilderFolder::CreateAShr ( Constant LHS,
Constant RHS,
bool  isExact = false 
) const
pure virtual

◆ CreateBinOp()

virtual Value* llvm::IRBuilderFolder::CreateBinOp ( Instruction::BinaryOps  Opc,
Constant LHS,
Constant RHS 
) const
pure virtual

◆ CreateBitCast()

virtual Value* llvm::IRBuilderFolder::CreateBitCast ( Constant C,
Type DestTy 
) const
pure virtual

◆ CreateCast()

virtual Value* llvm::IRBuilderFolder::CreateCast ( Instruction::CastOps  Op,
Constant C,
Type DestTy 
) const
pure virtual

◆ CreateExtractElement()

virtual Value* llvm::IRBuilderFolder::CreateExtractElement ( Constant Vec,
Constant Idx 
) const
pure virtual

◆ CreateExtractValue()

virtual Value* llvm::IRBuilderFolder::CreateExtractValue ( Constant Agg,
ArrayRef< unsigned IdxList 
) const
pure virtual

◆ CreateFAdd()

virtual Value* llvm::IRBuilderFolder::CreateFAdd ( Constant LHS,
Constant RHS 
) const
pure virtual

◆ CreateFCmp()

virtual Value* llvm::IRBuilderFolder::CreateFCmp ( CmpInst::Predicate  P,
Constant LHS,
Constant RHS 
) const
pure virtual

◆ CreateFDiv()

virtual Value* llvm::IRBuilderFolder::CreateFDiv ( Constant LHS,
Constant RHS 
) const
pure virtual

◆ CreateFMul()

virtual Value* llvm::IRBuilderFolder::CreateFMul ( Constant LHS,
Constant RHS 
) const
pure virtual

◆ CreateFNeg()

virtual Value* llvm::IRBuilderFolder::CreateFNeg ( Constant C) const
pure virtual

◆ CreateFPCast()

virtual Value* llvm::IRBuilderFolder::CreateFPCast ( Constant C,
Type DestTy 
) const
pure virtual

◆ CreateFRem()

virtual Value* llvm::IRBuilderFolder::CreateFRem ( Constant LHS,
Constant RHS 
) const
pure virtual

◆ CreateFSub()

virtual Value* llvm::IRBuilderFolder::CreateFSub ( Constant LHS,
Constant RHS 
) const
pure virtual

◆ CreateGetElementPtr() [1/3]

virtual Value* llvm::IRBuilderFolder::CreateGetElementPtr ( Type Ty,
Constant C,
ArrayRef< Constant *>  IdxList 
) const
pure virtual

◆ CreateGetElementPtr() [2/3]

virtual Value* llvm::IRBuilderFolder::CreateGetElementPtr ( Type Ty,
Constant C,
Constant Idx 
) const
pure virtual

◆ CreateGetElementPtr() [3/3]

virtual Value* llvm::IRBuilderFolder::CreateGetElementPtr ( Type Ty,
Constant C,
ArrayRef< Value *>  IdxList 
) const
pure virtual

◆ CreateICmp()

virtual Value* llvm::IRBuilderFolder::CreateICmp ( CmpInst::Predicate  P,
Constant LHS,
Constant RHS 
) const
pure virtual

◆ CreateInBoundsGetElementPtr() [1/3]

virtual Value* llvm::IRBuilderFolder::CreateInBoundsGetElementPtr ( Type Ty,
Constant C,
ArrayRef< Constant *>  IdxList 
) const
pure virtual

◆ CreateInBoundsGetElementPtr() [2/3]

virtual Value* llvm::IRBuilderFolder::CreateInBoundsGetElementPtr ( Type Ty,
Constant C,
Constant Idx 
) const
pure virtual

◆ CreateInBoundsGetElementPtr() [3/3]

virtual Value* llvm::IRBuilderFolder::CreateInBoundsGetElementPtr ( Type Ty,
Constant C,
ArrayRef< Value *>  IdxList 
) const
pure virtual

◆ CreateInsertElement()

virtual Value* llvm::IRBuilderFolder::CreateInsertElement ( Constant Vec,
Constant NewElt,
Constant Idx 
) const
pure virtual

◆ CreateInsertValue()

virtual Value* llvm::IRBuilderFolder::CreateInsertValue ( Constant Agg,
Constant Val,
ArrayRef< unsigned IdxList 
) const
pure virtual

◆ CreateIntCast()

virtual Value* llvm::IRBuilderFolder::CreateIntCast ( Constant C,
Type DestTy,
bool  isSigned 
) const
pure virtual

◆ CreateIntToPtr()

virtual Value* llvm::IRBuilderFolder::CreateIntToPtr ( Constant C,
Type DestTy 
) const
pure virtual

◆ CreateLShr()

virtual Value* llvm::IRBuilderFolder::CreateLShr ( Constant LHS,
Constant RHS,
bool  isExact = false 
) const
pure virtual

◆ CreateMul()

virtual Value* llvm::IRBuilderFolder::CreateMul ( Constant LHS,
Constant RHS,
bool  HasNUW = false,
bool  HasNSW = false 
) const
pure virtual

◆ CreateNeg()

virtual Value* llvm::IRBuilderFolder::CreateNeg ( Constant C,
bool  HasNUW = false,
bool  HasNSW = false 
) const
pure virtual

◆ CreateNot()

virtual Value* llvm::IRBuilderFolder::CreateNot ( Constant C) const
pure virtual

◆ CreateOr()

virtual Value* llvm::IRBuilderFolder::CreateOr ( Constant LHS,
Constant RHS 
) const
pure virtual

◆ CreatePointerBitCastOrAddrSpaceCast()

virtual Value* llvm::IRBuilderFolder::CreatePointerBitCastOrAddrSpaceCast ( Constant C,
Type DestTy 
) const
pure virtual

◆ CreatePointerCast()

virtual Value* llvm::IRBuilderFolder::CreatePointerCast ( Constant C,
Type DestTy 
) const
pure virtual

◆ CreatePtrToInt()

virtual Value* llvm::IRBuilderFolder::CreatePtrToInt ( Constant C,
Type DestTy 
) const
pure virtual

◆ CreateSDiv()

virtual Value* llvm::IRBuilderFolder::CreateSDiv ( Constant LHS,
Constant RHS,
bool  isExact = false 
) const
pure virtual

◆ CreateSelect()

virtual Value* llvm::IRBuilderFolder::CreateSelect ( Constant C,
Constant True,
Constant False 
) const
pure virtual

◆ CreateSExtOrBitCast()

virtual Value* llvm::IRBuilderFolder::CreateSExtOrBitCast ( Constant C,
Type DestTy 
) const
pure virtual

◆ CreateShl()

virtual Value* llvm::IRBuilderFolder::CreateShl ( Constant LHS,
Constant RHS,
bool  HasNUW = false,
bool  HasNSW = false 
) const
pure virtual

◆ CreateShuffleVector()

virtual Value* llvm::IRBuilderFolder::CreateShuffleVector ( Constant V1,
Constant V2,
ArrayRef< int >  Mask 
) const
pure virtual

◆ CreateSRem()

virtual Value* llvm::IRBuilderFolder::CreateSRem ( Constant LHS,
Constant RHS 
) const
pure virtual

◆ CreateSub()

virtual Value* llvm::IRBuilderFolder::CreateSub ( Constant LHS,
Constant RHS,
bool  HasNUW = false,
bool  HasNSW = false 
) const
pure virtual

◆ CreateTruncOrBitCast()

virtual Value* llvm::IRBuilderFolder::CreateTruncOrBitCast ( Constant C,
Type DestTy 
) const
pure virtual

◆ CreateUDiv()

virtual Value* llvm::IRBuilderFolder::CreateUDiv ( Constant LHS,
Constant RHS,
bool  isExact = false 
) const
pure virtual

◆ CreateUnOp()

virtual Value* llvm::IRBuilderFolder::CreateUnOp ( Instruction::UnaryOps  Opc,
Constant C 
) const
pure virtual

◆ CreateURem()

virtual Value* llvm::IRBuilderFolder::CreateURem ( Constant LHS,
Constant RHS 
) const
pure virtual

◆ CreateXor()

virtual Value* llvm::IRBuilderFolder::CreateXor ( Constant LHS,
Constant RHS 
) const
pure virtual

◆ CreateZExtOrBitCast()

virtual Value* llvm::IRBuilderFolder::CreateZExtOrBitCast ( Constant C,
Type DestTy 
) const
pure virtual

The documentation for this class was generated from the following files: