- header
- IL version
- compressed
- TOC
- TOC
- types
- variables
- functions
- TOC, types
- number
- (number * sizeof type_type) the size to get to TOC, functions (this might change)
(this is basically the same for variables and functions)
- type_type
- (enum) integer, pointer, reference, vector, complex, record, union
- (int) subtype
- (int) precission (for vectors, it is number of elements, for pointers and references, it is the mode)
-- old stuff --
Types:
Variables:
Functions:
List of function (number).
---------------------------------------------
Function:
Arguments: List of variables.
Return Variable.
local variables
BBs: list of BB (number).
EH info;
BB:
List of PHIs
List of statements.
(for statement see gimple definition)
Statement: Either
RHS
Modify
And
statement Annotation
line info
Modify:
LHS
RHS
LHS: Either
variable
SSA_NAME
RHS:
See gimple documentation
statement annotation:
bool makes_aliased_loads;
bool makes_aliased_stores;
bool has_volatile_ops;
bool makes_clobbering_call;
stmt_operands
stmt_operands:
list of V_MAY_DEF (two SSA_NAMEs)
list of VUSE (one SSA_NAME)
list of V_MUST_DEF (two SSA_NAMEs)
INTEGER_CST:
type
high (64bit)
low (64bit)
Variable in code:
bool local/global
int number in file
SSA_NAME:
variable
int version