Cthulhu  0.2.10
Cthulhu compiler collection
ssa.inc
Go to the documentation of this file.
1 // SPDX-License-Identifier: LGPL-3.0-only
2 
3 #ifndef SSA_KIND
4 # define SSA_KIND(ID, NAME)
5 #endif
6 
7 SSA_KIND(eTypeEmpty, "empty")
8 SSA_KIND(eTypeUnit, "unit")
9 SSA_KIND(eTypeBool, "bool")
10 SSA_KIND(eTypeDigit, "digit")
11 SSA_KIND(eTypeClosure, "closure")
12 SSA_KIND(eTypePointer, "pointer")
13 SSA_KIND(eTypeEnum, "enum")
14 SSA_KIND(eTypeOpaque, "opaque")
15 SSA_KIND(eTypeStruct, "struct")
16 SSA_KIND(eTypeUnion, "union")
17 
18 #undef SSA_KIND
19 
20 #ifndef SSA_VALUE
21 # define SSA_VALUE(ID, NAME)
22 #endif
23 
24 SSA_VALUE(eValueRelative, "relative")
25 SSA_VALUE(eValueLiteral, "literal")
26 
27 #undef SSA_VALUE
28 
29 #ifndef SSA_OPERAND
30 # define SSA_OPERAND(ID, NAME)
31 #endif
32 
33 SSA_OPERAND(eOperandEmpty, "empty")
34 SSA_OPERAND(eOperandUnit, "unit")
35 
36 SSA_OPERAND(eOperandBlock, "block")
37 SSA_OPERAND(eOperandParam, "param")
38 SSA_OPERAND(eOperandReg, "reg")
39 SSA_OPERAND(eOperandImm, "imm")
40 
41 SSA_OPERAND(eOperandLocal, "local")
42 SSA_OPERAND(eOperandGlobal, "global")
43 SSA_OPERAND(eOperandFunction, "function")
44 
45 #undef SSA_OPERAND
46 
47 #ifndef SSA_OPCODE
48 # define SSA_OPCODE(ID, NAME)
49 #endif
50 
51 SSA_OPCODE(eOpValue, "value")
52 SSA_OPCODE(eOpNop, "nop")
53 SSA_OPCODE(eOpStore, "store")
54 SSA_OPCODE(eOpLoad, "load")
55 SSA_OPCODE(eOpAddress, "address")
56 
57 SSA_OPCODE(eOpUnary, "unary")
58 SSA_OPCODE(eOpBinary, "binary")
59 SSA_OPCODE(eOpCompare, "compare")
60 
61 SSA_OPCODE(eOpCast, "cast")
62 SSA_OPCODE(eOpCall, "call")
63 
64 SSA_OPCODE(eOpOffset, "offset")
65 SSA_OPCODE(eOpMember, "member")
66 
67 SSA_OPCODE(eOpReturn, "return")
68 SSA_OPCODE(eOpBranch, "branch")
69 SSA_OPCODE(eOpJump, "jump")
70 
71 SSA_OPCODE(eOpOffsetOf, "offsetof")
72 SSA_OPCODE(eOpSizeOf, "sizeof")
73 SSA_OPCODE(eOpAlignOf, "alignof")
74 
75 #undef SSA_OPCODE
#define SSA_OPCODE(ID, NAME)
Definition: ssa.inc:51
#define SSA_VALUE(ID, NAME)
Definition: ssa.inc:21
#define SSA_OPERAND(ID, NAME)
Definition: ssa.inc:33
#define SSA_KIND(ID, NAME)
Definition: ssa.inc:4