LLVM API Documentation

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | 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.

Classes

class  llvm::ArrayRef< T >
 

Namespaces

 llvm
 List of target independent CodeGen pass IDs.
 

Functions

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