LLVM API Documentation

Public Member Functions
llvm::ConstantFolder Class Reference

ConstantFolder - Create constants with minimum, target independent, folding. More...

#include <ConstantFolder.h>

List of all members.

Public Member Functions

 ConstantFolder ()
Constant * CreateAdd (Constant *LHS, Constant *RHS, bool HasNUW=false, bool HasNSW=false) const
Constant * CreateFAdd (Constant *LHS, Constant *RHS) const
Constant * CreateSub (Constant *LHS, Constant *RHS, bool HasNUW=false, bool HasNSW=false) const
Constant * CreateFSub (Constant *LHS, Constant *RHS) const
Constant * CreateMul (Constant *LHS, Constant *RHS, bool HasNUW=false, bool HasNSW=false) const
Constant * CreateFMul (Constant *LHS, Constant *RHS) const
Constant * CreateUDiv (Constant *LHS, Constant *RHS, bool isExact=false) const
Constant * CreateSDiv (Constant *LHS, Constant *RHS, bool isExact=false) const
Constant * CreateFDiv (Constant *LHS, Constant *RHS) const
Constant * CreateURem (Constant *LHS, Constant *RHS) const
Constant * CreateSRem (Constant *LHS, Constant *RHS) const
Constant * CreateFRem (Constant *LHS, Constant *RHS) const
Constant * CreateShl (Constant *LHS, Constant *RHS, bool HasNUW=false, bool HasNSW=false) const
Constant * CreateLShr (Constant *LHS, Constant *RHS, bool isExact=false) const
Constant * CreateAShr (Constant *LHS, Constant *RHS, bool isExact=false) const
Constant * CreateAnd (Constant *LHS, Constant *RHS) const
Constant * CreateOr (Constant *LHS, Constant *RHS) const
Constant * CreateXor (Constant *LHS, Constant *RHS) const
Constant * CreateBinOp (Instruction::BinaryOps Opc, Constant *LHS, Constant *RHS) const
Constant * CreateNeg (Constant *C, bool HasNUW=false, bool HasNSW=false) const
Constant * CreateFNeg (Constant *C) const
Constant * CreateNot (Constant *C) const
Constant * CreateGetElementPtr (Constant *C, ArrayRef< Constant * > IdxList) const
Constant * CreateGetElementPtr (Constant *C, Constant *Idx) const
Constant * CreateGetElementPtr (Constant *C, ArrayRef< Value * > IdxList) const
Constant * CreateInBoundsGetElementPtr (Constant *C, ArrayRef< Constant * > IdxList) const
Constant * CreateInBoundsGetElementPtr (Constant *C, Constant *Idx) const
Constant * CreateInBoundsGetElementPtr (Constant *C, ArrayRef< Value * > IdxList) const
Constant * CreateCast (Instruction::CastOps Op, Constant *C, Type *DestTy) const
Constant * CreatePointerCast (Constant *C, Type *DestTy) const
Constant * CreatePointerBitCastOrAddrSpaceCast (Constant *C, Type *DestTy) const
Constant * CreateIntCast (Constant *C, Type *DestTy, bool isSigned) const
Constant * CreateFPCast (Constant *C, Type *DestTy) const
Constant * CreateBitCast (Constant *C, Type *DestTy) const
Constant * CreateIntToPtr (Constant *C, Type *DestTy) const
Constant * CreatePtrToInt (Constant *C, Type *DestTy) const
Constant * CreateZExtOrBitCast (Constant *C, Type *DestTy) const
Constant * CreateSExtOrBitCast (Constant *C, Type *DestTy) const
Constant * CreateTruncOrBitCast (Constant *C, Type *DestTy) const
Constant * CreateICmp (CmpInst::Predicate P, Constant *LHS, Constant *RHS) const
Constant * CreateFCmp (CmpInst::Predicate P, Constant *LHS, Constant *RHS) const
Constant * CreateSelect (Constant *C, Constant *True, Constant *False) const
Constant * CreateExtractElement (Constant *Vec, Constant *Idx) const
Constant * CreateInsertElement (Constant *Vec, Constant *NewElt, Constant *Idx) const
Constant * CreateShuffleVector (Constant *V1, Constant *V2, Constant *Mask) const
Constant * CreateExtractValue (Constant *Agg, ArrayRef< unsigned > IdxList) const
Constant * CreateInsertValue (Constant *Agg, Constant *Val, ArrayRef< unsigned > IdxList) const

Detailed Description

ConstantFolder - Create constants with minimum, target independent, folding.

Definition at line 26 of file ConstantFolder.h.


