Index of values


A
access_array [Gccjit.LValue]
Given an rvalue of pointer type T *, get at the element T at the given index, using standard C array indexing rules i.e.
access_field [Gccjit.LValue]
access_field [Gccjit.RValue]
address [Gccjit.LValue]
Taking the address of an Gccjit.lvalue; analogous to &(EXPR) in C.
array [Gccjit.Type]
Given type T, get type T[N] (for a constant N).
assign [Gccjit.Block]
Add evaluation of an Gccjit.rvalue, assigning the result to the given Gccjit.lvalue.
assign_op [Gccjit.Block]
Add evaluation of an Gccjit.rvalue, using the result to modify an Gccjit.lvalue.

B
binary_op [Gccjit.RValue]
Build a binary operation out of two constituent rvalues.
builtin [Gccjit.Function]
Create a reference to a builtin function (sometimes called intrinsic functions).

C
call [Gccjit.RValue]
Given a function and the given table of argument rvalues, construct a call to the function, with the result as an Gccjit.rvalue.
cast [Gccjit.RValue]
Given an Gccjit.rvalue of T, construct another Gccjit.rvalue of another type.
code [Gccjit.Result]
Locate a given function within the built machine code.
comment [Gccjit.Block]
Add a no-op textual comment to the internal representation of the code.
comparison [Gccjit.RValue]
Build a boolean Gccjit.rvalue out of the comparison of two other rvalues.
compile [Gccjit.Context]
This calls into GCC and builds the code, returning a Gccjit.result.
compile_to_file [Gccjit.Context]
Compile the context to a file of the given kind.
cond_jump [Gccjit.Block]
Terminate a block by adding evaluation of an rvalue, branching on the result to the appropriate successor block.
const [Gccjit.Type]
Given type T, get type const T.
create [Gccjit.Location]
Create a Gccjit.location instance representing the given source location.
create [Gccjit.Block]
Create a block.
create [Gccjit.Function]
Create a function with the given name and parameters.
create [Gccjit.Param]
In preparation for creating a function, create a new parameter of the given type and name.
create [Gccjit.Struct]
Create a struct type, with the given name and fields.
create [Gccjit.Field]
Create a field, with the given type and name.
create [Gccjit.Context]
Creates a new Gccjit.context instance, which is independent of any others that may be present within this process.
create_child [Gccjit.Context]
Given an existing JIT context, create a child context.

D
deref [Gccjit.LValue]
Dereferencing a pointer; analogous to *(EXPR) in C.
deref_field [Gccjit.LValue]
Accessing a field of an rvalue of pointer type, analogous (EXPR)->field in C, itself equivalent to (\*EXPR).FIELD
double [Gccjit.RValue]
Given a numeric type (integer or floating point), build an Gccjit.rvalue for the given constant double value.
dump_dot [Gccjit.Function]
Emit the function in graphviz format to the given path.
dump_reproducer_to_file [Gccjit.Context]
Write C source code into path that can be compiled into a self-contained executable (i.e.
dump_to_file [Gccjit.Context]
Dump a C-like representation to the given path, describing what's been set up on the context.

E
eval [Gccjit.Block]
Add evaluation of an Gccjit.rvalue, discarding the result (e.g.

F
function_ptr [Gccjit.Type]

G
get [Gccjit.Type]
Access a standard type.
global [Gccjit.Result]
Locate a given global within the built machine code.
global [Gccjit.LValue]
Add a new global variable of the given type and name to the context.

I
indirect_call [Gccjit.RValue]
Call through a function pointer.
int [Gccjit.RValue]
Given a numeric type (integer or floating point), build an Gccjit.rvalue for the given constant int value.
int [Gccjit.Type]
Get the integer type of the given size and signedness.

J
jump [Gccjit.Block]
Terminate a block by adding a jump to the given target block.

L
local [Gccjit.Function]
Add a new local variable within the function, of the given type and name.
lvalue [Gccjit.RValue]

N
null [Gccjit.RValue]
Given a pointer type, build an Gccjit.rvalue for NULL.

O
one [Gccjit.RValue]
Given a numeric type (integer or floating point), get the Gccjit.rvalue for one.
opaque [Gccjit.Struct]
Construct a new struct type, with the given name, but without specifying the fields.

P
param [Gccjit.Function]
Get a specific param of a function by index (0-based).
param [Gccjit.LValue]
param [Gccjit.RValue]
parent [Gccjit.Block]
Which function is this block within?
pointer [Gccjit.Type]
Given type T, get type T*
ptr [Gccjit.RValue]
Given a pointer type, build an Gccjit.rvalue for the given address.

R
release [Gccjit.Result]
Once we're done with the code, this unloads the built .so file.
release [Gccjit.Context]
Releases all resources associated with the given context.
return [Gccjit.Block]
Terminate a block by adding evaluation of an Gccjit.rvalue, returning the value.
return_void [Gccjit.Block]
Terminate a block by adding a valueless return, for use within a function with void return type.

S
set_fields [Gccjit.Struct]
Populate the fields of a formerly-opaque struct type.
set_logfile [Gccjit.Context]
set_logfile ctx logfile enable ongoing logging of the context ctx's activity to the given file descriptor logfile.
set_option [Gccjit.Context]
set_option ctx opt v sets the Gccjit.Context.context_option opt of ctx to v.
string_literal [Gccjit.RValue]
Generate an Gccjit.rvalue for the given NIL-terminated string, of type Const_char_ptr.
struct_ [Gccjit.Type]

T
to_string [Gccjit.Location]
Get a human-readable description of this object.
to_string [Gccjit.Block]
Get a human-readable description of this object.
to_string [Gccjit.Function]
Get a human-readable description of this object.
to_string [Gccjit.Param]
Get a human-readable description of this object.
to_string [Gccjit.LValue]
Get a human-readable description of this object.
to_string [Gccjit.RValue]
Get a human-readable description of this object.
to_string [Gccjit.Type]
Get a human-readable description of this object.
to_string [Gccjit.Struct]
Get a human-readable description of this object.
to_string [Gccjit.Field]
Get a human-readable description of this object.
type_of [Gccjit.RValue]
Get the type of this Gccjit.rvalue.

U
unary_op [Gccjit.RValue]
Build a unary operation out of an input Gccjit.rvalue.
union [Gccjit.Type]
Unions work similarly to structs.

V
volatile [Gccjit.Type]
Given type T, get type volatile T.

Z
zero [Gccjit.RValue]
Given a numeric type (integer or floating point), get the Gccjit.rvalue for zero.