LLVM  8.0.1
Public Member Functions | List of all members
llvm::TargetFolder Class Reference

TargetFolder - Create constants with target dependent folding. More...

#include "llvm/Analysis/TargetFolder.h"

Public Member Functions

 TargetFolder (const DataLayout &DL)
 
ConstantCreateAdd (Constant *LHS, Constant *RHS, bool HasNUW=false, bool HasNSW=false) const
 
ConstantCreateFAdd (Constant *LHS, Constant *RHS) const
 
ConstantCreateSub (Constant *LHS, Constant *RHS, bool HasNUW=false, bool HasNSW=false) const
 
ConstantCreateFSub (Constant *LHS, Constant *RHS) const
 
ConstantCreateMul (Constant *LHS, Constant *RHS, bool HasNUW=false, bool HasNSW=false) const
 
ConstantCreateFMul (Constant *LHS, Constant *RHS) const
 
ConstantCreateUDiv (Constant *LHS, Constant *RHS, bool isExact=false) const
 
ConstantCreateSDiv (Constant *LHS, Constant *RHS, bool isExact=false) const
 
ConstantCreateFDiv (Constant *LHS, Constant *RHS) const
 
ConstantCreateURem (Constant *LHS, Constant *RHS) const
 
ConstantCreateSRem (Constant *LHS, Constant *RHS) const
 
ConstantCreateFRem (Constant *LHS, Constant *RHS) const
 
ConstantCreateShl (Constant *LHS, Constant *RHS, bool HasNUW=false, bool HasNSW=false) const
 
ConstantCreateLShr (Constant *LHS, Constant *RHS, bool isExact=false) const
 
ConstantCreateAShr (Constant *LHS, Constant *RHS, bool isExact=false) const
 
ConstantCreateAnd (Constant *LHS, Constant *RHS) const
 
ConstantCreateOr (Constant *LHS, Constant *RHS) const
 
ConstantCreateXor (Constant *LHS, Constant *RHS) const
 
ConstantCreateBinOp (Instruction::BinaryOps Opc, Constant *LHS, Constant *RHS) const
 
ConstantCreateNeg (Constant *C, bool HasNUW=false, bool HasNSW=false) const
 
ConstantCreateFNeg (Constant *C) const
 
ConstantCreateNot (Constant *C) const
 
ConstantCreateGetElementPtr (Type *Ty, Constant *C, ArrayRef< Constant *> IdxList) const
 
ConstantCreateGetElementPtr (Type *Ty, Constant *C, Constant *Idx) const
 
ConstantCreateGetElementPtr (Type *Ty, Constant *C, ArrayRef< Value *> IdxList) const
 
ConstantCreateInBoundsGetElementPtr (Type *Ty, Constant *C, ArrayRef< Constant *> IdxList) const
 
ConstantCreateInBoundsGetElementPtr (Type *Ty, Constant *C, Constant *Idx) const
 
ConstantCreateInBoundsGetElementPtr (Type *Ty, Constant *C, ArrayRef< Value *> IdxList) const
 
ConstantCreateCast (Instruction::CastOps Op, Constant *C, Type *DestTy) const
 
ConstantCreateIntCast (Constant *C, Type *DestTy, bool isSigned) const
 
ConstantCreatePointerCast (Constant *C, Type *DestTy) const
 
ConstantCreateFPCast (Constant *C, Type *DestTy) const
 
ConstantCreateBitCast (Constant *C, Type *DestTy) const
 
ConstantCreateIntToPtr (Constant *C, Type *DestTy) const
 
ConstantCreatePtrToInt (Constant *C, Type *DestTy) const
 
ConstantCreateZExtOrBitCast (Constant *C, Type *DestTy) const
 
ConstantCreateSExtOrBitCast (Constant *C, Type *DestTy) const
 
ConstantCreateTruncOrBitCast (Constant *C, Type *DestTy) const
 
ConstantCreatePointerBitCastOrAddrSpaceCast (Constant *C, Type *DestTy) const
 
ConstantCreateICmp (CmpInst::Predicate P, Constant *LHS, Constant *RHS) const
 
ConstantCreateFCmp (CmpInst::Predicate P, Constant *LHS, Constant *RHS) const
 
ConstantCreateSelect (Constant *C, Constant *True, Constant *False) const
 
