From: Jeff Garzik <jeff@garzik.org>
To: Pekka Enberg <penberg@kernel.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>,
Sparse Mailing-list <linux-sparse@vger.kernel.org>
Subject: Re: [PATCH] Re: LLVM and PSEUDO_REG/PSEUDO_PHI
Date: Sun, 28 Aug 2011 06:04:15 -0400 [thread overview]
Message-ID: <4E5A129F.1090801@garzik.org> (raw)
In-Reply-To: <alpine.DEB.2.00.1108280815530.2734@localhost6.localdomain6>
On 08/28/2011 01:16 AM, Pekka Enberg wrote:
> On Sat, 27 Aug 2011, Jeff Garzik wrote:
>> OK, I lied. Function call support (OP_CALL) sent your way via github
>> pull request.
>
> Pulled, thanks!
(added list to CC)
Just sent another, tiny pull req. That's it for tonight.
Random thoughts / backend status:
* it will soon be necessary to pay more attention to target-specific
details. we need some mechanism for specifying i386, x86-64, etc. so
that we may fill in bits_in_pointer and similar values properly. This
may involve some sparse hacking IIRC, because sparse (used to be?)
largely hardcoded to use i386 target values when checking. Or maybe
this is already done, and I just am ignorant of that area of the code.
* playing with some simple loop test cases, we are blocked on properly
listing out all phi's in an OP_PHI. sparse correctly sends us
OP_PHISOURCE, and test-linearize output looks good, but if the phisrc is
from a succeeding basic block, we may lack 'priv' necessary to fill in
LLVMValueRef required by LLVM phi machinery.
* my development workflow is very simple. create testcase; look at
test-linearize output; observe how linearize.c's show_instruction() and
show_pseudo() walk their data structures; copy this into sparse-llvm.
* it would be nice to get "printf(hello world)" working all the way
through sparsec.
* need to start integrating struct support. LLVM has a type system
where one defines data structures in the IR, then uses 'getelementptr'
LLVM instruction to build addresses for complex load/store operations.
The Linux kernel uses a lot of function calls (indirect branches) from
values buried deep within a struct.
next parent reply other threads:[~2011-08-28 10:04 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <4E5495C9.6050207@kernel.org>
[not found] ` <CA+55aFwLLn30qohqJeBZLVUYWLKUnbBxnL9u+v=4Fx8TpxDQUQ@mail.gmail.com>
[not found] ` <4E55F33C.50203@kernel.org>
[not found] ` <CAOJsxLF-=mPSdKLwmc61ZRTQrLGjPTUwVw+PqabYvGKVRwh9sQ@mail.gmail.com>
[not found] ` <CAOJsxLFMz7fs4ySkizHk43a0fz9VKS5ReWXoJa8cy2AQ6iwRng@mail.gmail.com>
[not found] ` <CA+55aFywG3vBA87W2h1f=-H144MTZesEwp5jVu8ndyBfLX7Sbg@mail.gmail.com>
[not found] ` <alpine.DEB.2.00.1108252046090.6272@localhost6.localdomain6>
[not found] ` <CA+55aFxRkS4HLeW18-q+4Co7kRdiQBv4wnD=GX5ymAGigXR3MQ@mail.gmail.com>
[not found] ` <alpine.DEB.2.00.1108252107210.6272@localhost6.localdomain6>
[not found] ` <4E58731A.7010708@garzik.org>
[not found] ` <alpine.DEB.2.00.1108271104440.2570@localhost6.localdomain6>
[not found] ` <4E58AE9E.1090601@garzik.org>
[not found] ` <4E59478C.9000504@garzik.org>
[not found] ` <alpine.DEB.2.00.1108280815530.2734@localhost6.localdomain6>
2011-08-28 10:04 ` Jeff Garzik [this message]
2011-08-28 10:18 ` [PATCH] Re: LLVM and PSEUDO_REG/PSEUDO_PHI Jeff Garzik
2011-08-29 14:45 ` Pekka Enberg
2011-08-28 17:04 ` Linus Torvalds
2011-08-28 17:52 ` Josh Triplett
2011-08-28 18:23 ` Linus Torvalds
2011-08-28 19:33 ` Jeff Garzik
2011-08-31 12:09 ` Pekka Enberg
2011-08-28 19:31 ` Jeff Garzik
2011-08-28 19:46 ` Linus Torvalds
2011-08-29 14:42 ` Pekka Enberg
2011-08-29 15:14 ` Jeff Garzik
2011-08-29 16:16 ` Josh Triplett
[not found] ` <alpine.DEB.2.00.1108252310490.22479@localhost6.localdomain6>
[not found] ` <CA+55aFy3TUT=BFD+Nb9H6uDBhz427kC4tBc+ehQDs6JBggTuHQ@mail.gmail.com>
[not found] ` <4E573A3E.6060104@kernel.org>
[not found] ` <CA+55aFzbV0OvrtkzbjxvL1tkfF=+6xbBsyWb8XtAcK-YNeKjZw@mail.gmail.com>
[not found] ` <alpine.DEB.2.00.1108271214410.14365@localhost6.localdomain6>
[not found] ` <CA+55aFzbfD4RDe52HCL9mfSYMzFdvP96OiK5ifkfUKNkzjJNrg@mail.gmail.com>
2011-08-29 19:45 ` Pekka Enberg
2011-08-29 19:52 ` Jeff Garzik
2011-08-29 20:32 ` Linus Torvalds
2011-08-29 20:42 ` Pekka Enberg
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=4E5A129F.1090801@garzik.org \
--to=jeff@garzik.org \
--cc=linux-sparse@vger.kernel.org \
--cc=penberg@kernel.org \
--cc=torvalds@linux-foundation.org \
/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 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.