LLVM: llvm::InstSimplifyFolder Class Reference (original) (raw)
InstSimplifyFolder - Use InstructionSimplify to fold operations to existing values. More...
#include "[llvm/Analysis/InstSimplifyFolder.h](InstSimplifyFolder%5F8h%5Fsource.html)"
| Public Member Functions |
|
|
InstSimplifyFolder (const DataLayout &DL) |
| Value * |
FoldBinOp (Instruction::BinaryOps Opc, Value *LHS, Value *RHS) const override |
| Value * |
FoldExactBinOp (Instruction::BinaryOps Opc, Value *LHS, Value *RHS, bool IsExact) const override |
| Value * |
FoldNoWrapBinOp (Instruction::BinaryOps Opc, Value *LHS, Value *RHS, bool HasNUW, bool HasNSW) const override |
| Value * |
FoldBinOpFMF (Instruction::BinaryOps Opc, Value *LHS, Value *RHS, FastMathFlags FMF) const override |
| Value * |
FoldUnOpFMF (Instruction::UnaryOps Opc, Value *V, FastMathFlags FMF) const override |
| Value * |
FoldCmp (CmpInst::Predicate P, Value *LHS, Value *RHS) const override |
| Value * |
FoldGEP (Type *Ty, Value *Ptr, ArrayRef< Value * > IdxList, GEPNoWrapFlags NW) const override |
| Value * |
FoldSelect (Value *C, Value *True, Value *False) const override |
| Value * |
FoldExtractValue (Value *Agg, ArrayRef< unsigned > IdxList) const override |
| Value * |
FoldInsertValue (Value *Agg, Value *Val, ArrayRef< unsigned > IdxList) const override |
| Value * |
FoldExtractElement (Value *Vec, Value *Idx) const override |
| Value * |
FoldInsertElement (Value *Vec, Value *NewElt, Value *Idx) const override |
| Value * |
FoldShuffleVector (Value *V1, Value *V2, ArrayRef< int > Mask) const override |
| Value * |
FoldCast (Instruction::CastOps Op, Value *V, Type *DestTy) const override |
| Value * |
FoldBinaryIntrinsic (Intrinsic::ID ID, Value *LHS, Value *RHS, Type *Ty, Instruction *FMFSource=nullptr) const override |
| Value * |
CreatePointerCast (Constant *C, Type *DestTy) const override |
| Value * |
CreatePointerBitCastOrAddrSpaceCast (Constant *C, Type *DestTy) const override |
| Public Member Functions inherited from llvm::IRBuilderFolder |
|
| virtual |
~IRBuilderFolder () |
InstSimplifyFolder - Use InstructionSimplify to fold operations to existing values.
Also applies target-specific constant folding when not using InstructionSimplify.
Definition at line 36 of file InstSimplifyFolder.h.
| llvm::InstSimplifyFolder::InstSimplifyFolder ( const DataLayout & DL) |
inlineexplicit |
◆ CreatePointerBitCastOrAddrSpaceCast()
| Value * llvm::InstSimplifyFolder::CreatePointerBitCastOrAddrSpaceCast ( Constant * C, Type * DestTy ) const |
inlineoverridevirtual |
◆ CreatePointerCast()
| Value * llvm::InstSimplifyFolder::CreatePointerCast ( Constant * C, Type * DestTy ) const |
inlineoverridevirtual |
◆ FoldBinaryIntrinsic()
◆ FoldBinOp()
◆ FoldBinOpFMF()
◆ FoldCast()
◆ FoldCmp()
◆ FoldExactBinOp()
| Value * llvm::InstSimplifyFolder::FoldExtractElement ( Value * Vec, Value * Idx ) const |
inlineoverridevirtual |
◆ FoldGEP()
◆ FoldInsertElement()
| Value * llvm::InstSimplifyFolder::FoldInsertElement ( Value * Vec, Value * NewElt, Value * Idx ) const |
inlineoverridevirtual |
◆ FoldInsertValue()
◆ FoldNoWrapBinOp()
◆ FoldSelect()
| Value * llvm::InstSimplifyFolder::FoldSelect ( Value * C, Value * True, Value * False ) const |
inlineoverridevirtual |
◆ FoldShuffleVector()
| Value * llvm::InstSimplifyFolder::FoldShuffleVector ( Value * V1, Value * V2, ArrayRef< int > Mask ) const |
inlineoverridevirtual |
◆ FoldUnOpFMF()
The documentation for this class was generated from the following file: