Value *SimplifyFCmpInst(unsigned Predicate, Value *LHS, Value *RHS,
const TargetData *TD = 0);
+ /// SimplifySelectInst - Given operands for a SelectInst, see if we can fold
+ /// the result. If not, this returns null.
+ Value *SimplifySelectInst(Value *Cond, Value *TrueVal, Value *FalseVal,
+ const TargetData *TD = 0);
/// SimplifyGEPInst - Given operands for an GetElementPtrInst, see if we can
/// fold the result. If not, this returns null.
/// SimplifyInstruction - See if we can compute a simplified version of this
/// instruction. If not, this returns null.
+ /// WARNING: If called on unreachable code, an instruction may be reported
+ /// to simplify to itself.
Value *SimplifyInstruction(Instruction *I, const TargetData *TD = 0);