From: Pekka Enberg <penberg@kernel.org>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Jeff Garzik <jeff@garzik.org>, linux-sparse@vger.kernel.org
Subject: Re: LLVM and PSEUDO_REG/PSEUDO_PHI
Date: Mon, 29 Aug 2011 23:42:37 +0300 [thread overview]
Message-ID: <CAOJsxLFciLwdu1cBd9LO77U-9P+3e7agYYd8tV1qCf_4HeWGVg@mail.gmail.com> (raw)
In-Reply-To: <CA+55aFw1rzBG42oDz8PajG78CeuKyRBZW+vFwmE5e2XEtcFDfw@mail.gmail.com>
On Mon, Aug 29, 2011 at 12:45 PM, Pekka Enberg <penberg@kernel.org> wrote:
>> However, i'm not 100% sure that's sufficient. Is OP_CAST always zero-extend
>> or do we need to check for something specific here?
On Mon, Aug 29, 2011 at 11:32 PM, Linus Torvalds
<torvalds@linux-foundation.org> wrote:
> OP_CAST is always a zero-extend, OP_SCAST is a sign-extending one.
>
> (Of course, they may be *truncating* casts too, which don't need to
> generate any code on most architectures).
>
> OP_PTRCAST should act as OP_CAST.
OK, makes perfect sense. We don't support OP_SCAST or OP_PTRCAST yet
so those should be fine. I fixed OP_CAST like this:
https://github.com/penberg/sparse-llvm/commit/2dea6f7fb07cd18255cf1d73079638dc96bdd08b
So comparison operators should be OK now.
On Mon, Aug 29, 2011 at 11:32 PM, Linus Torvalds
<torvalds@linux-foundation.org> wrote:
> NOTE! The casting is dubious. We only have a single OP_FPCAST, for
> example, and that's just broken. Right now "OP_FPCAST" means that the
> *source* was a FP value. But if we cast *to* a FP value, it ends up
> showing up as OP_[S]CAST, which is just bogus. The FPCAST should be
> for any FP operation (to or from or both), and then the FPCAST logic
> would have to decide how it handles it.
>
> The FP support in general is pretty weak. The kernel doesn't do FP, I
> never really cared about it.
Good to know. I've added support for simple FP ops though and they
seem to be fine.
Pekka
prev parent reply other threads:[~2011-08-29 20:42 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 ` [PATCH] Re: LLVM and PSEUDO_REG/PSEUDO_PHI Jeff Garzik
2011-08-28 10:18 ` 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 [this message]
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=CAOJsxLFciLwdu1cBd9LO77U-9P+3e7agYYd8tV1qCf_4HeWGVg@mail.gmail.com \
--to=penberg@kernel.org \
--cc=jeff@garzik.org \
--cc=linux-sparse@vger.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 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).