IRBuilderFolder - Interface for constant folding in IRBuilder.
More...
#include "llvm/IR/IRBuilderFolder.h"
|
virtual | ~IRBuilderFolder () |
virtual Value * | FoldBinOp (Instruction::BinaryOps Opc, Value *LHS, Value *RHS) const =0 |
virtual Value * | FoldExactBinOp (Instruction::BinaryOps Opc, Value *LHS, Value *RHS, bool IsExact) const =0 |
virtual Value * | FoldNoWrapBinOp (Instruction::BinaryOps Opc, Value *LHS, Value *RHS, bool HasNUW, bool HasNSW) const =0 |
virtual Value * | FoldBinOpFMF (Instruction::BinaryOps Opc, Value *LHS, Value *RHS, FastMathFlags FMF) const =0 |
virtual Value * | FoldUnOpFMF (Instruction::UnaryOps Opc, Value *V, FastMathFlags FMF) const =0 |
virtual Value * | FoldCmp (CmpInst::Predicate P, Value *LHS, Value *RHS) const =0 |
virtual Value * | FoldGEP (Type *Ty, Value *Ptr, ArrayRef< Value * > IdxList, GEPNoWrapFlags NW) const =0 |
virtual Value * | FoldSelect (Value *C, Value *True, Value *False) const =0 |
virtual Value * | FoldExtractValue (Value *Agg, ArrayRef< unsigned > IdxList) const =0 |
virtual Value * | FoldInsertValue (Value *Agg, Value *Val, ArrayRef< unsigned > IdxList) const =0 |
virtual Value * | FoldExtractElement (Value *Vec, Value *Idx) const =0 |
virtual Value * | FoldInsertElement (Value *Vec, Value *NewElt, Value *Idx) const =0 |
virtual Value * | FoldShuffleVector (Value *V1, Value *V2, ArrayRef< int > Mask) const =0 |
virtual Value * | FoldCast (Instruction::CastOps Op, Value *V, Type *DestTy) const =0 |
virtual Value * | FoldBinaryIntrinsic (Intrinsic::ID ID, Value *LHS, Value *RHS, Type *Ty, Instruction *FMFSource=nullptr) const =0 |
virtual Value * | CreatePointerCast (Constant *C, Type *DestTy) const =0 |
virtual Value * | CreatePointerBitCastOrAddrSpaceCast (Constant *C, Type *DestTy) const =0 |
IRBuilderFolder - Interface for constant folding in IRBuilder.
Definition at line 26 of file IRBuilderFolder.h.
◆ ~IRBuilderFolder()
IRBuilderFolder::~IRBuilderFolder |
( |
| ) |
|
|
virtualdefault |
◆ 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 |
◆ FoldBinaryIntrinsic()
◆ FoldBinOp()
◆ FoldBinOpFMF()
◆ FoldCast()
◆ FoldCmp()
◆ FoldExactBinOp()
◆ FoldExtractElement()
virtual Value * llvm::IRBuilderFolder::FoldExtractElement |
( |
Value * | Vec, |
|
|
Value * | Idx ) const |
|
pure virtual |
◆ FoldExtractValue()
◆ FoldGEP()
◆ FoldInsertElement()
virtual Value * llvm::IRBuilderFolder::FoldInsertElement |
( |
Value * | Vec, |
|
|
Value * | NewElt, |
|
|
Value * | Idx ) const |
|
pure virtual |
◆ FoldInsertValue()
◆ FoldNoWrapBinOp()
◆ FoldSelect()
◆ FoldShuffleVector()
◆ FoldUnOpFMF()
The documentation for this class was generated from the following files: