[PATCH 0/7] simplification of negative or over-sized shifts

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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



[Index of Archives]     [Newbies FAQ]     [LKML]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Trinity Fuzzer Tool]

  Powered by Linux