Index of values


(%:) [Hlvm.Expr]
(&&:) [Hlvm.Expr]
(*:) [Hlvm.Expr]
(+:) [Hlvm.Expr]
(-:) [Hlvm.Expr]
(/:) [Hlvm.Expr]
(<--) [Hlvm]
(<:) [Hlvm.Expr]
Helper operators.
(<=:) [Hlvm.Expr]
(<>:) [Hlvm.Expr]
(=:) [Hlvm.Expr]
(>:) [Hlvm.Expr]
(>=:) [Hlvm.Expr]
(||:) [Hlvm.Expr]
(~-:) [Hlvm.Expr]

A
add_val [Hlvm]
Bind a new variable.
alloc [Hlvm.Extern]
allocated [Hlvm]
The allocated list is an array of reference types.
allocated_mutex [Hlvm]
apply [Test]
Apply a closure.
apply_tail [Hlvm.Expr]
arith_to_string [Hlvm.Expr]
arr [Hlvm.Seq]
Extract internal array from sequence.
atomic [Test]
Increment an atomic counter from two threads simultaneously.

B
between [Hlvm.List]
boot [Hlvm]
bubble_sort [Test]
Bubble sort floating point numbers.

C
cc [Hlvm]
Default calling convention used by HLVM.
cmp_to_string [Hlvm.Expr]
compile_only [Hlvm.Options]
Compile without evaluating.
compound [Hlvm.Expr]
cond_list [Test]
Pattern match over empty or non-empty list.
cons [Test]
count [Hlvm.Seq]
Number of elements in a sequence.
count [Hlvm.Expr]
create_mutex [Hlvm.Extern]
create_thread [Hlvm.Extern]
curry [Test]
Test curried function application with a uniform representation of closure environments.

D
d2Printf [Hlvm.Expr]
dPrintf [Hlvm.Expr]
data [Hlvm.Ref]
Index of the field containing the pointer to allocated data.
debug [Hlvm.Options]
Global boolean to enable debug output in both the compiler and the generated code.
def [Hlvm]
Compile a top-level definition.
def_print [Hlvm]
Define a function to print a boxed value.
def_print_array [Hlvm]
Define a function to print an array.
def_visit [Hlvm]
Define a function to traverse a reference.
def_visit_array [Hlvm]
Define a function that visits every value of a reference type in an array.
defun [Hlvm]
Define a function with the given calling convention, name, arguments and return type using the function argument "k" to fill in the body of the defined function.
dlfn [Hlvm.Extern]
dlopen [Hlvm.Extern]
LLVM declaration of libdl's dlopen function.
dlsym [Hlvm.Extern]
LLVM declaration of libdl's dlsym function.
double_type [Hlvm]

E
ee [Hlvm]
Global LLVM execution engine.
empty [Hlvm.Seq]
Construct an empty sequence.
enable_tail_call_opt [Hlvm]
Binding to a function that enables TCO in LLVM.
enter_blocking_section [Hlvm]
eq [Hlvm.ThreadLocal]
eq [Hlvm.Type]
eval [Hlvm]
Evaluate a statement, updating the bound variables.
eval_functions [Hlvm]
List of functions that have been evaluated.
exit [Hlvm.Extern]
LLVM declaration of C's exit function.
expr [Hlvm]
Compile an expression in the context of current vars into the given LLVM state.
expr2 [Hlvm]
Compile two expressions.
expr3 [Hlvm]
Compile three expressions.
expr_aux [Hlvm]
exprs [Hlvm]
Compile a list of expressions.
extractvalue [Hlvm]

F
ffib [Test]
Float-based Fibonacci benchmark
fib [Test]
Integer Fibonacci benchmark
fill [Test]
fill [Hlvm]
Define a function to fill an array of the given type.
find [Hlvm]
Search for a binding and give a comprehensible error if it is not found.
find_type [Hlvm]
Search for a type with the given name from the
float64 [Hlvm]
Create an LLVM 64-bit float.
float_type [Hlvm]
fold [Test]
Create and fold over a large array.
free [Hlvm.Extern]
free [Hlvm.ThreadLocal]
free [Hlvm.Seq]
Deallocate a sequence.
function_type_of [Hlvm]
Representation of function pointers.
functions [Hlvm]
Container of internal functions such as visitors to traverse the heap.

