public inbox for jit@gcc.gnu.org
 help / color / mirror / Atom feed
* Re: alloca and labels as values
@ 2018-01-01  0:00 Marc Nieper-Wißkirchen
  2018-01-01  0:00 ` David Malcolm
  0 siblings, 1 reply; 5+ messages in thread
From: Marc Nieper-Wißkirchen @ 2018-01-01  0:00 UTC (permalink / raw)
  To: jit

> > Is `alloca' currently  possible with libgccjit? I haven't found
 > > anything
 > > about it in the documentation. If it isn't possible at the moment,
 > > I'd
 > > love to see it added to libgccjit very soon. (One use case would be
 > > a
 > > compiler like the Chicken Scheme compiler that employs Cheney-on-the-
 > > MTA
 > > where the youngest heap generation is allocated on the stack.)
 >
 > I haven't tested this, but I believe you ought to be able to access it
 > via the "__builtin_alloca" builtin, via something like:
 >
 >
 > gcc_jit_function *fn_alloca
 >   = gcc_jit_context_get_builtin_function (ctxt, "__builtin_alloca");
 >
 >
 > gcc_jit_rvalue *call =
 >         gcc_jit_context_new_call (ctxt,
 >                                   loc,
 >                                   fn_alloc_a,
 >                                   1, &size_t_arg);
 >
 >  gcc_jit_block_add_assignment (block, loc,
 >                                dst_lvalue,
 >                                call);
 >
 > ...or something like that.


That was helpful; thank you very much. I overlooked the procedure 
`gcc_jit_context_get_builtin_function' in the documentation. Is there a 
way to determine which builtins are supported by a specific version of 
the library or would I have to add a few scripts to my project's 
`configure.ac <http://configure.ac>' myself?

-- Marc

P.S.: Another thing I wasn't able to find so far was how to declare 
variables as thread local (i.e. GCC's __thread or C11's thread_local).

^ permalink raw reply	[flat|nested] 5+ messages in thread
* alloca and labels as values
@ 2018-01-01  0:00 Marc Nieper-Wißkirchen
  2018-01-01  0:00 ` David Malcolm
  0 siblings, 1 reply; 5+ messages in thread
From: Marc Nieper-Wißkirchen @ 2018-01-01  0:00 UTC (permalink / raw)
  To: jit

Hi,

let me first say that libgccjit is a great project and that I like the 
API very much!

Is `alloca' currently possible with libgccjit? I haven't found anything 
about it in the documentation. If it isn't possible at the moment, I'd 
love to see it added to libgccjit very soon. (One use case would be a 
compiler like the Chicken Scheme compiler that employs Cheney-on-the-MTA 
where the youngest heap generation is allocated on the stack.)

Another thing that may be missing is label values as implemented by the 
GCC C/C++ frontends.

Thanks!

Marc

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2019-01-12 14:08 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-01-01  0:00 alloca and labels as values Marc Nieper-Wißkirchen
2018-01-01  0:00 ` David Malcolm
2019-01-01  0:00   ` Marc Nieper-Wißkirchen
2018-01-01  0:00 Marc Nieper-Wißkirchen
2018-01-01  0:00 ` David Malcolm

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).