diff options
Diffstat (limited to 'lib/VMCore/ConstantFold.h')
-rw-r--r-- | lib/VMCore/ConstantFold.h | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/lib/VMCore/ConstantFold.h b/lib/VMCore/ConstantFold.h index ef19cd2..a27283c 100644 --- a/lib/VMCore/ConstantFold.h +++ b/lib/VMCore/ConstantFold.h @@ -134,11 +134,15 @@ private: // Unary operators... inline Constant *operator~(const Constant &V) { - assert(V.getType()->isIntegral() && "Cannot invert non-intergral constant!"); + assert(V.getType()->isIntegral() && "Cannot invert non-integral constant!"); return ConstRules::get(V, V)->op_xor(&V, ConstantInt::getAllOnesValue(V.getType())); } +inline Constant *operator-(const Constant &V) { + return ConstRules::get(V, V)->sub(Constant::getNullValue(V.getType()), &V); +} + // Standard binary operators... inline Constant *operator+(const Constant &V1, const Constant &V2) { assert(V1.getType() == V2.getType() && "Constant types must be identical!"); |