public inbox for jit@gcc.gnu.org
 help / color / mirror / Atom feed
From: Dibyendu Majumdar <mobile@majumdar.org.uk>
To: jit@gcc.gnu.org
Subject: Basic blocks, jump targets and locals
Date: Thu, 01 Jan 2015 00:00:00 -0000	[thread overview]
Message-ID: <CACXZuxe2GDhN+cPdG4jopq11ZibU6qW5pL==AgahNbEJB1vwoA@mail.gmail.com> (raw)

Hi,

In LLVM the IRBuilder has the concept of a current block where
instructions are inserted. Reading the libgccjit docs I think that
there is no notion of current block - i.e. this needs to be maintained
by the caller - is that correct?

Can one create several blocks in advance - and set a block that is not
yet inserted into the function as the target for a jump? The scenario
is this: when compiling Lua bytecode I already know all the jump
targets. So I pre-create all the basic blocks that relate to the jump
targets up front - and as each jump is encountered I can easily set
the jump target to the right block. As and when I cross the bytecode
that is a jump target the block gets added to the function.

I hope above is clear - if not I can explain by an example.

Can I do something similar with libgccjit?

Finally - how are local variable related to blocks. In LLVM one has to
create the local vars in the entry block of the function. Is it the
same with libgccjit?

Thanks and Regards
Dibyendu

             reply	other threads:[~2015-06-11 20:26 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-01-01  0:00 Dibyendu Majumdar [this message]
2015-01-01  0:00 ` David Malcolm
2015-01-01  0:00   ` David Malcolm
2015-01-01  0:00     ` Dibyendu Majumdar
2015-01-01  0:00   ` Dibyendu Majumdar
2015-01-01  0:00     ` David Malcolm
2015-01-01  0:00       ` Dibyendu Majumdar
2015-01-01  0:00   ` Dibyendu Majumdar

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='CACXZuxe2GDhN+cPdG4jopq11ZibU6qW5pL==AgahNbEJB1vwoA@mail.gmail.com' \
    --to=mobile@majumdar.org.uk \
    --cc=jit@gcc.gnu.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 read-only IMAP folder(s) and NNTP newsgroup(s).