Merge branches misc, cmp-pow2, optim-and-cmp, cmp-and-or and optim-cast-eval into...
commit8af2432923486c753ab52cae70b94ee684121080
authorLuc Van Oostenryck <luc.vanoostenryck@gmail.com>
Mon, 19 Apr 2021 03:43:29 +0000 (19 05:43 +0200)
committerLuc Van Oostenryck <luc.vanoostenryck@gmail.com>
Tue, 20 Apr 2021 03:35:39 +0000 (20 05:35 +0200)
tree1f7935b649f2325b9480af5c679903a7cf5e9310
parent09ec74f6acaf6837e18157f5b9588bb08971aafb
parent929b10d66002e85202f446ed7e0ad8ec4c01f637
parent32f1c1c24386e9379a8a7b3148d876e0a7cf027e
parentdf7767c6c57284ec3deda589f3694d2170b21fd6
parent99bf609861c3bc9ba313a81642988da92838c9e2
parent94750498b1d3ef03fd78920b70e7330072dbb4ed
Merge branches misc, cmp-pow2, optim-and-cmp, cmp-and-or and optim-cast-eval into next

* no needs to use MARK_CURRENT_DELETED() for multi-jumps
* canonicalize ((x & M) == M) --> ((x & M) != 0) when M is a power-of-2
* simplify AND(x >= 0, x < C) --> (unsigned)x < C
* simplify TRUNC(x) {==,!=} C --> AND(x,M) {==,!=} C
* remove early simplification of casts during evaluation
* but this back as simplificaion of TRUNC(NOT(x)) --> NOT(TRUNC(x))
linearize.h
simplify.c