Cthulhu  0.2.10
Cthulhu compiler collection
common.h File Reference
#include "core/text.h"
#include "cthulhu/ssa/ssa.h"
Include dependency graph for common.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

ssa_type_tssa_type_new (ssa_kind_t kind, const char *name, tree_quals_t quals)
 
ssa_type_tssa_type_empty (const char *name, tree_quals_t quals)
 
ssa_type_tssa_type_unit (const char *name, tree_quals_t quals)
 
ssa_type_tssa_type_closure (const char *name, tree_quals_t quals, ssa_type_t *result, typevec_t *params, bool variadic)
 
ssa_type_tssa_type_array (const char *name, tree_quals_t quals, ssa_type_t *element, size_t length)
 
ssa_type_tssa_type_struct (const char *name, tree_quals_t quals, typevec_t *fields)
 
ssa_type_tssa_type_union (const char *name, tree_quals_t quals, typevec_t *fields)
 
ssa_type_tssa_type_create_cached (map_t *cache, const tree_t *type)
 
ssa_type_tssa_type_common (const ssa_type_t *lhs, const ssa_type_t *rhs)
 
ssa_value_tssa_value_empty (const ssa_type_t *type)
 
ssa_value_tssa_value_unit (const ssa_type_t *type)
 
ssa_value_tssa_value_bool (const ssa_type_t *type, bool value)
 
ssa_value_tssa_value_digit (const ssa_type_t *type, const mpz_t value)
 
ssa_value_tssa_value_char (const ssa_type_t *type, char value)
 
ssa_value_tssa_value_string (const ssa_type_t *type, text_view_t text)
 
ssa_value_tssa_value_from (map_t *types, const tree_t *expr)
 
ssa_value_tssa_value_noinit (const ssa_type_t *type)
 
ssa_value_tssa_value_literal (const ssa_type_t *type, ssa_literal_value_t value)
 
ssa_value_tssa_value_relative (const ssa_type_t *type, ssa_relative_value_t value)
 
ssa_value_tssa_value_opaque_literal (const ssa_type_t *type, mpz_t value)
 
ssa_operand_t operand_value (ssa_value_t *value)
 

Function Documentation

◆ operand_value()

ssa_operand_t operand_value ( ssa_value_t value)

operand api

Definition at line 5 of file operand.c.

◆ ssa_type_array()

ssa_type_t* ssa_type_array ( const char *  name,
tree_quals_t  quals,
ssa_type_t element,
size_t  length 
)

◆ ssa_type_closure()

ssa_type_t* ssa_type_closure ( const char *  name,
tree_quals_t  quals,
ssa_type_t result,
typevec_t params,
bool  variadic 
)

Definition at line 50 of file type.c.

◆ ssa_type_common()

ssa_type_t* ssa_type_common ( const ssa_type_t lhs,
const ssa_type_t rhs 
)

◆ ssa_type_create_cached()

ssa_type_t* ssa_type_create_cached ( map_t cache,
const tree_t type 
)

Definition at line 226 of file type.c.

◆ ssa_type_empty()

ssa_type_t* ssa_type_empty ( const char *  name,
tree_quals_t  quals 
)

Definition at line 27 of file type.c.

◆ ssa_type_new()

ssa_type_t* ssa_type_new ( ssa_kind_t  kind,
const char *  name,
tree_quals_t  quals 
)

type api

Definition at line 17 of file type.c.

◆ ssa_type_struct()

ssa_type_t* ssa_type_struct ( const char *  name,
tree_quals_t  quals,
typevec_t fields 
)

Definition at line 80 of file type.c.

◆ ssa_type_union()

ssa_type_t* ssa_type_union ( const char *  name,
tree_quals_t  quals,
typevec_t fields 
)

Definition at line 88 of file type.c.

◆ ssa_type_unit()

ssa_type_t* ssa_type_unit ( const char *  name,
tree_quals_t  quals 
)

Definition at line 32 of file type.c.

◆ ssa_value_bool()

ssa_value_t* ssa_value_bool ( const ssa_type_t type,
bool  value 
)

Definition at line 39 of file value.c.

◆ ssa_value_char()

ssa_value_t* ssa_value_char ( const ssa_type_t type,
char  value 
)

Definition at line 54 of file value.c.

◆ ssa_value_digit()

ssa_value_t* ssa_value_digit ( const ssa_type_t type,
const mpz_t  value 
)

Definition at line 46 of file value.c.

◆ ssa_value_empty()

ssa_value_t* ssa_value_empty ( const ssa_type_t type)

value api

Definition at line 25 of file value.c.

◆ ssa_value_from()

ssa_value_t* ssa_value_from ( map_t types,
const tree_t expr 
)

Definition at line 87 of file value.c.

◆ ssa_value_literal()

ssa_value_t* ssa_value_literal ( const ssa_type_t type,
ssa_literal_value_t  value 
)

Definition at line 106 of file value.c.

◆ ssa_value_noinit()

ssa_value_t* ssa_value_noinit ( const ssa_type_t type)

Definition at line 101 of file value.c.

◆ ssa_value_opaque_literal()

ssa_value_t* ssa_value_opaque_literal ( const ssa_type_t type,
mpz_t  value 
)

Definition at line 120 of file value.c.

◆ ssa_value_relative()

ssa_value_t* ssa_value_relative ( const ssa_type_t type,
ssa_relative_value_t  value 
)

Definition at line 113 of file value.c.

◆ ssa_value_string()

ssa_value_t* ssa_value_string ( const ssa_type_t type,
text_view_t  text 
)

Definition at line 62 of file value.c.

◆ ssa_value_unit()

ssa_value_t* ssa_value_unit ( const ssa_type_t type)

Definition at line 32 of file value.c.