ConstantCreateExtractElement (Constant *Vec, Constant *Idx) const
 
ConstantCreateInsertElement (Constant *Vec, Constant *NewElt, Constant *Idx) const
 
ConstantCreateShuffleVector (Constant *V1, Constant *V2, Constant *Mask) const
 
ConstantCreateExtractValue (Constant *Agg, ArrayRef< unsigned > IdxList) const
 
ConstantCreateInsertValue (Constant *Agg, Constant *Val, ArrayRef< unsigned > IdxList) const
 

Detailed Description

TargetFolder - Create constants with target dependent folding.

Definition at line 32 of file TargetFolder.h.

Constructor & Destructor Documentation

◆ TargetFolder()

llvm::TargetFolder::TargetFolder ( const DataLayout DL)
inlineexplicit

Definition at line 43 of file TargetFolder.h.

Member Function Documentation

◆ CreateAdd()

Constant* llvm::TargetFolder::CreateAdd ( Constant LHS,
Constant RHS,
bool  HasNUW = false,
bool  HasNSW = false 
) const
inline

Definition at line 49 of file TargetFolder.h.

References llvm::ConstantExpr::getAdd().

◆ CreateAnd()

Constant* llvm::TargetFolder::CreateAnd ( Constant LHS,
Constant RHS 
) const
inline

Definition at line 98 of file TargetFolder.h.

References llvm::ConstantExpr::getAnd().

◆ CreateAShr()

Constant* llvm::TargetFolder::CreateAShr ( Constant LHS,
Constant RHS,
bool  isExact = false 
) const
inline

Definition at line 95 of file TargetFolder.h.

References llvm::ConstantExpr::getAShr().

◆ CreateBinOp()

Constant* llvm::TargetFolder::CreateBinOp ( Instruction::BinaryOps  Opc,
Constant LHS,
Constant RHS 
) const
inline

Definition at line 108 of file TargetFolder.h.

References llvm::ConstantExpr::get().

◆ CreateBitCast()

Constant* llvm::TargetFolder::CreateBitCast ( Constant C,
Type DestTy 
) const
inline

Definition at line 189 of file TargetFolder.h.

References CreateCast().

◆ CreateCast()

Constant* llvm::TargetFolder::CreateCast ( Instruction::CastOps  Op,
Constant C,
Type DestTy 
) const
inline

◆ CreateExtractElement()

Constant* llvm::TargetFolder::CreateExtractElement ( Constant Vec,
Constant Idx 
) const
inline

Definition at line 242 of file TargetFolder.h.

References llvm::ConstantExpr::getExtractElement().

◆ CreateExtractValue()

Constant* llvm::TargetFolder::CreateExtractValue ( Constant Agg,
ArrayRef< unsigned IdxList 
) const
inline

Definition at line 256 of file TargetFolder.h.

References llvm::ConstantExpr::getExtractValue().

◆ CreateFAdd()

Constant* llvm::TargetFolder::CreateFAdd ( Constant LHS,
Constant RHS 
) const
inline

Definition at line 53 of file TargetFolder.h.

References llvm::ConstantExpr::getFAdd().

◆ CreateFCmp()

Constant* llvm::TargetFolder::CreateFCmp ( CmpInst::Predicate  P,
Constant LHS,
Constant RHS 
) const
inline

Definition at line 229 of file TargetFolder.h.

References llvm::ConstantExpr::getCompare().

◆ CreateFDiv()

Constant* llvm::TargetFolder::CreateFDiv ( Constant LHS,
Constant RHS 
) const
inline

Definition at line 76 of file TargetFolder.h.

References llvm::ConstantExpr::getFDiv().

◆ CreateFMul()

Constant* llvm::TargetFolder::CreateFMul ( Constant LHS,
Constant RHS 
) const
inline

Definition at line 67 of file TargetFolder.h.

References llvm::ConstantExpr::getFMul().

◆ CreateFNeg()

Constant* llvm::TargetFolder::CreateFNeg ( Constant C) const
inline

Definition at line 121 of file TargetFolder.h.

References llvm::ConstantExpr::getFNeg().

◆ CreateFPCast()

Constant* llvm::TargetFolder::CreateFPCast ( Constant C,
Type DestTy 
) const
inline