G
gc [Test]
Hash table benchmark derived from HLVM's original GC.
gc_alloc [Hlvm]
Register an allocated value if necessary.
gc_check [Hlvm]
gc_enabled [Hlvm.Options]
Allow the GC to be disabled.
gc_push [Hlvm]
gc_restore [Hlvm]
Restore the shadow stack by resetting its depth to an older value.
gc_root [Hlvm]
Register all reference types in the given value as live roots for the GC.
get [Hlvm.Seq]
Fetch element at index in a sequence.
get_stack [Hlvm]
Get pointers to the stack depth and stack.
get_thread_local [Hlvm.Extern]

I
i1_type [Hlvm]
i32_type [Hlvm]
i64_type [Hlvm]
i8_type [Hlvm]
init [Hlvm.Extern]
init [Hlvm.ThreadGlobal]
init [Hlvm.List]
init [Hlvm]
Dynamically load the runtime and initialize the shadow stack and GC.
init_type [Hlvm]
Compile and run code to initialize the contents of a new type.
int [Hlvm]
Create an LLVM native int.
int32 [Hlvm]
Create an LLVM 32-bit int.
int8 [Hlvm]
Create an LLVM 8-bit int.
int_type [Hlvm]
Type of a native int.
internal_ty [Hlvm.ThreadLocal]
is_leaf [Hlvm.Expr]
is_ref_type [Hlvm]
Is the given type a reference type.
is_struct [Hlvm]
Is the given type represented by a struct.
iteri [Hlvm.List]

J
join_thread [Hlvm.Extern]

L
leave_blocking_section [Hlvm]
list [Test]
Initialize and fold over a long linked list.
list [Hlvm.ThreadGlobal]
list_filter [Test]
list_fold_left [Test]
Polymorphic List.fold_left in HLVM.
list_length [Test]
list_to_string [Hlvm.Expr]
list_to_string [Hlvm.Type]
llcontext [Hlvm]
llty [Hlvm.Ref]
Index of the field containing the pointer to the run-time type.
llty_null [Hlvm]
lltype [Hlvm.RTType]
The lltype of our run-time types.
lltype [Hlvm.Ref]
Run-time representation of values of reference types as an LLVM type.
lltype_of [Hlvm]
Convert a type from our type system into LLVM's type system.
load_fns [Hlvm.Extern]
Initialize all of the dynamically-loaded functions.
load_list [Hlvm.ThreadGlobal]
load_state [Hlvm.ThreadGlobal]
load_state [Hlvm.ThreadLocal]
lock [Hlvm.ThreadGlobal]
lock [Hlvm.Expr]
lockMutex [Hlvm]
lock_mutex [Hlvm.Extern]
logic_to_string [Hlvm.Expr]

M
m [Hlvm]
Global LLVM module.
make [Hlvm.ThreadLocal]
Allocate new thread local state.
mandelbrot [Test]
Render the Mandelbrot set with inlined complex arithmetic.
mandelbrot2 [Test]
Render the Mandelbrot set without inlined arithmetic operations on complex numbers as structs.
mapi [Hlvm.List]
mark [Hlvm.Ref]
Index of the field containing the pointer to the mark bit.
mark_time [Hlvm]
LLVM global to store the total time spent in the mark phase.
max_depth [Hlvm.Options]
Maximum depth of the shadow stacks, visit stack and allocated list.
mk [Hlvm.Ref]
Construct a reference type with the given run-time type, metadata and allocated data.
mk_array_type [Hlvm]
Create and memoize an array type.
mk_fun [Hlvm]
Create and memoize a function.
mk_state [Hlvm]
Create a state object and save the current shadow stack depth.
mk_string [Hlvm]
Memoize a string.
mk_struct [Hlvm]
Create an aggregate register (a struct) containing the given llvalues.
mk_type [Hlvm]
Create and memoize a reference type.
mp [Hlvm]
Global LLVM module provider.
mutex [Hlvm.ThreadGlobal]
mutex_of [Hlvm.ThreadLocal]

