MiniC
Contents:
Base library - Errors
Base library - Statement
Base library - RISC-V instructions
Base library - Operands
Base library - Function data
Linear intermediate representation
Temporary allocation
Control Flow Graph - CFG and Basic blocks
Control Flow Graph - Terminators
MiniC
Index
Index
A
|
B
|
C
|
D
|
F
|
G
|
I
|
J
|
L
|
M
|
N
|
O
|
P
|
R
|
S
|
T
|
U
|
W
|
X
|
Z
A
A (in module Lib.Operands)
A0 (in module Lib.Operands)
A1 (in module Lib.Operands)
AbsoluteJump (class in Lib.Statement)
add() (in module Lib.RiscV)
add_block() (Lib.CFG.CFG method)
add_comment() (Lib.LinearCode.LinearCode method)
add_edge() (Lib.CFG.CFG method)
add_instruction() (Lib.CFG.Block method)
(Lib.LinearCode.LinearCode method)
add_instruction_PRINTLN_INT() (Lib.LinearCode.LinearCode method)
add_label() (Lib.LinearCode.LinearCode method)
add_phi() (Lib.CFG.Block method)
add_tmp() (Lib.Operands.TemporaryPool method)
AllocationError
Allocator (class in Lib.Allocator)
args() (Lib.Statement.AbsoluteJump method)
(Lib.Statement.ConditionalJump method)
(Lib.Statement.Instru3A method)
(Lib.Statement.Instruction method)
(Lib.Terminator.BranchingTerminator method)
(Lib.Terminator.Return method)
B
Block (class in Lib.CFG)
BranchingTerminator (class in Lib.Terminator)
C
call() (in module Lib.RiscV)
CFG (class in Lib.CFG)
Comment (class in Lib.Statement)
comment (Lib.Statement.Comment attribute)
cond (Lib.Statement.ConditionalJump attribute)
(Lib.Terminator.BranchingTerminator attribute)
Condition (class in Lib.Operands)
conditional_jump() (in module Lib.RiscV)
ConditionalJump (class in Lib.Statement)
copy() (Lib.Operands.Renamer method)
D
DataLocation (class in Lib.Operands)
defined() (Lib.Operands.Renamer method)
(Lib.Statement.Instruction method)
(Lib.Statement.Statement method)
div() (in module Lib.RiscV)
F
fdata (Lib.CFG.CFG attribute)
(Lib.LinearCode.LinearCode attribute)
FP (in module Lib.Operands)
fresh() (Lib.Operands.Renamer method)
fresh_label() (Lib.FunctionData.FunctionData method)
fresh_offset() (Lib.FunctionData.FunctionData method)
fresh_tmp() (Lib.FunctionData.FunctionData method)
(Lib.Operands.TemporaryPool method)
Function (class in Lib.Operands)
FunctionData (class in Lib.FunctionData)
G
gather_defs() (Lib.CFG.CFG method)
get_all_statements() (Lib.CFG.Block method)
get_all_temps() (Lib.Operands.TemporaryPool method)
get_alloced_loc() (Lib.Operands.Temporary method)
(Lib.Operands.TemporaryPool method)
get_block() (Lib.CFG.CFG method)
get_blocks() (Lib.CFG.CFG method)
get_body() (Lib.CFG.Block method)
get_body_and_terminator() (Lib.CFG.Block method)
get_end() (Lib.CFG.CFG method)
get_entries() (Lib.CFG.CFG method)
get_in() (Lib.CFG.Block method)
get_instructions() (Lib.LinearCode.LinearCode method)
get_label() (Lib.CFG.Block method)
get_label_div_by_zero() (Lib.FunctionData.FunctionData method)
get_name() (Lib.FunctionData.FunctionData method)
get_offset() (Lib.FunctionData.FunctionData method)
(Lib.Operands.Offset method)
get_phis() (Lib.CFG.Block method)
get_start() (Lib.CFG.CFG method)
get_terminator() (Lib.CFG.Block method)
GP (in module Lib.Operands)
GP_REGS (in module Lib.Operands)
I
Immediate (class in Lib.Operands)
ins (Lib.Statement.AbsoluteJump attribute)
(Lib.Statement.Instruction attribute)
Instru3A (class in Lib.Statement)
Instruction (class in Lib.Statement)
is_read_only() (Lib.Statement.Instruction method)
(Lib.Terminator.Return method)
iter_statements() (Lib.CFG.Block method)
(Lib.CFG.CFG method)
(Lib.LinearCode.LinearCode method)
J
jump() (in module Lib.RiscV)
jump2terminator() (in module Lib.Terminator)
L
Label (class in Lib.Statement)
label (Lib.Statement.AbsoluteJump attribute)
(Lib.Statement.ConditionalJump attribute)
label_else (Lib.Terminator.BranchingTerminator attribute)
label_then (Lib.Terminator.BranchingTerminator attribute)
land() (in module Lib.RiscV)
ld() (in module Lib.RiscV)
li() (in module Lib.RiscV)
Lib
module
Lib.Allocator
module
Lib.CFG
module
Lib.Errors
module
Lib.FunctionData
module
Lib.LinearCode
module
Lib.Operands
module
Lib.RiscV
module
Lib.Statement
module
Lib.Terminator
module
LinearCode (class in Lib.LinearCode)
linearize_naive() (Lib.CFG.CFG method)
lor() (in module Lib.RiscV)
M
MiniCInternalError
MiniCRuntimeError
MiniCTypeError
MiniCUnsupportedError
module
Lib
Lib.Allocator
Lib.CFG
Lib.Errors
Lib.FunctionData
Lib.LinearCode
Lib.Operands
Lib.RiscV
Lib.Statement
Lib.Terminator
mul() (in module Lib.RiscV)
mv() (in module Lib.RiscV)
N
NaiveAllocator (class in Lib.Allocator)
name (Lib.Statement.Label attribute)
negate() (Lib.Operands.Condition method)
O
Offset (class in Lib.Operands)
op1 (Lib.Statement.ConditionalJump attribute)
(Lib.Terminator.BranchingTerminator attribute)
op2 (Lib.Statement.ConditionalJump attribute)
(Lib.Terminator.BranchingTerminator attribute)
Operand (class in Lib.Operands)
out_blocks() (Lib.CFG.CFG method)
P
prepare() (Lib.Allocator.Allocator method)
(Lib.Allocator.NaiveAllocator method)
print_code() (Lib.CFG.CFG method)
(Lib.LinearCode.LinearCode method)
print_dot() (Lib.CFG.CFG method)
(Lib.LinearCode.LinearCode method)
printIns() (Lib.Statement.Comment method)
(Lib.Statement.Instruction method)
(Lib.Statement.Label method)
(Lib.Statement.Statement method)
(Lib.Terminator.Return method)
R
RA (in module Lib.Operands)
Register (class in Lib.Operands)
regset_to_string() (in module Lib.Statement)
rem() (in module Lib.RiscV)
remove_all_phis() (Lib.CFG.Block method)
remove_edge() (Lib.CFG.CFG method)
rename() (Lib.Statement.AbsoluteJump method)
(Lib.Statement.ConditionalJump method)
(Lib.Statement.Instru3A method)
(Lib.Statement.Instruction method)
(Lib.Terminator.BranchingTerminator method)
(Lib.Terminator.Return method)
Renamer (class in Lib.Operands)
replace() (Lib.Allocator.Allocator method)
(Lib.Allocator.NaiveAllocator method)
(Lib.Operands.Renamer method)
Return (class in Lib.Terminator)
rewriteCode() (Lib.Allocator.Allocator method)
S
S (in module Lib.Operands)
sd() (in module Lib.RiscV)
set_phis() (Lib.CFG.Block method)
set_start() (Lib.CFG.CFG method)
set_temp_allocation() (Lib.Operands.TemporaryPool method)
set_terminator() (Lib.CFG.Block method)
SP (in module Lib.Operands)
Statement (class in Lib.Statement)
sub() (in module Lib.RiscV)
substitute() (Lib.Statement.AbsoluteJump method)
(Lib.Statement.ConditionalJump method)
(Lib.Statement.Instru3A method)
(Lib.Statement.Statement method)
(Lib.Terminator.BranchingTerminator method)
(Lib.Terminator.Return method)
T
T (in module Lib.Operands)
targets() (Lib.Statement.AbsoluteJump method)
(Lib.Terminator.BranchingTerminator method)
(Lib.Terminator.Return method)
Temporary (class in Lib.Operands)
TemporaryPool (class in Lib.Operands)
Terminator (in module Lib.Terminator)
to_dot() (Lib.CFG.Block method)
TP (in module Lib.Operands)
U
used() (Lib.Statement.Instruction method)
(Lib.Statement.Statement method)
W
with_args() (Lib.Statement.AbsoluteJump method)
(Lib.Statement.ConditionalJump method)
(Lib.Statement.Instru3A method)
(Lib.Statement.Statement method)
(Lib.Terminator.BranchingTerminator method)
(Lib.Terminator.Return method)
X
xor() (in module Lib.RiscV)
Z
ZERO (in module Lib.Operands)