]> granicus.if.org Git - clang/commitdiff
Simplified transfer functions for '++' and '--'
authorTed Kremenek <kremenek@apple.com>
Tue, 5 Feb 2008 00:43:43 +0000 (00:43 +0000)
committerTed Kremenek <kremenek@apple.com>
Tue, 5 Feb 2008 00:43:43 +0000 (00:43 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46732 91177308-0d34-0410-b5e6-96231b3b80d8

Analysis/GRConstants.cpp

index 78d7b39cd9441980f8495e72314b57c193f277b3..4c678914ef44dc1a493812adeb884928a59a0b9e 100644 (file)
@@ -549,10 +549,7 @@ void GRConstants::VisitUnaryOperator(UnaryOperator* U,
       case UnaryOperator::PostInc: {
         const LValue& L1 = GetLValue(St, U->getSubExpr());
         NonLValue R1 = cast<NonLValue>(GetValue(St, L1));
-        NonLValue R2 = NonLValue::GetValue(ValMgr, 1U, U->getType(),
-                                           U->getLocStart());
-        
-        NonLValue Result = R1.Add(ValMgr, R2);
+        NonLValue Result = R1.Add(ValMgr, GetRValueConstant(1U, U));
         Nodify(Dst, U, N1, SetValue(SetValue(St, U, R1), L1, Result));
         break;
       }
@@ -560,10 +557,7 @@ void GRConstants::VisitUnaryOperator(UnaryOperator* U,
       case UnaryOperator::PostDec: {
         const LValue& L1 = GetLValue(St, U->getSubExpr());
         NonLValue R1 = cast<NonLValue>(GetValue(St, L1));
-        NonLValue R2 = NonLValue::GetValue(ValMgr, 1U, U->getType(),
-                                           U->getLocStart());
-        
-        NonLValue Result = R1.Sub(ValMgr, R2);
+        NonLValue Result = R1.Sub(ValMgr, GetRValueConstant(1U, U));
         Nodify(Dst, U, N1, SetValue(SetValue(St, U, R1), L1, Result));
         break;
       }
@@ -571,10 +565,7 @@ void GRConstants::VisitUnaryOperator(UnaryOperator* U,
       case UnaryOperator::PreInc: {
         const LValue& L1 = GetLValue(St, U->getSubExpr());
         NonLValue R1 = cast<NonLValue>(GetValue(St, L1));
-        NonLValue R2 = NonLValue::GetValue(ValMgr, 1U, U->getType(),
-                                           U->getLocStart());        
-        
-        NonLValue Result = R1.Add(ValMgr, R2);
+        NonLValue Result = R1.Add(ValMgr, GetRValueConstant(1U, U));
         Nodify(Dst, U, N1, SetValue(SetValue(St, U, Result), L1, Result));
         break;
       }
@@ -582,10 +573,7 @@ void GRConstants::VisitUnaryOperator(UnaryOperator* U,
       case UnaryOperator::PreDec: {
         const LValue& L1 = GetLValue(St, U->getSubExpr());
         NonLValue R1 = cast<NonLValue>(GetValue(St, L1));
-        NonLValue R2 = NonLValue::GetValue(ValMgr, 1U, U->getType(),
-                                           U->getLocStart());
-        
-        NonLValue Result = R1.Sub(ValMgr, R2);
+        NonLValue Result = R1.Sub(ValMgr, GetRValueConstant(1U, U));
         Nodify(Dst, U, N1, SetValue(SetValue(St, U, Result), L1, Result));
         break;
       }