LLVM  11.0.0git
Public Member Functions | List of all members
llvm::NoFolder Class Referencefinal

NoFolder - Create "constants" (actually, instructions) with no folding. More...

#include "llvm/IR/NoFolder.h"

Inheritance diagram for llvm::NoFolder:
Inheritance graph
[legend]
Collaboration diagram for llvm::NoFolder:
Collaboration graph
[legend]

Public Member Functions

 NoFolder ()=default
 
InstructionCreateAdd (Constant *LHS, Constant *RHS, bool HasNUW=false, bool HasNSW=false) const override
 
InstructionCreateFAdd (Constant *LHS, Constant *RHS) const override
 
InstructionCreateSub (Constant *LHS, Constant *RHS, bool HasNUW=false, bool HasNSW=false) const override
 
InstructionCreateFSub (Constant *LHS, Constant *RHS) const override
 
InstructionCreateMul (Constant *LHS, Constant *RHS, bool HasNUW=false, bool HasNSW=false) const override
 
InstructionCreateFMul (Constant *LHS, Constant *RHS) const override
 
InstructionCreateUDiv (Constant *LHS, Constant *RHS, bool isExact=false) const override
 
InstructionCreateSDiv (Constant *LHS, Constant *RHS, bool isExact=false) const override
 
InstructionCreateFDiv (Constant *LHS, Constant *RHS) const override
 
InstructionCreateURem (Constant *LHS, Constant *RHS) const override
 
InstructionCreateSRem (Constant *LHS, Constant *RHS) const override
 
InstructionCreateFRem (Constant *LHS, Constant *RHS) const override
 
InstructionCreateShl (Constant *LHS, Constant *RHS, bool HasNUW=false, bool HasNSW=false) const override
 
InstructionCreateLShr (Constant *LHS, Constant *RHS, bool isExact=false) const override
 
InstructionCreateAShr (Constant *LHS, Constant *RHS, bool isExact=false) const override
 
InstructionCreateAnd (Constant *LHS, Constant *RHS) const override
 
InstructionCreateOr (Constant *LHS, Constant *RHS) const override
 
InstructionCreateXor (Constant *LHS, Constant *RHS) const override
 
InstructionCreateBinOp (Instruction::BinaryOps Opc, Constant *LHS, Constant *RHS) const override
 
InstructionCreateNeg (Constant *C, bool HasNUW=false, bool HasNSW=false) const override
 
InstructionCreateFNeg (Constant *C) const override
 
InstructionCreateNot (Constant *C) const override
 
InstructionCreateUnOp (Instruction::UnaryOps Opc, Constant *C) const override
 
ConstantCreateGetElementPtr (Type *Ty, Constant *C, ArrayRef< Constant *> IdxList) const override
 
ConstantCreateGetElementPtr (Type *Ty, Constant *C, Constant *Idx) const override
 
InstructionCreateGetElementPtr (Type *Ty, Constant *C, ArrayRef< Value *> IdxList) const override
 
ConstantCreateInBoundsGetElementPtr (Type *Ty, Constant *C, ArrayRef< Constant *> IdxList) const override
 
ConstantCreateInBoundsGetElementPtr (Type *Ty, Constant *C, Constant *Idx) const override
 
InstructionCreateInBoundsGetElementPtr (Type *Ty, Constant *C, ArrayRef< Value *> IdxList) const override
 
InstructionCreateCast (Instruction::CastOps Op, Constant *C, Type *DestTy) const override
 
InstructionCreatePointerCast (Constant *C, Type *DestTy) const override
 
InstructionCreatePointerBitCastOrAddrSpaceCast (Constant *C, Type *DestTy) const override
 
InstructionCreateIntCast (Constant *C, Type *DestTy, bool isSigned) const override
 
InstructionCreateFPCast (Constant *C, Type *DestTy) const override
 
InstructionCreateBitCast (Constant *C, Type *DestTy) const override
 
InstructionCreateIntToPtr (Constant *C, Type *DestTy) const override
 
