This series contains some simplification of masking operations, mainly useful for bitfield accesses. This series is available for review & testing in the repository at: git://github.com/lucvoo/sparse-dev.git optim-mask ---------------------------------------------------------------- Luc Van Oostenryck (7): avoid infinite simplification loops of the second kind optim: add a few more testcases for shift & mask reorg code for shift-shift simplification simplify ((x & M') | y ) & M into (y & M) when (M' & M) == 0 simplify ((x & M) | y) >> S to (y >> S) when (M >> S) == 0 simplify (x << S) >> S into x & (-1 >> S) simplify (x & M) >> S to (x >> S) & (M >> S) simplify.c | 92 ++++++++++++++++++++++++-- validation/optim/and-lsr.c | 1 - validation/optim/mask-lsr.c | 1 - validation/optim/mask-out.c | 1 - validation/optim/shift-zext.c | 1 - validation/optim/shl-lsr.c | 14 ++++ validation/optim/store-load-bitfield.c | 12 +--- 7 files changed, 102 insertions(+), 20 deletions(-) create mode 100644 validation/optim/shl-lsr.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