From 8f61a69e035d04834937fc28a42cf1841d825054 Mon Sep 17 00:00:00 2001 From: Pablo Neira Ayuso Date: Fri, 17 Jun 2022 18:05:15 +0200 Subject: optimize: add hash expression support Extend expr_cmp() to compare hash expressions used in relational. Signed-off-by: Pablo Neira Ayuso --- src/optimize.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'src/optimize.c') diff --git a/src/optimize.c b/src/optimize.c index 1fa46cb6..abd0b72f 100644 --- a/src/optimize.c +++ b/src/optimize.c @@ -107,6 +107,18 @@ static bool __expr_cmp(const struct expr *expr_a, const struct expr *expr_b) if (expr_a->numgen.offset != expr_b->numgen.offset) return false; break; + case EXPR_HASH: + if (expr_a->hash.mod != expr_b->hash.mod) + return false; + if (expr_a->hash.seed_set != expr_b->hash.seed_set) + return false; + if (expr_a->hash.seed != expr_b->hash.seed) + return false; + if (expr_a->hash.offset != expr_b->hash.offset) + return false; + if (expr_a->hash.type != expr_b->hash.type) + return false; + break; case EXPR_BINOP: return __expr_cmp(expr_a->left, expr_b->left); default: -- cgit v1.2.3