Remove the dead TD argument to CanEvaluateZExtd, and add a
[oota-llvm.git] / lib / Transforms / InstCombine / InstCombine.h
index 635d62794229b66ea4d4f84d17ccfd7821254f8b..536790004e864a77edc8f219857edcfa26ff9dce 100644 (file)
@@ -20,9 +20,9 @@
 namespace llvm {
   class CallSite;
   class TargetData;
-  struct DbgDeclareInst;
-  struct MemIntrinsic;
-  struct MemSetInst;
+  class DbgDeclareInst;
+  class MemIntrinsic;
+  class MemSetInst;
   
 /// SelectPatternFlavor - We can match a variety of different patterns for
 /// select operations.
@@ -150,7 +150,6 @@ public:
   Instruction *FoldShiftByConstant(Value *Op0, ConstantInt *Op1,
                                    BinaryOperator &I);
   Instruction *commonCastTransforms(CastInst &CI);
-  Instruction *commonIntCastTransforms(CastInst &CI);
   Instruction *commonPointerCastTransforms(CastInst &CI);
   Instruction *visitTrunc(TruncInst &CI);
   Instruction *visitZExt(ZExtInst &CI);
@@ -195,6 +194,7 @@ public:
 private:
   bool ShouldChangeType(const Type *From, const Type *To) const;
   Value *dyn_castNegVal(Value *V) const;
+  Value *dyn_castFNegVal(Value *V) const;
   const Type *FindElementAtOffset(const Type *Ty, int64_t Offset, 
                                   SmallVectorImpl<Value*> &NewIndices);
   Instruction *FoldOpIntoSelect(Instruction &Op, SelectInst *SI);
@@ -337,8 +337,6 @@ private:
 
   Value *EvaluateInDifferentType(Value *V, const Type *Ty, bool isSigned);
 
-  bool CanEvaluateInDifferentType(Value *V, const Type *Ty,
-                                  unsigned CastOpc, int &NumCastsRemoved);
   unsigned GetOrEnforceKnownAlignment(Value *V,
                                       unsigned PrefAlign = 0);