299
|
1
|
|
2
|
|
3 IR-code
|
|
4 =======
|
|
5
|
|
6 Front ends generate this IR-code. Backends transform it into machine code.
|
|
7
|
|
8 The IR-code is implemented in the ir package.
|
|
9
|
304
|
10 .. autoclass:: ppci.ir.Module
|
|
11
|
|
12 .. autoclass:: ppci.ir.Function
|
|
13
|
|
14 .. autoclass:: ppci.ir.Block
|
299
|
15
|
304
|
16 A block contains a sequence of statements.
|
299
|
17
|
304
|
18 .. autoclass:: ppci.ir.Statement
|
|
19
|
305
|
20 .. autoclass:: ppci.ir.Move
|
|
21
|
|
22 Jump instructions:
|
|
23
|
304
|
24 .. autoclass:: ppci.ir.Jump
|
299
|
25
|
304
|
26 .. autoclass:: ppci.ir.CJump
|
|
27
|
|
28 Statements can contain again expressions.
|
|
29
|
|
30 .. autoclass:: ppci.ir.Expression
|
299
|
31
|
304
|
32 .. autoclass:: ppci.ir.Const
|
299
|
33
|
304
|
34 .. autoclass:: ppci.ir.Binop
|
299
|
35
|
305
|
36 .. autoclass:: ppci.ir.Call
|
304
|
37
|
305
|
38 .. autoclass:: ppci.ir.Eseq
|
|
39
|