Extend knowledge base.

This commit is contained in:
chriseth
2021-08-18 12:42:46 +02:00
parent 729db521a9
commit 4b038e3f02
4 changed files with 119 additions and 9 deletions
+5
View File
@@ -24,6 +24,8 @@
#include <libyul/ASTForward.h>
#include <libyul/YulString.h>
#include <libsolutil/Common.h>
#include <map>
namespace solidity::yul
@@ -46,8 +48,11 @@ public:
{}
bool knownToBeDifferent(YulString _a, YulString _b);
std::optional<u256> differenceIfKnownConstant(YulString _a, YulString _b);
bool knownToBeDifferentByAtLeast32(YulString _a, YulString _b);
bool knownToBeEqual(YulString _a, YulString _b) const { return _a == _b; }
bool knownToBeZero(YulString _a);
std::optional<u256> valueIfKnownConstant(YulString _a);
private:
Expression simplify(Expression _expression);