#include <ctu_ssa_api.h>
#include "core/compiler.h"
#include "cthulhu/tree/ops.h"
#include <stdbool.h>
#include <gmp.h>
#include "ssa.inc"
Go to the source code of this file.
|
CT_SSA_API ssa_result_t | ssa_compile (vector_t *mods, arena_t *arena) |
| compile a set of trees into their ssa form More...
|
|
CT_SSA_API void | ssa_opt (logger_t *reports, ssa_result_t mod, arena_t *arena) |
| Optimize a given module. More...
|
|
CT_SSA_API ssa_type_t * | ssa_type_bool (const char *name, tree_quals_t quals) |
|
CT_SSA_API ssa_type_t * | ssa_type_digit (const char *name, tree_quals_t quals, sign_t sign, digit_t digit) |
|
CT_SSA_API ssa_type_t * | ssa_type_pointer (const char *name, tree_quals_t quals, ssa_type_t *pointer, size_t length) |
|
CT_SSA_API ssa_literal_value_t | ssa_value_get_literal (const ssa_value_t *value) |
|
CT_SSA_API bool | ssa_value_get_bool (const ssa_value_t *value) |
|
CT_SSA_API void | ssa_value_get_digit (const ssa_value_t *value, OUT_NOTNULL mpz_t result) |
|
CT_CONSTFN CT_NODISCARD CT_SSA_API const char * | ssa_type_name (STA_IN_RANGE(0, eTypeCount - 1) ssa_kind_t kind) |
|
CT_CONSTFN CT_NODISCARD CT_SSA_API const char * | ssa_opkind_name (STA_IN_RANGE(0, eOperandCount - 1) ssa_opkind_t kind) |
|
CT_CONSTFN CT_NODISCARD CT_SSA_API const char * | ssa_opcode_name (STA_IN_RANGE(0, eOpCount - 1) ssa_opcode_t opcode) |
|
CT_CONSTFN CT_NODISCARD CT_SSA_API const char * | ssa_value_name (STA_IN_RANGE(0, eValueCount - 1) ssa_value_state_t value) |
|
◆ SSA_KIND
#define SSA_KIND |
( |
|
ID, |
|
|
|
NAME |
|
) |
| ID, |
Definition at line 41 of file ssa.h.
◆ SSA_OPCODE
#define SSA_OPCODE |
( |
|
ID, |
|
|
|
NAME |
|
) |
| ID, |
Definition at line 55 of file ssa.h.
◆ SSA_OPERAND
#define SSA_OPERAND |
( |
|
ID, |
|
|
|
NAME |
|
) |
| ID, |
Definition at line 48 of file ssa.h.
◆ SSA_VALUE
#define SSA_VALUE |
( |
|
ID, |
|
|
|
NAME |
|
) |
| ID, |
Definition at line 62 of file ssa.h.