This series finalizes the handling of negative or over-sized shift counts during simplification. More specifically, it contains: * do not optimize the meaningless shift: * any shift with a negative count * OP_ASRs with an over-sized shift count. * try to give a correct negative/too-big error message during simplification. This series is also available for review & testing in the Git repository at: git://github.com/lucvoo/sparse-dev.git big-shift-next ---------------------------------------------------------------- Luc Van Oostenryck (7): bits: add helpers for zero & sign-extension big-shift: add testcases for simplification of over-sized shifts big-shift: add testcases for simplification of negative shifts big-shift: move shift count check in a separate function big-shift: fix warning message for negative or over-sized shifts big-shift: do not optimize negative shifts big-shift: do not optimize over-sized ASRs bits.h | 61 +++++++++++++++++++++++++++++++++++ lib.h | 1 + simplify.c | 38 +++++++++++++++++++--- symbol.h | 8 +++++ validation/optim/shift-big.c | 62 ++++++++++++++++++++++++++++++++---- validation/shift-negative.c | 17 ++++++++++ validation/shift-undef.c | 24 +++++++------- 7 files changed, 187 insertions(+), 24 deletions(-) create mode 100644 bits.h create mode 100644 validation/shift-negative.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