From 380ca8863db645f0c00843af2fef575b655783ff Mon Sep 17 00:00:00 2001 From: Daniel Dunbar Date: Sun, 14 Jun 2009 04:23:54 +0000 Subject: Add several ConstantExpr utility functions and move clients over. - Reducing uses of getConstantValue() so we can move to arbitrary precision constants. - No (intended) functionality change. git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@73324 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Core/Executor.cpp | 20 +++++++++----------- lib/Core/TimingSolver.cpp | 4 ++-- 2 files changed, 11 insertions(+), 13 deletions(-) (limited to 'lib/Core') diff --git a/lib/Core/Executor.cpp b/lib/Core/Executor.cpp index 2aae57c9..f12aec08 100644 --- a/lib/Core/Executor.cpp +++ b/lib/Core/Executor.cpp @@ -630,7 +630,7 @@ void Executor::branch(ExecutionState &state, res); assert(success && "FIXME: Unhandled solver failure"); (void) success; - if (res->getConstantValue()) + if (res->isTrue()) break; } @@ -766,15 +766,13 @@ Executor::fork(ExecutionState ¤t, ref condition, bool isInternal) { solver->getValue(current, siit->assignment.evaluate(condition), res); assert(success && "FIXME: Unhandled solver failure"); (void) success; - if (ConstantExpr *CE = dyn_cast(res)) { - if (CE->getConstantValue()) { - trueSeed = true; - } else { - falseSeed = true; - } - if (trueSeed && falseSeed) - break; + if (res->isTrue()) { + trueSeed = true; + } else { + falseSeed = true; } + if (trueSeed && falseSeed) + break; } if (!(trueSeed && falseSeed)) { assert(trueSeed || falseSeed); @@ -832,7 +830,7 @@ Executor::fork(ExecutionState ¤t, ref condition, bool isInternal) { solver->getValue(current, siit->assignment.evaluate(condition), res); assert(success && "FIXME: Unhandled solver failure"); (void) success; - if (res->getConstantValue()) { + if (res->isTrue()) { trueSeeds.push_back(*siit); } else { falseSeeds.push_back(*siit); @@ -889,7 +887,7 @@ Executor::fork(ExecutionState ¤t, ref condition, bool isInternal) { void Executor::addConstraint(ExecutionState &state, ref condition) { if (ConstantExpr *CE = dyn_cast(condition)) { - assert(CE->getConstantValue() && "attempt to add invalid constraint"); + assert(CE->isTrue() && "attempt to add invalid constraint"); return; } diff --git a/lib/Core/TimingSolver.cpp b/lib/Core/TimingSolver.cpp index 339c33b2..0154ddcf 100644 --- a/lib/Core/TimingSolver.cpp +++ b/lib/Core/TimingSolver.cpp @@ -26,7 +26,7 @@ bool TimingSolver::evaluate(const ExecutionState& state, ref expr, Solver::Validity &result) { // Fast path, to avoid timer and OS overhead. if (ConstantExpr *CE = dyn_cast(expr)) { - result = CE->getConstantValue() ? Solver::True : Solver::False; + result = CE->isTrue() ? Solver::True : Solver::False; return true; } @@ -50,7 +50,7 @@ bool TimingSolver::mustBeTrue(const ExecutionState& state, ref expr, bool &result) { // Fast path, to avoid timer and OS overhead. if (ConstantExpr *CE = dyn_cast(expr)) { - result = CE->getConstantValue() ? true : false; + result = CE->isTrue() ? true : false; return true; } -- cgit 1.4.1