InstructionCreatePtrToInt (Constant *C, Type *DestTy) const override
 
InstructionCreateZExtOrBitCast (Constant *C, Type *DestTy) const override
 
InstructionCreateSExtOrBitCast (Constant *C, Type *DestTy) const override
 
InstructionCreateTruncOrBitCast (Constant *C, Type *DestTy) const override
 
InstructionCreateICmp (CmpInst::Predicate P, Constant *LHS, Constant *RHS) const override
 
InstructionCreateFCmp (CmpInst::Predicate P, Constant *LHS, Constant *RHS) const override
 
InstructionCreateSelect (Constant *C, Constant *True, Constant *False) const override
 
InstructionCreateExtractElement (Constant *Vec, Constant *Idx) const override
 
InstructionCreateInsertElement (Constant *Vec, Constant *NewElt, Constant *Idx) const override
 
InstructionCreateShuffleVector (Constant *V1, Constant *V2, ArrayRef< int > Mask) const override
 
InstructionCreateExtractValue (Constant *Agg, ArrayRef< unsigned > IdxList) const override
 
InstructionCreateInsertValue (Constant *Agg, Constant *Val, ArrayRef< unsigned > IdxList) const override
 
- Public Member Functions inherited from llvm::IRBuilderFolder
virtual ~IRBuilderFolder ()
 

Detailed Description

NoFolder - Create "constants" (actually, instructions) with no folding.

Definition at line 34 of file NoFolder.h.

Constructor & Destructor Documentation

◆ NoFolder()

llvm::NoFolder::NoFolder ( )
explicitdefault

Member Function Documentation

◆ CreateAdd()

Instruction* llvm::NoFolder::CreateAdd ( Constant LHS,
Constant RHS,
bool  HasNUW = false,
bool  HasNSW = false 
) const
inlineoverridevirtual

◆ CreateAnd()

Instruction* llvm::NoFolder::CreateAnd ( Constant LHS,
Constant RHS 
) const
inlineoverridevirtual

Implements llvm::IRBuilderFolder.

Definition at line 135 of file NoFolder.h.

◆ CreateAShr()

Instruction* llvm::NoFolder::CreateAShr ( Constant LHS,
Constant RHS,
bool  isExact = false 
) const
inlineoverridevirtual

Implements llvm::IRBuilderFolder.

Definition at line 128 of file NoFolder.h.

◆ CreateBinOp()

Instruction* llvm::NoFolder::CreateBinOp ( Instruction::BinaryOps  Opc,
Constant LHS,
Constant RHS 
) const
inlineoverridevirtual

Implements llvm::IRBuilderFolder.

Definition at line 147 of file NoFolder.h.

References llvm::BinaryOperator::Create().

◆ CreateBitCast()

Instruction* llvm::NoFolder::CreateBitCast ( Constant C,
Type DestTy 
) const
inlineoverridevirtual

Implements llvm::IRBuilderFolder.

Definition at line 245 of file NoFolder.h.

References CreateCast().

◆ CreateCast()

Instruction* llvm::NoFolder::CreateCast ( Instruction::CastOps  Op,
Constant C,
Type DestTy 
) const
inlineoverridevirtual

Implements llvm::IRBuilderFolder.

Definition at line 222 of file NoFolder.h.

References llvm::CastInst::Create().

Referenced by CreateBitCast(), CreateIntToPtr(), and CreatePtrToInt().

◆ CreateExtractElement()

Instruction* llvm::NoFolder::CreateExtractElement ( Constant Vec,
Constant Idx 
) const
inlineoverridevirtual

Implements llvm::IRBuilderFolder.

Definition at line 292 of file NoFolder.h.

References llvm::ExtractElementInst::Create().

◆ CreateExtractValue()

Instruction* llvm::NoFolder::CreateExtractValue ( Constant Agg,
ArrayRef< unsigned IdxList 
) const
inlineoverridevirtual

Implements llvm::IRBuilderFolder.

