class TargetFolder

Declaration

class TargetFolder { /* full declaration omitted */ };

Description

TargetFolder - Create constants with target dependent folding.

Declared at: llvm/include/llvm/Analysis/TargetFolder.h:31

Method Overview

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

Methods

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

Declared at: llvm/include/llvm/Analysis/TargetFolder.h:94

Parameters

llvm::Constant* LHS
llvm::Constant* RHS
bool isExact = false

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

Declared at: llvm/include/llvm/Analysis/TargetFolder.h:48

Parameters

llvm::Constant* LHS
llvm::Constant* RHS
bool HasNUW = false
bool HasNSW = false

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

Declared at: llvm/include/llvm/Analysis/TargetFolder.h:97

Parameters

llvm::Constant* LHS
llvm::Constant* RHS

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

Declared at: llvm/include/llvm/Analysis/TargetFolder.h:107

Parameters

Instruction::BinaryOps Opc
llvm::Constant* LHS
llvm::Constant* RHS

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

Declared at: llvm/include/llvm/Analysis/TargetFolder.h:192

Parameters

llvm::Constant* C
llvm::Type* DestTy

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

Declared at: llvm/include/llvm/Analysis/TargetFolder.h:170

Parameters

Instruction::CastOps Op
llvm::Constant* C
llvm::Type* DestTy

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

Declared at: llvm/include/llvm/Analysis/TargetFolder.h:245

Parameters

llvm::Constant* Vec
llvm::Constant* Idx

llvm::Constant* CreateExtractValue(
    llvm::Constant* Agg,
    ArrayRef<unsigned int> IdxList) const

Declared at: llvm/include/llvm/Analysis/TargetFolder.h:259

Parameters

llvm::Constant* Agg
ArrayRef<unsigned int> IdxList

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

Declared at: llvm/include/llvm/Analysis/TargetFolder.h:52

Parameters

llvm::Constant* LHS
llvm::Constant* RHS

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

Declared at: llvm/include/llvm/Analysis/TargetFolder.h:232

Parameters

CmpInst::Predicate P
llvm::Constant* LHS
llvm::Constant* RHS

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

Declared at: llvm/include/llvm/Analysis/TargetFolder.h:75

Parameters

llvm::Constant* LHS
llvm::Constant* RHS

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

Declared at: llvm/include/llvm/Analysis/TargetFolder.h:66

Parameters

llvm::Constant* LHS
llvm::Constant* RHS

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

Declared at: llvm/include/llvm/Analysis/TargetFolder.h:120

Parameters

llvm::Constant* C

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

Declared at: llvm/include/llvm/Analysis/TargetFolder.h:187

Parameters

llvm::Constant* C
llvm::Type* DestTy

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

Declared at: llvm/include/llvm/Analysis/TargetFolder.h:84

Parameters

llvm::Constant* LHS
llvm::Constant* RHS

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

Declared at: llvm/include/llvm/Analysis/TargetFolder.h:59

Parameters

llvm::Constant* LHS
llvm::Constant* RHS

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

Declared at: llvm/include/llvm/Analysis/TargetFolder.h:145

Parameters

llvm::Type* Ty
llvm::Constant* C
ArrayRef<llvm::Value*> IdxList

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

Declared at: llvm/include/llvm/Analysis/TargetFolder.h:139

Parameters

llvm::Type* Ty
llvm::Constant* C
llvm::Constant* Idx

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

Declared at: llvm/include/llvm/Analysis/TargetFolder.h:135

Parameters

llvm::Type* Ty
llvm::Constant* C
ArrayRef<llvm::Constant*> IdxList

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

Declared at: llvm/include/llvm/Analysis/TargetFolder.h:228

Parameters

CmpInst::Predicate P
llvm::Constant* LHS
llvm::Constant* RHS

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

Declared at: llvm/include/llvm/Analysis/TargetFolder.h:150

Parameters

llvm::Type* Ty
llvm::Constant* C
ArrayRef<llvm::Constant*> IdxList

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

Declared at: llvm/include/llvm/Analysis/TargetFolder.h:154

Parameters

llvm::Type* Ty
llvm::Constant* C
llvm::Constant* Idx

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

Declared at: llvm/include/llvm/Analysis/TargetFolder.h:161

Parameters

llvm::Type* Ty
llvm::Constant* C
ArrayRef<llvm::Value*> IdxList

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

Declared at: llvm/include/llvm/Analysis/TargetFolder.h:249