Constructor & Destructor Documentation

llvm::ConstantFolder::ConstantFolder ( ) [inline, explicit]

Definition at line 28 of file ConstantFolder.h.


Member Function Documentation

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

Definition at line 34 of file ConstantFolder.h.

References llvm::ConstantExpr::getAdd().

Constant* llvm::ConstantFolder::CreateAnd ( Constant *  LHS,
Constant *  RHS 
) const [inline]

Definition at line 87 of file ConstantFolder.h.

References llvm::ConstantExpr::getAnd().

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

Definition at line 83 of file ConstantFolder.h.

References llvm::ConstantExpr::getAShr().

Definition at line 97 of file ConstantFolder.h.

References llvm::ConstantExpr::get().

Constant* llvm::ConstantFolder::CreateBitCast ( Constant *  C,
Type *  DestTy 
) const [inline]

Definition at line 176 of file ConstantFolder.h.

References CreateCast().

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

Definition at line 155 of file ConstantFolder.h.

References llvm::ConstantExpr::getCast().

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

Constant* llvm::ConstantFolder::CreateExtractElement ( Constant *  Vec,
Constant *  Idx 
) const [inline]

Definition at line 217 of file ConstantFolder.h.

References llvm::ConstantExpr::getExtractElement().

Constant* llvm::ConstantFolder::CreateExtractValue ( Constant *  Agg,
ArrayRef< unsigned >  IdxList 
) const [inline]

Definition at line 231 of file ConstantFolder.h.

References llvm::ConstantExpr::getExtractValue().

Constant* llvm::ConstantFolder::CreateFAdd ( Constant *  LHS,
Constant *  RHS 
) const [inline]

Definition at line 38 of file ConstantFolder.h.

References llvm::ConstantExpr::getFAdd().

Constant* llvm::ConstantFolder::CreateFCmp ( CmpInst::Predicate  P,
Constant *  LHS,
Constant *  RHS 
) const [inline]

Definition at line 204 of file ConstantFolder.h.

References llvm::ConstantExpr::getCompare().

Constant* llvm::ConstantFolder::CreateFDiv ( Constant *  LHS,
Constant *  RHS 
) const [inline]

Definition at line 63 of file ConstantFolder.h.

References llvm::ConstantExpr::getFDiv().

Constant* llvm::ConstantFolder::CreateFMul ( Constant *  LHS,
Constant *  RHS 
) const [inline]

Definition at line 52 of file ConstantFolder.h.

References llvm::ConstantExpr::getFMul().

Definition at line 110 of file ConstantFolder.h.

References llvm::ConstantExpr::getFNeg().

Constant* llvm::ConstantFolder::CreateFPCast ( Constant *  C,
Type *  DestTy 
) const [inline]

Definition at line 172 of file ConstantFolder.h.

References llvm::ConstantExpr::getFPCast().

Constant* llvm::ConstantFolder::CreateFRem ( Constant *  LHS,
Constant *  RHS 
) const [inline]

Definition at line 72 of file ConstantFolder.h.

References llvm::ConstantExpr::getFRem().

Constant* llvm::ConstantFolder::CreateFSub ( Constant *  LHS,
Constant *  RHS 
) const [inline]

Definition at line 45 of file ConstantFolder.h.

References llvm::ConstantExpr::getFSub().

Constant* llvm::ConstantFolder::CreateGetElementPtr ( Constant *  C,
ArrayRef< Constant * >  IdxList 
) const [inline]

Definition at line 121 of file ConstantFolder.h.

References llvm::ConstantExpr::getGetElementPtr().

Definition at line 125 of file ConstantFolder.h.

References llvm::ConstantExpr::getGetElementPtr().

Constant* llvm::ConstantFolder::CreateGetElementPtr ( Constant *  C,
ArrayRef< Value * >  IdxList 
) const [inline]

Definition at line 131 of file ConstantFolder.h.

References llvm::ConstantExpr::getGetElementPtr().

Constant* llvm::ConstantFolder::CreateICmp ( CmpInst::Predicate  P,
Constant *  LHS,
Constant *  RHS 
) const [inline]

Definition at line 200 of file ConstantFolder.h.

References llvm::ConstantExpr::getCompare().

Definition at line 136 of file ConstantFolder.h.

References llvm::ConstantExpr::getInBoundsGetElementPtr().

Definition at line 140 of file ConstantFolder.h.

References llvm::ConstantExpr::getInBoundsGetElementPtr().

Definition at line 146 of file ConstantFolder.h.