Definition at line 307 of file NoFolder.h.

References llvm::ExtractValueInst::Create().

◆ CreateFAdd()

Instruction* llvm::NoFolder::CreateFAdd ( Constant LHS,
Constant RHS 
) const
inlineoverridevirtual

Implements llvm::IRBuilderFolder.

Definition at line 53 of file NoFolder.h.

◆ CreateFCmp()

Instruction* llvm::NoFolder::CreateFCmp ( CmpInst::Predicate  P,
Constant LHS,
Constant RHS 
) const
inlineoverridevirtual

Implements llvm::IRBuilderFolder.

Definition at line 278 of file NoFolder.h.

◆ CreateFDiv()

Instruction* llvm::NoFolder::CreateFDiv ( Constant LHS,
Constant RHS 
) const
inlineoverridevirtual

Implements llvm::IRBuilderFolder.

Definition at line 97 of file NoFolder.h.

◆ CreateFMul()

Instruction* llvm::NoFolder::CreateFMul ( Constant LHS,
Constant RHS 
) const
inlineoverridevirtual

Implements llvm::IRBuilderFolder.

Definition at line 79 of file NoFolder.h.

◆ CreateFNeg()

Instruction* llvm::NoFolder::CreateFNeg ( Constant C) const
inlineoverridevirtual

Implements llvm::IRBuilderFolder.

Definition at line 165 of file NoFolder.h.

◆ CreateFPCast()

Instruction* llvm::NoFolder::CreateFPCast ( Constant C,
Type DestTy 
) const
inlineoverridevirtual

Implements llvm::IRBuilderFolder.

Definition at line 241 of file NoFolder.h.

References llvm::CastInst::CreateFPCast().

◆ CreateFRem()

Instruction* llvm::NoFolder::CreateFRem ( Constant LHS,
Constant RHS 
) const
inlineoverridevirtual

Implements llvm::IRBuilderFolder.

Definition at line 109 of file NoFolder.h.

◆ CreateFSub()

Instruction* llvm::NoFolder::CreateFSub ( Constant LHS,
Constant RHS 
) const
inlineoverridevirtual

Implements llvm::IRBuilderFolder.

Definition at line 66 of file NoFolder.h.

◆ CreateGetElementPtr() [1/3]

Constant* llvm::NoFolder::CreateGetElementPtr ( Type Ty,
Constant C,
ArrayRef< Constant *>  IdxList 
) const
inlineoverridevirtual

Implements llvm::IRBuilderFolder.

Definition at line 182 of file NoFolder.h.

References llvm::ConstantExpr::getGetElementPtr().

◆ CreateGetElementPtr() [2/3]

Constant* llvm::NoFolder::CreateGetElementPtr ( Type Ty,
Constant C,
Constant Idx 
) const
inlineoverridevirtual

Implements llvm::IRBuilderFolder.

Definition at line 187 of file NoFolder.h.

References llvm::ConstantExpr::getGetElementPtr().

◆ CreateGetElementPtr() [3/3]

Instruction* llvm::NoFolder::CreateGetElementPtr ( Type Ty,
Constant C,
ArrayRef< Value *>  IdxList 
) const
inlineoverridevirtual

Implements llvm::IRBuilderFolder.

Definition at line 195 of file NoFolder.h.

References llvm::GetElementPtrInst::Create().

◆ CreateICmp()

Instruction* llvm::NoFolder::CreateICmp ( CmpInst::Predicate  P,
Constant LHS,
Constant RHS 
) const
inlineoverridevirtual

Implements llvm::IRBuilderFolder.

Definition at line 273 of file NoFolder.h.

◆ CreateInBoundsGetElementPtr() [1/3]

Constant* llvm::NoFolder::CreateInBoundsGetElementPtr ( Type Ty,
Constant C,
ArrayRef< Constant *>  IdxList 
) const
inlineoverridevirtual

Implements llvm::IRBuilderFolder.

Definition at line 200 of file NoFolder.h.

