The goal of this series is to get rid of OP_AND_BOOL and OP_OR_BOOL and use OP_{AND,OR} instead. The motivation being: to remove redundancy at simplification level. The series is available for review & testing in the Git repository at: git://github.com/lucvoo/sparse-dev.git bool-context before it will be pushed to the stable tree at: git://github.com/lucvoo/sparse.git master ---------------------------------------------------------------- Luc Van Oostenryck (10): add simple testcases for internal infinite loops simplify 'x | ~0' to '~0' simplify 'x & ~0' to 'x' simplify 'x ^ ~0' to '~x' bool: add testcase for bool simplification bool: simplify ZEXT in bool -> int -> bool bool: fix missing boolean context for floats bool: simplify 'x != 0' or 'x == 1' to 'x' bool: generate plain OP_{AND,OR} instead of OP_{AND,OR}_BOOL bool: remove OP_{AND,OR}_BOOL instructions Documentation/IR.rst | 8 ----- cse.c | 4 +-- example.c | 3 -- linearize.c | 13 ++++--- linearize.h | 4 +-- simplify.c | 56 ++++++++++++++++++------------ sparse-llvm.c | 24 ------------- validation/infinite-loop01.c | 54 ++++++++++++++++++++++++++++ validation/optim/bits-not-zero.c | 30 ++++++++++++++++ validation/optim/bool-context-fp.c | 46 ++++++++++++++++++++++++ validation/optim/bool-int-bool.c | 12 +++++++ validation/optim/bool-simplify.c | 25 +++++++++++++ validation/optim/bool-simplify2.c | 27 ++++++++++++++ 13 files changed, 238 insertions(+), 68 deletions(-) create mode 100644 validation/infinite-loop01.c create mode 100644 validation/optim/bits-not-zero.c create mode 100644 validation/optim/bool-int-bool.c create mode 100644 validation/optim/bool-simplify2.c -- 2.18.0 -- To unsubscribe from this list: send the line "unsubscribe linux-sparse" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html