From: Luc Van Oostenryck <luc.vanoostenryck@gmail.com>
To: linux-sparse@vger.kernel.org
Cc: Dibyendu Majumdar <mobile@majumdar.org.uk>,
Luc Van Oostenryck <luc.vanoostenryck@gmail.com>
Subject: [WIP 00/13] LLVM fixes
Date: Sun, 5 Mar 2017 12:20:34 +0100 [thread overview]
Message-ID: <20170305112047.3411-1-luc.vanoostenryck@gmail.com> (raw)
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
next reply other threads:[~2017-03-05 11:30 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-03-05 11:20 Luc Van Oostenryck [this message]
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
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20170305112047.3411-1-luc.vanoostenryck@gmail.com \
--to=luc.vanoostenryck@gmail.com \
--cc=linux-sparse@vger.kernel.org \
--cc=mobile@majumdar.org.uk \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).