References llvm::ConstantExpr::getInBoundsGetElementPtr().

Constant* llvm::ConstantFolder::CreateInsertElement ( Constant *  Vec,
Constant *  NewElt,
Constant *  Idx 
) const [inline]

Definition at line 221 of file ConstantFolder.h.

References llvm::ConstantExpr::getInsertElement().

Constant* llvm::ConstantFolder::CreateInsertValue ( Constant *  Agg,
Constant *  Val,
ArrayRef< unsigned >  IdxList 
) const [inline]

Definition at line 236 of file ConstantFolder.h.

References llvm::ConstantExpr::getInsertValue().

Constant* llvm::ConstantFolder::CreateIntCast ( Constant *  C,
Type *  DestTy,
bool  isSigned 
) const [inline]

Definition at line 168 of file ConstantFolder.h.

References llvm::ConstantExpr::getIntegerCast().

Constant* llvm::ConstantFolder::CreateIntToPtr ( Constant *  C,
Type *  DestTy 
) const [inline]

Definition at line 179 of file ConstantFolder.h.

References CreateCast(), and llvm::IntToPtr.

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

Definition at line 79 of file ConstantFolder.h.

References llvm::ConstantExpr::getLShr().

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

Definition at line 48 of file ConstantFolder.h.

References llvm::ConstantExpr::getMul().

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

Definition at line 106 of file ConstantFolder.h.

References llvm::ConstantExpr::getNeg().

Definition at line 113 of file ConstantFolder.h.

References llvm::ConstantExpr::getNot().

Constant* llvm::ConstantFolder::CreateOr ( Constant *  LHS,
Constant *  RHS 
) const [inline]

Definition at line 90 of file ConstantFolder.h.

References llvm::ConstantExpr::getOr().

Constant* llvm::ConstantFolder::CreatePointerCast ( Constant *  C,
Type *  DestTy 
) const [inline]

Definition at line 159 of file ConstantFolder.h.

References llvm::ConstantExpr::getPointerCast().

Constant* llvm::ConstantFolder::CreatePtrToInt ( Constant *  C,
Type *  DestTy 
) const [inline]

Definition at line 182 of file ConstantFolder.h.

References CreateCast().

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

Definition at line 59 of file ConstantFolder.h.

References llvm::ConstantExpr::getSDiv().

Constant* llvm::ConstantFolder::CreateSelect ( Constant *  C,
Constant *  True,
Constant *  False 
) const [inline]

Definition at line 213 of file ConstantFolder.h.

References llvm::ConstantExpr::getSelect().

Constant* llvm::ConstantFolder::CreateSExtOrBitCast ( Constant *  C,
Type *  DestTy 
) const [inline]

Definition at line 188 of file ConstantFolder.h.

References llvm::ConstantExpr::getSExtOrBitCast().

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

Definition at line 75 of file ConstantFolder.h.

References llvm::ConstantExpr::getShl().

Constant* llvm::ConstantFolder::CreateShuffleVector ( Constant *  V1,
Constant *  V2,
Constant *  Mask 
) const [inline]

Definition at line 226 of file ConstantFolder.h.

References llvm::ConstantExpr::getShuffleVector().

Constant* llvm::ConstantFolder::CreateSRem ( Constant *  LHS,
Constant *  RHS 
) const [inline]

Definition at line 69 of file ConstantFolder.h.

References llvm::ConstantExpr::getSRem().

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

Definition at line 41 of file ConstantFolder.h.

References llvm::ConstantExpr::getSub().

Constant* llvm::ConstantFolder::CreateTruncOrBitCast ( Constant *  C,
Type *  DestTy 
) const [inline]

Definition at line 192 of file ConstantFolder.h.

References llvm::ConstantExpr::getTruncOrBitCast().

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

Definition at line 55 of file ConstantFolder.h.

References llvm::ConstantExpr::getUDiv().

Constant* llvm::ConstantFolder::CreateURem ( Constant *  LHS,
Constant *  RHS 
) const [inline]

Definition at line 66 of file ConstantFolder.h.

References llvm::ConstantExpr::getURem().

Constant* llvm::ConstantFolder::CreateXor ( Constant *  LHS,
Constant *  RHS 
) const [inline]

Definition at line 93 of file ConstantFolder.h.

References llvm::ConstantExpr::getXor().

Constant* llvm::ConstantFolder::CreateZExtOrBitCast ( Constant *  C,
Type *  DestTy 
) const [inline]

Definition at line 185 of file ConstantFolder.h.

References llvm::ConstantExpr::getZExtOrBitCast().


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