From 11d1cbae8f642953c5d60faa9a02c9630930461b Mon Sep 17 00:00:00 2001 From: Daniel Dunbar Date: Mon, 22 Jun 2009 03:41:57 +0000 Subject: Remove unnecessary width field, the width is part of the APInt. git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@73872 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/klee/Expr.h | 10 ++++------ lib/Expr/Expr.cpp | 4 ++-- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/include/klee/Expr.h b/include/klee/Expr.h index 49d612cc..fea269e8 100644 --- a/include/klee/Expr.h +++ b/include/klee/Expr.h @@ -299,15 +299,12 @@ public: private: llvm::APInt value; - ConstantExpr(uint64_t v, Width w) : value(w, v), width(w) {} - -public: - Width width; + ConstantExpr(uint64_t v, Width w) : value(w, v) {} public: ~ConstantExpr() {}; - Width getWidth() const { return width; } + Width getWidth() const { return value.getBitWidth(); } Kind getKind() const { return Constant; } unsigned getNumKids() const { return 0; } @@ -335,7 +332,8 @@ public: int compareContents(const Expr &b) const { const ConstantExpr &cb = static_cast(b); - if (width != cb.width) return width < cb.width ? -1 : 1; + if (getWidth() != cb.getWidth()) + return getWidth() < cb.getWidth() ? -1 : 1; if (value == cb.value) return 0; return value.ult(cb.value) ? -1 : 1; diff --git a/lib/Expr/Expr.cpp b/lib/Expr/Expr.cpp index 2d41a579..1615127a 100644 --- a/lib/Expr/Expr.cpp +++ b/lib/Expr/Expr.cpp @@ -164,7 +164,7 @@ unsigned Expr::computeHash() { } unsigned ConstantExpr::computeHash() { - hashValue = getConstantValue() ^ (width * MAGIC_HASH_CONSTANT); + hashValue = getConstantValue() ^ (getWidth() * MAGIC_HASH_CONSTANT); return hashValue; } @@ -336,7 +336,7 @@ ref ConstantExpr::fromMemory(void *address, Width width) { } void ConstantExpr::toMemory(void *address) { - switch (width) { + switch (getWidth()) { default: assert(0 && "invalid type"); case Expr::Bool: *(( uint8_t*) address) = getConstantValue(); break; case Expr::Int8: *(( uint8_t*) address) = getConstantValue(); break; -- cgit 1.4.1