References llvm::ConstantExpr::getInBoundsGetElementPtr().

◆ CreateInBoundsGetElementPtr() [2/3]

Constant* llvm::NoFolder::CreateInBoundsGetElementPtr ( Type Ty,
Constant C,
Constant Idx 
) const
inlineoverridevirtual

Implements llvm::IRBuilderFolder.

Definition at line 205 of file NoFolder.h.

References llvm::ConstantExpr::getInBoundsGetElementPtr().

◆ CreateInBoundsGetElementPtr() [3/3]

Instruction* llvm::NoFolder::CreateInBoundsGetElementPtr ( Type Ty,
Constant C,
ArrayRef< Value *>  IdxList 
) const
inlineoverridevirtual

Implements llvm::IRBuilderFolder.

Definition at line 213 of file NoFolder.h.

References llvm::GetElementPtrInst::CreateInBounds().

◆ CreateInsertElement()

Instruction* llvm::NoFolder::CreateInsertElement ( Constant Vec,
Constant NewElt,
Constant Idx 
) const
inlineoverridevirtual

Implements llvm::IRBuilderFolder.

Definition at line 297 of file NoFolder.h.

References llvm::InsertElementInst::Create().

◆ CreateInsertValue()

Instruction* llvm::NoFolder::CreateInsertValue ( Constant Agg,
Constant Val,
ArrayRef< unsigned IdxList 
) const
inlineoverridevirtual

Implements llvm::IRBuilderFolder.

Definition at line 312 of file NoFolder.h.

References llvm::InsertValueInst::Create().

◆ CreateIntCast()

Instruction* llvm::NoFolder::CreateIntCast ( Constant C,
Type DestTy,
bool  isSigned 
) const
inlineoverridevirtual

Implements llvm::IRBuilderFolder.

Definition at line 236 of file NoFolder.h.

References llvm::CastInst::CreateIntegerCast().

◆ CreateIntToPtr()

Instruction* llvm::NoFolder::CreateIntToPtr ( Constant C,
Type DestTy 
) const
inlineoverridevirtual

Implements llvm::IRBuilderFolder.

Definition at line 249 of file NoFolder.h.

References CreateCast().

◆ CreateLShr()

Instruction* llvm::NoFolder::CreateLShr ( Constant LHS,
Constant RHS,
bool  isExact = false 
) const
inlineoverridevirtual

Implements llvm::IRBuilderFolder.

Definition at line 121 of file NoFolder.h.

◆ CreateMul()

Instruction* llvm::NoFolder::CreateMul ( Constant LHS,
Constant RHS,
bool  HasNUW = false,
bool  HasNSW = false 
) const
inlineoverridevirtual

◆ CreateNeg()

Instruction* llvm::NoFolder::CreateNeg ( Constant C,
bool  HasNUW = false,
bool  HasNSW = false 
) const
inlineoverridevirtual

◆ CreateNot()

Instruction* llvm::NoFolder::CreateNot ( Constant C) const
inlineoverridevirtual

Implements llvm::IRBuilderFolder.

Definition at line 169 of file NoFolder.h.

References llvm::BinaryOperator::CreateNot().

◆ CreateOr()

Instruction* llvm::NoFolder::CreateOr ( Constant LHS,
Constant RHS 
) const
inlineoverridevirtual

Implements llvm::IRBuilderFolder.

Definition at line 139 of file NoFolder.h.

◆ CreatePointerBitCastOrAddrSpaceCast()

Instruction* llvm::NoFolder::CreatePointerBitCastOrAddrSpaceCast ( Constant C,
Type DestTy 
) const
inlineoverridevirtual

◆ CreatePointerCast()

Instruction* llvm::NoFolder::CreatePointerCast ( Constant C,
Type DestTy 
) const
inlineoverridevirtual

Implements llvm::IRBuilderFolder.

Definition at line 227 of file NoFolder.h.

References llvm::CastInst::CreatePointerCast().

◆ CreatePtrToInt()

