linux-sparse.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: David Given <dg@cowlark.com>
To: linux-sparse@vger.kernel.org
Subject: Re: Writing compilers, and example.c vs compile-i386.c
Date: Tue, 24 Jun 2008 14:29:05 +0100	[thread overview]
Message-ID: <4860F6A1.7050701@cowlark.com> (raw)
In-Reply-To: <70318cbf0806201840k18a51f94rcaa413b36fcfbbea@mail.gmail.com>

Christopher Li wrote:
[...]
> I agree we should probability make the ctype into instruction so
> make the back end easier.

That would be nice; in order to find the type of a pseudo that resulted 
from an instruction, I have to recurse back through *that* instructions' 
operands. This seems rather heavyweight.

In fact, because I need to associate a fair bit of data with each 
pseudo, I then cache the type information in the pseudo's user data 
structure, which for now is stored in an AVL tree keyed of the pseudo's 
address (there is no overkill; there is only 'open fire!' and 
'reload!'). May I put in a request for a user field on every sparse data 
structure, for doing this sort of thing, please?

Which brings me to my next question: while I'm now successfully 
compiling some code, including loops, I'm having trouble with other 
code. In particular, it would appear that now and again a bb will export 
a pseudo using one storage, and another bb will import the same pseudo 
but using a *different* storage. This is making it rather hard for me to 
correctly wire up the interconnects between basic blocks. Currently I'm 
working around this using data stored in my user data structure 
described above, but I suspect there's another thing here I'm not 
getting. What's the recommended strategy here?

(Incidentally, thanks for the help you've been giving me; it's been 
aiding me substantially.)

-- 
David Given
dg@cowlark.com

      reply	other threads:[~2008-06-24 13:29 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-06-16 23:04 Writing compilers, and example.c vs compile-i386.c David Given
2008-06-16 23:50 ` Mike Frysinger
2008-06-17  0:49 ` Christopher Li
2008-06-17 23:35   ` David Given
2008-06-18  0:41     ` Christopher Li
2008-06-20 23:46       ` David Given
2008-06-21  1:40         ` Christopher Li
2008-06-24 13:29           ` David Given [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=4860F6A1.7050701@cowlark.com \
    --to=dg@cowlark.com \
    --cc=linux-sparse@vger.kernel.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).