Definition at line 184 of file TargetFolder.h.

References llvm::ConstantExpr::getFPCast(), and llvm::Value::getType().

◆ CreateFRem()

Constant* llvm::TargetFolder::CreateFRem ( Constant LHS,
Constant RHS 
) const
inline

Definition at line 85 of file TargetFolder.h.

References llvm::ConstantExpr::getFRem().

◆ CreateFSub()

Constant* llvm::TargetFolder::CreateFSub ( Constant LHS,
Constant RHS 
) const
inline

Definition at line 60 of file TargetFolder.h.

References llvm::ConstantExpr::getFSub().

◆ CreateGetElementPtr() [1/3]

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

Definition at line 132 of file TargetFolder.h.

References llvm::ConstantExpr::getGetElementPtr().

◆ CreateGetElementPtr() [2/3]

Constant* llvm::TargetFolder::CreateGetElementPtr ( Type Ty,
Constant C,
Constant Idx 
) const
inline

Definition at line 136 of file TargetFolder.h.

References llvm::ConstantExpr::getGetElementPtr().

◆ CreateGetElementPtr() [3/3]

Constant* llvm::TargetFolder::CreateGetElementPtr ( Type Ty,
Constant C,
ArrayRef< Value *>  IdxList 
) const
inline

Definition at line 142 of file TargetFolder.h.

References llvm::ConstantExpr::getGetElementPtr().

◆ CreateICmp()

Constant* llvm::TargetFolder::CreateICmp ( CmpInst::Predicate  P,
Constant LHS,
Constant RHS 
) const
inline

Definition at line 225 of file TargetFolder.h.

References llvm::ConstantExpr::getCompare().

◆ CreateInBoundsGetElementPtr() [1/3]

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

Definition at line 147 of file TargetFolder.h.

References llvm::ConstantExpr::getInBoundsGetElementPtr().

◆ CreateInBoundsGetElementPtr() [2/3]

Constant* llvm::TargetFolder::CreateInBoundsGetElementPtr ( Type Ty,
Constant C,
Constant Idx 
) const
inline

Definition at line 151 of file TargetFolder.h.

References llvm::ConstantExpr::getInBoundsGetElementPtr().

◆ CreateInBoundsGetElementPtr() [3/3]

Constant* llvm::TargetFolder::CreateInBoundsGetElementPtr ( Type Ty,
Constant C,
ArrayRef< Value *>  IdxList 
) const
inline

Definition at line 158 of file TargetFolder.h.

References llvm::ConstantExpr::getInBoundsGetElementPtr().

◆ CreateInsertElement()

Constant* llvm::TargetFolder::CreateInsertElement ( Constant Vec,
Constant NewElt,
Constant Idx 
) const
inline

Definition at line 246 of file TargetFolder.h.

References llvm::ConstantExpr::getInsertElement().

◆ CreateInsertValue()

Constant* llvm::TargetFolder::CreateInsertValue ( Constant Agg,
Constant Val,
ArrayRef< unsigned IdxList 
) const
inline

Definition at line 261 of file TargetFolder.h.

References llvm::ConstantExpr::getInsertValue().

◆ CreateIntCast()

Constant* llvm::TargetFolder::CreateIntCast ( Constant C,
Type DestTy,
bool  isSigned 
) const
inline

Definition at line 173 of file TargetFolder.h.

References llvm::ConstantExpr::getIntegerCast(), and llvm::Value::getType().

◆ CreateIntToPtr()

Constant* llvm::TargetFolder::CreateIntToPtr ( Constant C,
Type DestTy 
) const
inline

Definition at line 192 of file TargetFolder.h.

References CreateCast().

◆ CreateLShr()

Constant* llvm::TargetFolder::CreateLShr ( Constant LHS,
Constant RHS,
bool  isExact = false 
) const
inline

Definition at line 92 of file TargetFolder.h.

References llvm::ConstantExpr::getLShr().

◆ CreateMul()

Constant* llvm::TargetFolder::CreateMul ( Constant LHS,
Constant RHS,
bool  HasNUW = false,
bool  HasNSW = false 
) const
inline

Definition at line 63 of file TargetFolder.h.

References llvm::ConstantExpr::getMul().

◆ CreateNeg()