N
n_allocated [Hlvm]
Number of allocated references.
n_visit [Hlvm]
Number of unvisited references on the visit stack.
nest [Hlvm.Expr]
nil [Test]
null [Hlvm]
LLVM representation of the NULL pointer.
null_of [Hlvm]
Create a default value of the given type.

P
print [Hlvm.RTType]
print_type_of [Hlvm]
printf [Hlvm.Extern]
LLVM declaration of C's printf function.
push [Hlvm.Seq]
Append an element to a sequence.
push [Hlvm]
Push a reference type onto the shadow stack.
putchar [Hlvm.Extern]
LLVM declaration of C's putchar function.

Q
queens [Test]
Solve the n-queens problem using linked lists.
quota [Hlvm]
Number of allocations required to incur a garbage collection.

R
remove_at [Hlvm.Seq]
return [Hlvm]
Compile an expression and return from it, marking any calls in tail position as tail calls.
rewrite [Hlvm.Expr]
Apply the given rule to the next level of subexpressions.
run_function [Hlvm]
Register a function and execute it.

S
save [Hlvm]
Save everything that has been evaluated as a standalone program.
seq_remove [Hlvm]
Define a function to remove an element from a bag using linear search.
set [Hlvm.Seq]
Set element at index in a sequence.
set_thread_local [Hlvm.Extern]
shadow_stack_enabled [Hlvm.Options]
Allow the shadow stack to be disabled.
sieve [Test]
Sieve of Eratosthenes.
stack_of [Hlvm.ThreadLocal]
state [Hlvm.ThreadGlobal]
state_of [Hlvm.ThreadLocal]
store_list [Hlvm.ThreadGlobal]
store_state [Hlvm.ThreadGlobal]
store_state [Hlvm.ThreadLocal]
string_cache [Hlvm]
Constant string literals are memoized here.
string_type [Hlvm]
Type of a C-compatible null-terminated string.
struct_type [Hlvm]
struct_type_of [Hlvm]
Representation of structs.
suspend_time [Hlvm]
LLVM global to store the total time spent in the suspend phase.
sweep_time [Hlvm]
LLVM global to store the total time spent in the sweep phase.

T
tag [Hlvm.Ref]
Index of the field containing the int metadata.
tco [Test]
Test tail call elimination by passing one function as an argument to another higher-order function that calls it in tail position, mutually recursively.
tco [Hlvm.Options]
Tail call elimination enabled.
threads [Test]
Solve the 8-queens problems "n" times in parallel.
ticks [Hlvm.Options]
Number of ticks before a GC check for cooperative synchronization.
time [Hlvm.Extern]
time_of [Hlvm.ThreadLocal]
to_string [Hlvm.Expr]
to_string [Hlvm.Type]
to_strings [Hlvm.Expr]
to_strings [Hlvm.Type]
trace [Hlvm.Expr]
Insert debug information at the beginning of each function.
trace_rule [Hlvm.Expr]
trig [Test]
Test the FFI by calling some trig functions from libc.
tuples [Test]
Test HLVM's struct representation of tuples.
ty [Hlvm.ThreadGlobal]
ty [Hlvm.ThreadLocal]
Type of thread-local state.
ty [Hlvm.Seq]
Type of a bag (unsorted collection).
ty_closure [Test]
Type of a closure.
ty_list [Test]
Type of a list.
ty_print [Hlvm.RTType]
ty_visit [Hlvm.RTType]
type_check [Hlvm]
Helper function for type checking.
types [Hlvm]
Bound types (including internal types such as wrapper reference types for arrays).

U
uniq [Hlvm]
Create a unique string based upon the given string.
unit [Hlvm]
LLVM value used to represent the value () of the type unit.
unlock_mutex [Hlvm.Extern]
unroll [Hlvm.Expr]
unroll_rule [Hlvm.Expr]

V
vars [Hlvm]
Default variable bindings.
view [Hlvm.Options]
Global boolean to enable viewing of generated functions.
visit [Hlvm.RTType]
visit [Hlvm]
Generate an expression that applies the function "f" to every value of a reference type in the value "v".
visit_stack [Hlvm]
The visit stack is an array of unvisited reference types.
void_type [Hlvm]