Gccjit.Block
Create a block. You can give it a meaningful name, which may show up in dumps of the internal representation, and in error messages.
Add evaluation of an rvalue
, discarding the result (e.g. a function call that returns void). This is equivalent to this C code:
(void)expression;
Add a no-op textual comment to the internal representation of the code. It will be optimized away, but will be visible in the dumps seen via Dump_initial_tree
and Dump_initial_gimple
and thus may be of use when debugging how your project's internal representation gets converted to the libgccjit
IR.
Terminate a block by adding evaluation of an rvalue, branching on the result to the appropriate successor block. This is roughly equivalent to this C code:
if (boolval)
goto on_true;
else
goto on_false;
Terminate a block by adding a jump to the given target block. This is roughly equivalent to this C code:
goto target;
Terminate a block by adding evaluation of an rvalue
, returning the value. This is roughly equivalent to this C code:
return expression;
Terminate a block by adding a valueless return, for use within a function with void
return type. This is equivalent to this C code:
return;
val to_string : block -> string
Get a human-readable description of this object.