Parameters

llvm::Constant* Vec
llvm::Constant* NewElt
llvm::Constant* Idx

llvm::Constant* CreateInsertValue(
    llvm::Constant* Agg,
    llvm::Constant* Val,
    ArrayRef<unsigned int> IdxList) const

Declared at: llvm/include/llvm/Analysis/TargetFolder.h:264

Parameters

llvm::Constant* Agg
llvm::Constant* Val
ArrayRef<unsigned int> IdxList

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

Declared at: llvm/include/llvm/Analysis/TargetFolder.h:176

Parameters

llvm::Constant* C
llvm::Type* DestTy
bool isSigned

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

Declared at: llvm/include/llvm/Analysis/TargetFolder.h:195

Parameters

llvm::Constant* C
llvm::Type* DestTy

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

Declared at: llvm/include/llvm/Analysis/TargetFolder.h:91

Parameters

llvm::Constant* LHS
llvm::Constant* RHS
bool isExact = false

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

Declared at: llvm/include/llvm/Analysis/TargetFolder.h:62

Parameters

llvm::Constant* LHS
llvm::Constant* RHS
bool HasNUW = false
bool HasNSW = false

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

Declared at: llvm/include/llvm/Analysis/TargetFolder.h:116

Parameters

llvm::Constant* C
bool HasNUW = false
bool HasNSW = false

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

Declared at: llvm/include/llvm/Analysis/TargetFolder.h:123

Parameters

llvm::Constant* C

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

Declared at: llvm/include/llvm/Analysis/TargetFolder.h:100

Parameters

llvm::Constant* LHS
llvm::Constant* RHS

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

Declared at: llvm/include/llvm/Analysis/TargetFolder.h:217

Parameters

llvm::Constant* C
llvm::Type* DestTy

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

Declared at: llvm/include/llvm/Analysis/TargetFolder.h:182

Parameters

llvm::Constant* C
llvm::Type* DestTy

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

Declared at: llvm/include/llvm/Analysis/TargetFolder.h:198

Parameters

llvm::Constant* C
llvm::Type* DestTy

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

Declared at: llvm/include/llvm/Analysis/TargetFolder.h:72

Parameters

llvm::Constant* LHS
llvm::Constant* RHS
bool isExact = false

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

Declared at: llvm/include/llvm/Analysis/TargetFolder.h:206

Parameters

llvm::Constant* C
llvm::Type* DestTy

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

Declared at: llvm/include/llvm/Analysis/TargetFolder.h:81

Parameters

llvm::Constant* LHS
llvm::Constant* RHS

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

Declared at: llvm/include/llvm/Analysis/TargetFolder.h:241

Parameters

llvm::Constant* C
llvm::Constant* True
llvm::Constant* False

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

Declared at: llvm/include/llvm/Analysis/TargetFolder.h:87

Parameters

llvm::Constant* LHS
llvm::Constant* RHS
bool HasNUW = false
bool HasNSW = false

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

Declared at: llvm/include/llvm/Analysis/TargetFolder.h:254

Parameters

llvm::Constant* V1
llvm::Constant* V2
llvm::Constant* Mask

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

Declared at: llvm/include/llvm/Analysis/TargetFolder.h:55

Parameters

llvm::Constant* LHS
llvm::Constant* RHS
bool HasNUW = false
bool HasNSW = false

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

Declared at: llvm/include/llvm/Analysis/TargetFolder.h:211

Parameters

llvm::Constant* C
llvm::Type* DestTy

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

Declared at: llvm/include/llvm/Analysis/TargetFolder.h:69

Parameters

llvm::Constant* LHS
llvm::Constant* RHS
bool isExact = false

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

Declared at: llvm/include/llvm/Analysis/TargetFolder.h:78

Parameters

llvm::Constant* LHS
llvm::Constant* RHS

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

Declared at: llvm/include/llvm/Analysis/TargetFolder.h:127

Parameters

Instruction::UnaryOps Opc
llvm::Constant* C

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

Declared at: llvm/include/llvm/Analysis/TargetFolder.h:103

Parameters

llvm::Constant* LHS
llvm::Constant* RHS

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

Declared at: llvm/include/llvm/Analysis/TargetFolder.h:201

Parameters

llvm::Constant* C
llvm::Type* DestTy

TargetFolder(const llvm::DataLayout& DL)

Declared at: llvm/include/llvm/Analysis/TargetFolder.h:42

Parameters

const llvm::DataLayout& DL