Constant* llvm::TargetFolder::CreateNeg ( Constant C,
bool  HasNUW = false,
bool  HasNSW = false 
) const
inline

Definition at line 117 of file TargetFolder.h.

References llvm::ConstantExpr::getNeg().

◆ CreateNot()

Constant* llvm::TargetFolder::CreateNot ( Constant C) const
inline

Definition at line 124 of file TargetFolder.h.

References llvm::ConstantExpr::getNot().

◆ CreateOr()

Constant* llvm::TargetFolder::CreateOr ( Constant LHS,
Constant RHS 
) const
inline

Definition at line 101 of file TargetFolder.h.

References llvm::ConstantExpr::getOr().

◆ CreatePointerBitCastOrAddrSpaceCast()

Constant* llvm::TargetFolder::CreatePointerBitCastOrAddrSpaceCast ( Constant C,
Type DestTy 
) const
inline

◆ CreatePointerCast()

Constant* llvm::TargetFolder::CreatePointerCast ( Constant C,
Type DestTy 
) const
inline

Definition at line 179 of file TargetFolder.h.

References llvm::ConstantExpr::getPointerCast(), and llvm::Value::getType().

◆ CreatePtrToInt()

Constant* llvm::TargetFolder::CreatePtrToInt ( Constant C,
Type DestTy 
) const
inline

Definition at line 195 of file TargetFolder.h.

References CreateCast().

◆ CreateSDiv()

Constant* llvm::TargetFolder::CreateSDiv ( Constant LHS,
Constant RHS,
bool  isExact = false 
) const
inline

Definition at line 73 of file TargetFolder.h.

References llvm::ConstantExpr::getSDiv().

◆ CreateSelect()

Constant* llvm::TargetFolder::CreateSelect ( Constant C,
Constant True,
Constant False 
) const
inline

Definition at line 238 of file TargetFolder.h.

References llvm::ConstantExpr::getSelect().

◆ CreateSExtOrBitCast()

Constant* llvm::TargetFolder::CreateSExtOrBitCast ( Constant C,
Type DestTy 
) const
inline

◆ CreateShl()

Constant* llvm::TargetFolder::CreateShl ( Constant LHS,
Constant RHS,
bool  HasNUW = false,
bool  HasNSW = false 
) const
inline

Definition at line 88 of file TargetFolder.h.

References llvm::ConstantExpr::getShl().

◆ CreateShuffleVector()

Constant* llvm::TargetFolder::CreateShuffleVector ( Constant V1,
Constant V2,
Constant Mask 
) const
inline

Definition at line 251 of file TargetFolder.h.

References llvm::ConstantExpr::getShuffleVector().

◆ CreateSRem()

Constant* llvm::TargetFolder::CreateSRem ( Constant LHS,
Constant RHS 
) const
inline

Definition at line 82 of file TargetFolder.h.

References llvm::ConstantExpr::getSRem().

◆ CreateSub()

Constant* llvm::TargetFolder::CreateSub ( Constant LHS,
Constant RHS,
bool  HasNUW = false,
bool  HasNSW = false 
) const
inline

Definition at line 56 of file TargetFolder.h.

References llvm::ConstantExpr::getSub().

◆ CreateTruncOrBitCast()

Constant* llvm::TargetFolder::CreateTruncOrBitCast ( Constant C,
Type DestTy 
) const
inline

◆ CreateUDiv()

Constant* llvm::TargetFolder::CreateUDiv ( Constant LHS,
Constant RHS,
bool  isExact = false 
) const
inline

Definition at line 70 of file TargetFolder.h.

References llvm::ConstantExpr::getUDiv().

◆ CreateURem()

Constant* llvm::TargetFolder::CreateURem ( Constant LHS,
Constant RHS 
) const
inline

Definition at line 79 of file TargetFolder.h.

References llvm::ConstantExpr::getURem().

◆ CreateXor()

Constant* llvm::TargetFolder::CreateXor ( Constant LHS,
Constant RHS 
) const
inline

Definition at line 104 of file TargetFolder.h.

References llvm::ConstantExpr::getXor().

◆ CreateZExtOrBitCast()

Constant* llvm::TargetFolder::CreateZExtOrBitCast ( Constant C,
Type DestTy 
) const
inline

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