[PATCH 00/16] casts simplification

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

 



The series contains several simplifications involving casts
and/or bitfields which are much easier to do now with the
finer grained cast instructions: TRUNC/ZEXT/SEXT.

This series is available for review & testing in the Git repository at:
  git://github.com/lucvoo/sparse-dev.git optim-cast

----------------------------------------------------------------

Luc Van Oostenryck (16):
  extract nbr_users() from unssa.c
  add testcases for casts & bitfield insertion/extraction
  bitfield: extract linearize_bitfield_extract()
  bitfield: extract linearize_bitfield_insert()
  cast: simplify [SZ]EXT + TRUNC to original size
  cast: simplify [SZ]EXT + TRUNC to a smaller/greater size
  cast: fix shift signedness in cast simplification
  cast: do not compare sizes, test the opcode
  cast: use a switch to handle TRUNC(AND(x,M),N) in simplify_cast()
  cast: preserve the sizes of TRUNC(AND(x,M),N)
  cast: simplify [ZS]EXT(AND(x,M),N)
  cast: simplify AND(ZEXT(x,M),N)
  cast: simplify SEXT(SEXT(x,N),N')
  cast: simplify ZEXT(ZEXT(x,N),N')
  cast: simplify SEXT(ZEXT(x,N),N')
  cast: simplify ASR(ZEXT(X, N), C)

 linearize.c                            |  50 ++++++----
 linearize.h                            |   5 +
 simplify.c                             | 128 ++++++++++++++++++++++---
 unssa.c                                |   7 +-
 validation/linear/bitfield-inc.c       |  17 ++++
 validation/linear/bitfield-preinc.c    |  18 ++++
 validation/linear/bitfield-store.c     |  22 +++++
 validation/optim/and-extend.c          |  27 ++++++
 validation/optim/and-extendx.c         |  24 +++++
 validation/optim/and-lsr.c             |  16 ++++
 validation/optim/and-trunc.c           |  20 ++++
 validation/optim/ext-trunc-greater.c   |  17 ++++
 validation/optim/ext-trunc-same.c      |  19 ++++
 validation/optim/ext-trunc-smaller.c   |  18 ++++
 validation/optim/mask-lsr.c            |  15 +++
 validation/optim/mask-out.c            |  13 +++
 validation/optim/sext-sext.c           |  12 +++
 validation/optim/sext.c                |  15 +++
 validation/optim/shift-zext.c          |  13 +++
 validation/optim/store-load-bitfield.c |  50 ++++++++++
 validation/optim/trunc-mask-zext.c     |  13 +++
 validation/optim/zext-and.c            |  12 +++
 validation/optim/zext-and1.c           |  12 +++
 validation/optim/zext-asr.c            |  13 +++
 validation/optim/zext-sext.c           |  13 +++
 validation/optim/zext-zext.c           |  13 +++
 26 files changed, 548 insertions(+), 34 deletions(-)
 create mode 100644 validation/linear/bitfield-inc.c
 create mode 100644 validation/linear/bitfield-preinc.c
 create mode 100644 validation/linear/bitfield-store.c
 create mode 100644 validation/optim/and-extend.c
 create mode 100644 validation/optim/and-extendx.c
 create mode 100644 validation/optim/and-lsr.c
 create mode 100644 validation/optim/and-trunc.c
 create mode 100644 validation/optim/ext-trunc-greater.c
 create mode 100644 validation/optim/ext-trunc-same.c
 create mode 100644 validation/optim/ext-trunc-smaller.c
 create mode 100644 validation/optim/mask-lsr.c
 create mode 100644 validation/optim/mask-out.c
 create mode 100644 validation/optim/sext-sext.c
 create mode 100644 validation/optim/sext.c
 create mode 100644 validation/optim/shift-zext.c
 create mode 100644 validation/optim/store-load-bitfield.c
 create mode 100644 validation/optim/trunc-mask-zext.c
 create mode 100644 validation/optim/zext-and.c
 create mode 100644 validation/optim/zext-and1.c
 create mode 100644 validation/optim/zext-asr.c
 create mode 100644 validation/optim/zext-sext.c
 create mode 100644 validation/optim/zext-zext.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