Cthulhu  0.2.10
Cthulhu compiler collection
ssa_compile_t Struct Reference

the ssa compilation context More...

Collaboration diagram for ssa_compile_t:

Data Fields

vector_tmodules
 result data More...
 
map_tsymbol_deps
 direct dependencies between symbols dependecies are a cyclic graph, this is a map of the edges map<ssa_symbol, set<ssa_symbol>> More...
 
arena_tarena
 internal data More...
 
size_t string_count
 all strings in the program map_t<text_view_t*, ssa_symbol> More...
 
map_tstrings
 
map_tglobals
 all globals in the program map<tree, ssa_symbol> More...
 
map_tfunctions
 all functions in the program map<tree, ssa_symbol> More...
 
map_ttypes
 all types in the program map<tree, ssa_type> More...
 
map_tsymbol_locals
 all locals in the current symbol map<tree, size_t> More...
 
map_tsymbol_loops
 all loops in the current symbol map<tree, ssa_loop> More...
 
ssa_block_tcurrent_block
 the current block being compiled More...
 
ssa_symbol_tcurrent_symbol
 the current symbol being compiled can be a function or a global More...
 
ssa_module_tcurrent_module
 the current module being compiled More...
 
map_tmodule_lookup
 map of symbol to its source module map<ssa_symbol, ssa_module> TODO: this is stupid More...
 

Detailed Description

the ssa compilation context

Definition at line 19 of file ssa.c.

Field Documentation

◆ arena

arena_t* ssa_compile_t::arena

internal data

Definition at line 34 of file ssa.c.

◆ current_block

ssa_block_t* ssa_compile_t::current_block

the current block being compiled

Definition at line 62 of file ssa.c.

◆ current_module

ssa_module_t* ssa_compile_t::current_module

the current module being compiled

Definition at line 69 of file ssa.c.

◆ current_symbol

ssa_symbol_t* ssa_compile_t::current_symbol

the current symbol being compiled can be a function or a global

Definition at line 66 of file ssa.c.

◆ functions

map_t* ssa_compile_t::functions

all functions in the program map<tree, ssa_symbol>

Definition at line 47 of file ssa.c.

◆ globals

map_t* ssa_compile_t::globals

all globals in the program map<tree, ssa_symbol>

Definition at line 43 of file ssa.c.

◆ module_lookup

map_t* ssa_compile_t::module_lookup

map of symbol to its source module map<ssa_symbol, ssa_module> TODO: this is stupid

Definition at line 74 of file ssa.c.

◆ modules

vector_t* ssa_compile_t::modules

result data

all modules in the program vector<ssa_module>

Definition at line 25 of file ssa.c.

◆ string_count

size_t ssa_compile_t::string_count

all strings in the program map_t<text_view_t*, ssa_symbol>

Definition at line 38 of file ssa.c.

◆ strings

map_t* ssa_compile_t::strings

Definition at line 39 of file ssa.c.

◆ symbol_deps

map_t* ssa_compile_t::symbol_deps

direct dependencies between symbols dependecies are a cyclic graph, this is a map of the edges map<ssa_symbol, set<ssa_symbol>>

Definition at line 30 of file ssa.c.

◆ symbol_locals

map_t* ssa_compile_t::symbol_locals

all locals in the current symbol map<tree, size_t>

Definition at line 55 of file ssa.c.

◆ symbol_loops

map_t* ssa_compile_t::symbol_loops

all loops in the current symbol map<tree, ssa_loop>

Definition at line 59 of file ssa.c.

◆ types

map_t* ssa_compile_t::types

all types in the program map<tree, ssa_type>

Definition at line 51 of file ssa.c.


The documentation for this struct was generated from the following file: