Reapply r215966, r215965, r215964, r215963, r215960, r215959, r215958, and r215957
[oota-llvm.git] / include / llvm / IR / Constant.h
index 257bb80f21194bcfdb218c7b78f66d4915657fb0..019e2b93380e36a0cf44d5c8fe0cc6ef87caf9f1 100644 (file)
@@ -48,11 +48,16 @@ protected:
     : User(ty, vty, Ops, NumOps) {}
 
   void destroyConstantImpl();
+  void replaceUsesOfWithOnConstantImpl(Constant *Replacement);
+
 public:
   /// isNullValue - Return true if this is the value that would be returned by
   /// getNullValue.
   bool isNullValue() const;
 
+  /// \brief Returns true if the value is one.
+  bool isOneValue() const;
+
   /// isAllOnesValue - Return true if this is the value that would be returned by
   /// getAllOnesValue.
   bool isAllOnesValue() const;
@@ -64,6 +69,9 @@ public:
   /// Return true if the value is negative zero or null value.
   bool isZeroValue() const;
 
+  /// \brief Return true if the value is the smallest signed value.
+  bool isMinSignedValue() const;
+
   /// canTrap - Return true if evaluation of this constant could trap.  This is
   /// true for things like constant expressions that could divide by zero.
   bool canTrap() const;