Instruction* llvm::NoFolder::CreatePtrToInt ( Constant C,
Type DestTy 
) const
inlineoverridevirtual

Implements llvm::IRBuilderFolder.

Definition at line 253 of file NoFolder.h.

References CreateCast().

◆ CreateSDiv()

Instruction* llvm::NoFolder::CreateSDiv ( Constant LHS,
Constant RHS,
bool  isExact = false 
) const
inlineoverridevirtual

Implements llvm::IRBuilderFolder.

Definition at line 90 of file NoFolder.h.

◆ CreateSelect()

Instruction* llvm::NoFolder::CreateSelect ( Constant C,
Constant True,
Constant False 
) const
inlineoverridevirtual

Implements llvm::IRBuilderFolder.

Definition at line 287 of file NoFolder.h.

References llvm::SelectInst::Create().

◆ CreateSExtOrBitCast()

Instruction* llvm::NoFolder::CreateSExtOrBitCast ( Constant C,
Type DestTy 
) const
inlineoverridevirtual

Implements llvm::IRBuilderFolder.

Definition at line 261 of file NoFolder.h.

References llvm::CastInst::CreateSExtOrBitCast().

◆ CreateShl()

Instruction* llvm::NoFolder::CreateShl ( Constant LHS,
Constant RHS,
bool  HasNUW = false,
bool  HasNSW = false 
) const
inlineoverridevirtual

◆ CreateShuffleVector()

Instruction* llvm::NoFolder::CreateShuffleVector ( Constant V1,
Constant V2,
ArrayRef< int >  Mask 
) const
inlineoverridevirtual

Implements llvm::IRBuilderFolder.

Definition at line 302 of file NoFolder.h.

◆ CreateSRem()

Instruction* llvm::NoFolder::CreateSRem ( Constant LHS,
Constant RHS 
) const
inlineoverridevirtual

Implements llvm::IRBuilderFolder.

Definition at line 105 of file NoFolder.h.

◆ CreateSub()

Instruction* llvm::NoFolder::CreateSub ( Constant LHS,
Constant RHS,
bool  HasNUW = false,
bool  HasNSW = false 
) const
inlineoverridevirtual

◆ CreateTruncOrBitCast()

Instruction* llvm::NoFolder::CreateTruncOrBitCast ( Constant C,
Type DestTy 
) const
inlineoverridevirtual

Implements llvm::IRBuilderFolder.

Definition at line 265 of file NoFolder.h.

References llvm::CastInst::CreateTruncOrBitCast().

◆ CreateUDiv()

Instruction* llvm::NoFolder::CreateUDiv ( Constant LHS,
Constant RHS,
bool  isExact = false 
) const
inlineoverridevirtual

Implements llvm::IRBuilderFolder.

Definition at line 83 of file NoFolder.h.

◆ CreateUnOp()

Instruction* llvm::NoFolder::CreateUnOp ( Instruction::UnaryOps  Opc,
Constant C 
) const
inlineoverridevirtual

Implements llvm::IRBuilderFolder.

Definition at line 173 of file NoFolder.h.

References llvm::UnaryOperator::Create().

◆ CreateURem()

Instruction* llvm::NoFolder::CreateURem ( Constant LHS,
Constant RHS 
) const
inlineoverridevirtual

Implements llvm::IRBuilderFolder.

Definition at line 101 of file NoFolder.h.

◆ CreateXor()

Instruction* llvm::NoFolder::CreateXor ( Constant LHS,
Constant RHS 
) const
inlineoverridevirtual

Implements llvm::IRBuilderFolder.

Definition at line 143 of file NoFolder.h.

◆ CreateZExtOrBitCast()

Instruction* llvm::NoFolder::CreateZExtOrBitCast ( Constant C,
Type DestTy 
) const
inlineoverridevirtual

Implements llvm::IRBuilderFolder.

Definition at line 257 of file NoFolder.h.

References llvm::CastInst::CreateZExtOrBitCast().


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