[PATCH 00/13] fix linearize_logical() & simplification

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

 



This series contains a few fixes concerning the linearization
of logical expressions and their simplification.


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

----------------------------------------------------------------
Luc Van Oostenryck (13):
  add testcase for linearize_logical()
  fix size corruption when simplifing 'x != 0' to 'x'
  protect add_convert_to_bool() against bad types / invalid expressions
  conditional branches can't accept arbitrary expressions
  fix linearize_conditional() for logical ops
  expand linearize_conditional() into  linearize_logical()
  simplify linearize_logical()
  simplify SETNE(AND(X,1),0) to AND(X,1)
  simplify SETNE(TRUNC(x,N),{0,1})
  simplify ZEXT(SETCC(x,y), N)
  simplify SEXT(SETCC(x,y), N)
  simplify TRUNC(SETCC(x,y), N)
  simplify AND(SETCC(x,y), M)

 linearize.c                              |  42 +++-
 simplify.c                               |  52 ++++-
 validation/linear/call-complex-pointer.c |  10 +-
 validation/linear/logical.c              | 259 +++++++++++++++++++++++
 validation/loop-linearization.c          |  44 ++--
 validation/optim/bool-simplify.c         |   9 +-
 validation/optim/call-inlined.c          |   4 +-
 validation/optim/mask1-setne0.c          |  28 +++
 validation/optim/setcc-mask.c            |  18 ++
 validation/optim/setne0-sext.c           |   9 +
 validation/optim/setne0-trunc.c          |   9 +
 validation/optim/setne0-zext.c           |   9 +
 validation/optim/trunc-seteq0.c          |  18 ++
 validation/optim/trunc-setne0.c          |  20 ++
 14 files changed, 488 insertions(+), 43 deletions(-)
 create mode 100644 validation/linear/logical.c
 create mode 100644 validation/optim/mask1-setne0.c
 create mode 100644 validation/optim/setcc-mask.c
 create mode 100644 validation/optim/setne0-sext.c
 create mode 100644 validation/optim/setne0-trunc.c
 create mode 100644 validation/optim/setne0-zext.c
 create mode 100644 validation/optim/trunc-seteq0.c
 create mode 100644 validation/optim/trunc-setne0.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