LLVM API Documentation

Namespaces | Functions
InstructionSimplify.h File Reference
#include "llvm/IR/User.h"
Include dependency graph for InstructionSimplify.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  llvm
 

List of target independent CodeGen pass IDs.


Functions

Valuellvm::SimplifyAddInst (Value *LHS, Value *RHS, bool isNSW, bool isNUW, const DataLayout *TD=nullptr, const TargetLibraryInfo *TLI=nullptr, const DominatorTree *DT=nullptr, AssumptionTracker *AT=nullptr, const Instruction *CxtI=nullptr)
Valuellvm::SimplifySubInst (Value *LHS, Value *RHS, bool isNSW, bool isNUW, const DataLayout *TD=nullptr, const TargetLibraryInfo *TLI=nullptr, const DominatorTree *DT=nullptr, AssumptionTracker *AT=nullptr, const Instruction *CxtI=nullptr)
Valuellvm::SimplifyFAddInst (Value *LHS, Value *RHS, FastMathFlags FMF, const DataLayout *TD=nullptr, const TargetLibraryInfo *TLI=nullptr, const DominatorTree *DT=nullptr, AssumptionTracker *AT=nullptr, const Instruction *CxtI=nullptr)
Valuellvm::SimplifyFSubInst (Value *LHS, Value *RHS, FastMathFlags FMF, const DataLayout *TD=nullptr, const TargetLibraryInfo *TLI=nullptr, const DominatorTree *DT=nullptr, AssumptionTracker *AT=nullptr, const Instruction *CxtI=nullptr)
Valuellvm::SimplifyFMulInst (Value *LHS, Value *RHS, FastMathFlags FMF, const DataLayout *TD=nullptr, const TargetLibraryInfo *TLI=nullptr, const DominatorTree *DT=nullptr, AssumptionTracker *AT=nullptr, const Instruction *CxtI=nullptr)
Valuellvm::SimplifyMulInst (Value *LHS, Value *RHS, const DataLayout *TD=nullptr, const TargetLibraryInfo *TLI=nullptr, const DominatorTree *DT=nullptr, AssumptionTracker *AT=nullptr, const Instruction *CxtI=nullptr)
Valuellvm::SimplifySDivInst (Value *LHS, Value *RHS, const DataLayout *TD=nullptr, const TargetLibraryInfo *TLI=nullptr, const DominatorTree *DT=nullptr, AssumptionTracker *AT=nullptr, const Instruction *CxtI=nullptr)
Valuellvm::SimplifyUDivInst (Value *LHS, Value *RHS, const DataLayout *TD=nullptr, const TargetLibraryInfo *TLI=nullptr, const DominatorTree *DT=nullptr, AssumptionTracker *AT=nullptr, const Instruction *CxtI=nullptr)
Valuellvm::SimplifyFDivInst (Value *LHS, Value *RHS, const DataLayout *TD=nullptr, const TargetLibraryInfo *TLI=nullptr, const DominatorTree *DT=nullptr, AssumptionTracker *AT=nullptr, const Instruction *CxtI=nullptr)
Valuellvm::SimplifySRemInst (Value *LHS, Value *RHS, const DataLayout *TD=nullptr, const TargetLibraryInfo *TLI=nullptr, const DominatorTree *DT=nullptr, AssumptionTracker *AT=nullptr, const Instruction *CxtI=nullptr)
Valuellvm::SimplifyURemInst (Value *LHS, Value *RHS, const DataLayout *TD=nullptr, const TargetLibraryInfo *TLI=nullptr, const DominatorTree *DT=nullptr, AssumptionTracker *AT=nullptr, const Instruction *CxtI=nullptr)
Valuellvm::SimplifyFRemInst (Value *LHS, Value *RHS, const DataLayout *TD=nullptr, const TargetLibraryInfo *TLI=nullptr, const DominatorTree *DT=nullptr, AssumptionTracker *AT=nullptr, const Instruction *CxtI=nullptr)
Valuellvm::SimplifyShlInst (Value *Op0, Value *Op1, bool isNSW, bool isNUW, const DataLayout *TD=nullptr, const TargetLibraryInfo *TLI=nullptr, const DominatorTree *DT=nullptr, AssumptionTracker *AT=nullptr, const Instruction *CxtI=nullptr)
Valuellvm::SimplifyLShrInst (Value *Op0, Value *Op1, bool isExact, const DataLayout *TD=nullptr, const TargetLibraryInfo *TLI=nullptr, const DominatorTree *DT=nullptr, AssumptionTracker *AT=nullptr, const Instruction *CxtI=nullptr)
Valuellvm::SimplifyAShrInst (Value *Op0, Value *Op1, bool isExact, const DataLayout *TD=nullptr, const TargetLibraryInfo *TLI=nullptr, const DominatorTree *DT=nullptr, AssumptionTracker *AT=nullptr, const Instruction *CxtI=nullptr)
Valuellvm::SimplifyAndInst (Value *LHS, Value *RHS, const DataLayout *TD=nullptr, const TargetLibraryInfo *TLI=nullptr, const DominatorTree *DT=nullptr, AssumptionTracker *AT=nullptr, const Instruction *CxtI=nullptr)
Valuellvm::SimplifyOrInst (Value *LHS, Value *RHS, const DataLayout *TD=nullptr, const TargetLibraryInfo *TLI=nullptr, const DominatorTree *DT=nullptr, AssumptionTracker *AT=nullptr, const Instruction *CxtI=nullptr)
Valuellvm::SimplifyXorInst (Value *LHS, Value *RHS, const DataLayout *TD=nullptr, const TargetLibraryInfo *TLI=nullptr, const DominatorTree *DT=nullptr, AssumptionTracker *AT=nullptr, const Instruction *CxtI=nullptr)
Valuellvm::SimplifyICmpInst (unsigned Predicate, Value *LHS, Value *RHS, const DataLayout *TD=nullptr, const TargetLibraryInfo *TLI=nullptr, const DominatorTree *DT=nullptr, AssumptionTracker *AT=nullptr, Instruction *CxtI=nullptr)
Valuellvm::SimplifyFCmpInst (unsigned Predicate, Value *LHS, Value *RHS, const DataLayout *TD=nullptr, const TargetLibraryInfo *TLI=nullptr, const DominatorTree *DT=nullptr, AssumptionTracker *AT=nullptr, const Instruction *CxtI=nullptr)
Valuellvm::SimplifySelectInst (Value *Cond, Value *TrueVal, Value *FalseVal, const DataLayout *TD=nullptr, const TargetLibraryInfo *TLI=nullptr, const DominatorTree *DT=nullptr, AssumptionTracker *AT=nullptr, const Instruction *CxtI=nullptr)
Valuellvm::SimplifyGEPInst (ArrayRef< Value * > Ops, const DataLayout *TD=nullptr, const TargetLibraryInfo *TLI=nullptr, const DominatorTree *DT=nullptr, AssumptionTracker *AT=nullptr, const Instruction *CxtI=nullptr)
Valuellvm::SimplifyInsertValueInst (Value *Agg, Value *Val, ArrayRef< unsigned > Idxs, const DataLayout *TD=nullptr, const TargetLibraryInfo *TLI=nullptr, const DominatorTree *DT=nullptr, AssumptionTracker *AT=nullptr, const Instruction *CxtI=nullptr)
Valuellvm::SimplifyTruncInst (Value *Op, Type *Ty, const DataLayout *TD=nullptr, const TargetLibraryInfo *TLI=nullptr, const DominatorTree *DT=nullptr, AssumptionTracker *AT=nullptr, const Instruction *CxtI=nullptr)
Valuellvm::SimplifyCmpInst (unsigned Predicate, Value *LHS, Value *RHS, const DataLayout *TD=nullptr, const TargetLibraryInfo *TLI=nullptr, const DominatorTree *DT=nullptr, AssumptionTracker *AT=nullptr, const Instruction *CxtI=nullptr)
Valuellvm::SimplifyBinOp (unsigned Opcode, Value *LHS, Value *RHS, const DataLayout *TD=nullptr, const TargetLibraryInfo *TLI=nullptr, const DominatorTree *DT=nullptr, AssumptionTracker *AT=nullptr, const Instruction *CxtI=nullptr)
Valuellvm::SimplifyCall (Value *V, User::op_iterator ArgBegin, User::op_iterator ArgEnd, const DataLayout *TD=nullptr, const TargetLibraryInfo *TLI=nullptr, const DominatorTree *DT=nullptr, AssumptionTracker *AT=nullptr, const Instruction *CxtI=nullptr)
 Given a function and iterators over arguments, see if we can fold the result.
Valuellvm::SimplifyCall (Value *V, ArrayRef< Value * > Args, const DataLayout *TD=nullptr, const TargetLibraryInfo *TLI=nullptr, const DominatorTree *DT=nullptr, AssumptionTracker *AT=nullptr, const Instruction *CxtI=nullptr)
 Given a function and set of arguments, see if we can fold the result.
Valuellvm::SimplifyInstruction (Instruction *I, const DataLayout *TD=nullptr, const TargetLibraryInfo *TLI=nullptr, const DominatorTree *DT=nullptr, AssumptionTracker *AT=nullptr)
bool llvm::replaceAndRecursivelySimplify (Instruction *I, Value *SimpleV, const DataLayout *TD=nullptr, const TargetLibraryInfo *TLI=nullptr, const DominatorTree *DT=nullptr, AssumptionTracker *AT=nullptr)
 Replace all uses of 'I' with 'SimpleV' and simplify the uses recursively.
bool llvm::recursivelySimplifyInstruction (Instruction *I, const DataLayout *TD=nullptr, const TargetLibraryInfo *TLI=nullptr, const DominatorTree *DT=nullptr, AssumptionTracker *AT=nullptr)
 Recursively attempt to simplify an instruction.