All of lore.kernel.org
 help / color / mirror / Atom feed
* [WIP 00/13] LLVM fixes
@ 2017-03-05 11:20 Luc Van Oostenryck
  2017-03-05 11:20 ` [PATCH 01/13] llvm: add a helper to convert an integer to a ValueRef Luc Van Oostenryck
                   ` (13 more replies)
  0 siblings, 14 replies; 37+ messages in thread
From: Luc Van Oostenryck @ 2017-03-05 11:20 UTC (permalink / raw)
  To: linux-sparse; +Cc: Dibyendu Majumdar, Luc Van Oostenryck

This series solves a number of issues in sparse-llvm,
mainly about wrong type information as needed for LLVM
or simply the lack of these infos.
These issues have been reported and investigated by
Dibyendu Majumdar.

These patches have been lightly tested and already
allow to compile a lot more code to LLVM.
It's still incomplete though:
- it won't work on bitfields
- it won't work on computed gotos
- it won't work on label-as-value
- it won't work on exotic instructions (OP_SPLICE)
- few things are working correctly with floats
  (but this is not specific to sparse-llvm).
There is most probably a bunch of others issues too.

For testing purpose this serie is also available at:
  https://github.com/lucvoo/sparse/tree/llvm-fixes-v0


Luc Van Oostenryck (13):
  llvm: add a helper to convert an integer to a ValueRef
  llvm: fix translation of PSEUDO_VALs into a ValueRefs
  llvm: fix output_op_store() which modify its operand
  llvm: fix output_op_[ptr]cast()
  add get_nth1_arg()
  llvm: fix type of literal integer passed as arguments
  llvm: fix output OP_ADD mixed with pointers
  llvm: add support for OP_NEG
  give a type to OP_PHISOURCE
  give a type to OP_SEL, always
  llvm: remove unneeded arg 'module'
  llvm: remove unneeded arg 'fn'
  llvm: fix: do not mix pointers and floats when doing compares

 flow.c                        |   2 +-
 linearize.c                   |  18 ++--
 linearize.h                   |   2 +-
 memops.c                      |   2 +-
 sparse-llvm.c                 | 187 +++++++++++++++++++++++++++++++-----------
 symbol.h                      |  13 +++
 validation/backend/null.c     |  24 ++++++
 validation/backend/store-x2.c |  16 ++++
 8 files changed, 203 insertions(+), 61 deletions(-)
 create mode 100644 validation/backend/null.c
 create mode 100644 validation/backend/store-x2.c

-- 
2.11.1


^ permalink raw reply	[flat|nested] 37+ messages in thread

end of thread, other threads:[~2017-03-10 17:47 UTC | newest]

Thread overview: 37+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-03-05 11:20 [WIP 00/13] LLVM fixes Luc Van Oostenryck
2017-03-05 11:20 ` [PATCH 01/13] llvm: add a helper to convert an integer to a ValueRef Luc Van Oostenryck
2017-03-05 11:20 ` [PATCH 02/13] llvm: fix translation of PSEUDO_VALs into a ValueRefs Luc Van Oostenryck
2017-03-07 15:11   ` Christopher Li
2017-03-07 16:18     ` Luc Van Oostenryck
2017-03-07 22:48       ` Christopher Li
2017-03-05 11:20 ` [PATCH 03/13] llvm: fix output_op_store() which modify its operand Luc Van Oostenryck
2017-03-05 11:20 ` [PATCH 04/13] llvm: fix output_op_[ptr]cast() Luc Van Oostenryck
2017-03-05 11:20 ` [PATCH 05/13] add get_nth1_arg() Luc Van Oostenryck
2017-03-06 14:40   ` Christopher Li
2017-03-06 16:52     ` Luc Van Oostenryck
2017-03-05 11:20 ` [PATCH 06/13] llvm: fix type of literal integer passed as arguments Luc Van Oostenryck
2017-03-06 14:56   ` Christopher Li
2017-03-07 15:33   ` Christopher Li
2017-03-07 16:21     ` Luc Van Oostenryck
2017-03-07 19:41     ` Dibyendu Majumdar
2017-03-10 16:08       ` Dibyendu Majumdar
2017-03-10 17:47         ` Luc Van Oostenryck
2017-03-05 11:20 ` [PATCH 07/13] llvm: fix output OP_ADD mixed with pointers Luc Van Oostenryck
2017-03-06 15:16   ` Christopher Li
2017-03-06 15:32     ` Dibyendu Majumdar
2017-03-06 16:22       ` Christopher Li
2017-03-06 16:43         ` Luc Van Oostenryck
2017-03-06 17:06           ` Dibyendu Majumdar
2017-03-06 19:50             ` Luc Van Oostenryck
2017-03-06 17:07           ` Christopher Li
2017-03-06 19:52             ` Luc Van Oostenryck
2017-03-06 21:15             ` [PATCH v2] " Luc Van Oostenryck
2017-03-06 18:17           ` [PATCH 07/13] " Linus Torvalds
2017-03-06 20:09             ` Luc Van Oostenryck
2017-03-05 11:20 ` [PATCH 08/13] llvm: add support for OP_NEG Luc Van Oostenryck
2017-03-05 11:20 ` [PATCH 09/13] give a type to OP_PHISOURCE Luc Van Oostenryck
2017-03-05 11:20 ` [PATCH 10/13] give a type to OP_SEL, always Luc Van Oostenryck
2017-03-05 11:20 ` [PATCH 11/13] llvm: remove unneeded arg 'module' Luc Van Oostenryck
2017-03-05 11:20 ` [PATCH 12/13] llvm: remove unneeded arg 'fn' Luc Van Oostenryck
2017-03-05 11:20 ` [PATCH 13/13] llvm: fix: do not mix pointers and floats when doing compares Luc Van Oostenryck
2017-03-06  1:47 ` [WIP 00/13] LLVM fixes Christopher Li

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.