nodes = dict(
-Start = dict(
- mode = "mode_T",
- op_flags = "cfopcode",
- state = "pinned",
- noconstr = True,
- optimize = False
+
+#
+# Abstract node types
+#
+unop = dict(
+ abstract = True,
+ ins = [ "op" ]
),
-End = dict(
- mode = "mode_X",
- op_flags = "cfopcode",
- state = "pinned",
- arity = "dynamic",
- noconstr = True,
- optimize = False
+binop = dict(
+ abstract = True,
+ ins = [ "left", "right" ]
),
-Id = dict(
- ins = [ "pred" ]
+#
+# Real node types
+#
+Abs = dict(
+ is_a = "unop"
),
-Phi = dict(
- noconstr = True,
- state = "pinned",
- arity = "variable",
+Add = dict(
+ is_a = "binop"
),
-Jmp = dict(
- mode = "mode_X",
- op_flags = "cfopcode",
- state = "pinned",
- ins = [],
+Alloc = dict(
+ ins = [ "mem", "size" ],
+ outs = [ "M", "X_regular", "X_except", "res" ],
+ attrs = [
+ dict(
+ name = "type",
+ type = "ir_type*"
+ ),
+ dict(
+ name = "where",
+ type = "ir_where_alloc"
+ )
+ ]
),
-IJmp = dict(
- mode = "mode_X",
- op_flags = "cfopcode",
- state = "pinned",
- ins = [ "target" ],
+Anchor = dict(
+ mode = "mode_ANY",
+ ins = [ "end_block", "start_block", "end", "start",
+ "end_reg", "end_except", "initial_exec",
+ "frame", "tls", "initial_mem", "args",
+ "bad", "no_mem" ],
+ knownBlock = True,
+ noconstr = True
),
-Const = dict(
- mode = "",
+And = dict(
+ is_a = "binop"
+),
+
+Bad = dict(
+ mode = "mode_Bad",
knownBlock = True,
- attrs_name = "con",
- attrs = [
- dict(
- type = "tarval*",
- name = "tarval",
- )
- ],
),
Block = dict(
}''',
),
-SymConst = dict(
- mode = "mode_P",
- knownBlock = True,
- noconstr = True,
- attrs = [
- dict(
- type = "ir_entity*",
- name = "entity"
- )
- ],
+Borrow = dict(
+ is_a = "binop"
),
-# SymConst
-
-Call = dict(
- ins = [ "mem", "ptr" ],
+Builtin = dict(
+ ins = [ "mem" ],
arity = "variable",
outs = [ "M_regular", "X_regular", "X_except", "T_result", "M_except", "P_value_res_base" ],
attrs = [
+ dict(
+ type = "ir_builtin_kind",
+ name = "kind"
+ ),
dict(
type = "ir_type*",
name = "type"
]
),
-Builtin = dict(
- ins = [ "mem" ],
+Call = dict(
+ ins = [ "mem", "ptr" ],
arity = "variable",
outs = [ "M_regular", "X_regular", "X_except", "T_result", "M_except", "P_value_res_base" ],
attrs = [
- dict(
- type = "ir_builtin_kind",
- name = "kind"
- ),
dict(
type = "ir_type*",
name = "type"
]
),
-binop = dict(
- abstract = True,
- ins = [ "left", "right" ]
-),
-
-Add = dict(
- is_a = "binop"
-),
-
Carry = dict(
is_a = "binop"
),
-Sub = dict(
- is_a = "binop"
-),
-
-Borrow = dict(
- is_a = "binop"
-),
-
-Mul = dict(
- is_a = "binop"
-),
-
-Mulh = dict(
- is_a = "binop"
-),
-
-Abs = dict(
- is_a = "unop"
-),
-
-And = dict(
- is_a = "binop"
-),
-
-Or = dict(
- is_a = "binop"
-),
-
-Eor = dict(
- is_a = "binop"
-),
-
-Not = dict(
- is_a = "unop"
+Cmp = dict(
+ is_a = "binop",
+ outs = [ "False", "Eq", "Lt", "Le", "Gt", "Ge", "Lg", "Leg", "Uo", "Ue", "Ul", "Ule", "Ug", "Uge", "Ne", "True" ],
),
-Shl = dict(
- is_a = "binop"
+Cond = dict(
+ ins = [ "selector" ],
+ outs = [ "false", "true" ],
+ attrs = [
+ dict(
+ name = "kind",
+ type = "cond_kind",
+ init = "dense"
+ ),
+ dict(
+ name = "default_proj",
+ type = "long",
+ init = "0"
+ ),
+ dict(
+ name = "jmp_pred",
+ type = "cond_jmp_predicate",
+ init = "COND_JMP_PRED_NONE"
+ )
+ ]
),
-Shr = dict(
- is_a = "binop"
+Confirm = dict(
+ ins = [ "value", "bound" ],
+ mode = "get_irn_mode(irn_value)",
+ attrs = [
+ dict(
+ name = "cmp",
+ type = "pn_Cmp"
+ ),
+ ],
),
-Shrs = dict(
- is_a = "binop"
+Const = dict(
+ mode = "",
+ knownBlock = True,
+ attrs_name = "con",
+ attrs = [
+ dict(
+ type = "tarval*",
+ name = "tarval",
+ )
+ ],
),
-Rotl = dict(
- is_a = "binop"
+Conv = dict(
+ is_a = "unop",
+ attrs = [
+ dict(
+ name = "strict",
+ type = "int",
+ init = "0",
+ special = dict(
+ prefix = "strict",
+ init = "1"
+ )
+ )
+ ]
),
-Quot = dict(
- ins = [ "mem", "dividend", "divisor" ],
- outs = [ "M", "X_regular", "X_except", "res" ],
+CopyB = dict(
+ ins = [ "mem", "dst", "src" ],
+ outs = [ "M", "X_regular", "X_except" ],
attrs = [
dict(
- type = "ir_mode*",
- name = "resmode"
- ),
- dict(
- name = "state",
- type = "op_pin_state"
+ name = "type",
+ type = "ir_type*"
)
]
),
]
),
-Mod = dict(
- ins = [ "mem", "dividend", "divisor" ],
- outs = [ "M", "X_regular", "X_except", "res" ],
+End = dict(
+ mode = "mode_X",
+ op_flags = "cfopcode",
+ state = "pinned",
+ arity = "dynamic",
+ noconstr = True,
+ optimize = False
+),
+
+Eor = dict(
+ is_a = "binop"
+),
+
+Free = dict(
+ ins = [ "mem", "ptr", "size" ],
+ mode = "mode_M",
attrs = [
dict(
- type = "ir_mode*",
- name = "resmode"
+ name = "type",
+ type = "ir_type*"
),
dict(
- name = "state",
- type = "op_pin_state"
+ name = "where",
+ type = "ir_where_alloc"
)
]
),
+Id = dict(
+ ins = [ "pred" ]
+),
+
+IJmp = dict(
+ mode = "mode_X",
+ op_flags = "cfopcode",
+ state = "pinned",
+ ins = [ "target" ],
+),
+
+Jmp = dict(
+ mode = "mode_X",
+ op_flags = "cfopcode",
+ state = "pinned",
+ ins = [],
+),
+
Load = dict(
ins = [ "mem", "ptr" ],
outs = [ "M", "X_regular", "X_except", "res" ],
'''
),
-Store = dict(
- ins = [ "mem", "ptr", "value" ],
- outs = [ "M", "X_regular", "X_except" ],
- constructor_args = [
+Minus = dict(
+ is_a = "unop"
+),
+
+Mod = dict(
+ ins = [ "mem", "dividend", "divisor" ],
+ outs = [ "M", "X_regular", "X_except", "res" ],
+ attrs = [
dict(
- type = "ir_cons_flags",
- name = "flags",
+ type = "ir_mode*",
+ name = "resmode"
),
- ],
- d_post = '''
-#if PRECISE_EXC_CONTEXT
- firm_alloc_frag_arr(res, op_Store, &res->attr.store.exc.frag_arr);
-#endif
- '''
+ dict(
+ name = "state",
+ type = "op_pin_state"
+ )
+ ]
),
-Anchor = dict(
- mode = "mode_ANY",
- ins = [ "end_block", "start_block", "end", "start",
- "end_reg", "end_except", "initial_exec",
- "frame", "tls", "initial_mem", "args",
- "bad", "no_mem" ],
- knownBlock = True,
- noconstr = True
+Mul = dict(
+ is_a = "binop"
+),
+
+Mulh = dict(
+ is_a = "binop"
+),
+
+Mux = dict(
+ ins = [ "sel", "false", "true" ]
),
NoMem = dict(
knownBlock = True,
),
-Bad = dict(
- mode = "mode_Bad",
- knownBlock = True,
+Not = dict(
+ is_a = "unop"
+),
+
+Or = dict(
+ is_a = "binop"
+),
+
+Phi = dict(
+ noconstr = True,
+ state = "pinned",
+ arity = "variable",
),
Pin = dict(
]
),
-Sel = dict(
- ins = [ "mem", "ptr" ],
- arity = "variable",
- mode = "is_Method_type(get_entity_type(entity)) ? mode_P_code : mode_P_data",
- attrs = [
+Quot = dict(
+ ins = [ "mem", "dividend", "divisor" ],
+ outs = [ "M", "X_regular", "X_except", "res" ],
+ attrs = [
dict(
- type = "ir_entity*",
- name = "entity"
+ type = "ir_mode*",
+ name = "resmode"
+ ),
+ dict(
+ name = "state",
+ type = "op_pin_state"
)
]
),
-Sync = dict(
- mode = "mode_M",
- optimize = False,
- arity = "dynamic"
-),
-
-Tuple = dict(
+Return = dict(
+ ins = [ "mem" ],
arity = "variable",
- mode = "mode_T",
+ mode = "mode_X"
),
-Unknown = dict(
- knownBlock = True,
- block = "get_irg_start_block(irg)",
- nodbginfo = True
+Rotl = dict(
+ is_a = "binop"
),
-Confirm = dict(
- ins = [ "value", "bound" ],
- mode = "get_irn_mode(irn_value)",
+Sel = dict(
+ ins = [ "mem", "ptr" ],
+ arity = "variable",
+ mode = "is_Method_type(get_entity_type(entity)) ? mode_P_code : mode_P_data",
attrs = [
dict(
- name = "cmp",
- type = "pn_Cmp"
- ),
- ],
+ type = "ir_entity*",
+ name = "entity"
+ )
+ ]
),
-Return = dict(
- ins = [ "mem" ],
- arity = "variable",
- mode = "mode_X"
+Shl = dict(
+ is_a = "binop"
),
-unop = dict(
- abstract = True,
- ins = [ "op" ]
+Shr = dict(
+ is_a = "binop"
),
-Minus = dict(
- is_a = "unop"
+Shrs = dict(
+ is_a = "binop"
),
-Mux = dict(
- ins = [ "sel", "false", "true" ]
+Start = dict(
+ mode = "mode_T",
+ op_flags = "cfopcode",
+ state = "pinned",
+ noconstr = True,
+ optimize = False
),
-Cond = dict(
- ins = [ "selector" ],
- outs = [ "false", "true" ],
- attrs = [
- dict(
- name = "kind",
- type = "cond_kind",
- init = "dense"
- ),
+Store = dict(
+ ins = [ "mem", "ptr", "value" ],
+ outs = [ "M", "X_regular", "X_except" ],
+ constructor_args = [
dict(
- name = "default_proj",
- type = "long",
- init = "0"
+ type = "ir_cons_flags",
+ name = "flags",
),
- dict(
- name = "jmp_pred",
- type = "cond_jmp_predicate",
- init = "COND_JMP_PRED_NONE"
- )
- ]
+ ],
+ d_post = '''
+#if PRECISE_EXC_CONTEXT
+ firm_alloc_frag_arr(res, op_Store, &res->attr.store.exc.frag_arr);
+#endif
+ '''
),
-Cmp = dict(
- is_a = "binop",
- outs = [ "False", "Eq", "Lt", "Le", "Gt", "Ge", "Lg", "Leg", "Uo", "Ue", "Ul", "Ule", "Ug", "Uge", "Ne", "True" ],
+Sub = dict(
+ is_a = "binop"
),
-Conv = dict(
- is_a = "unop",
- attrs = [
+SymConst = dict(
+ mode = "mode_P",
+ knownBlock = True,
+ noconstr = True,
+ attrs = [
dict(
- name = "strict",
- type = "int",
- init = "0",
- special = dict(
- prefix = "strict",
- init = "1"
- )
+ type = "ir_entity*",
+ name = "entity"
)
- ]
+ ],
),
-Alloc = dict(
- ins = [ "mem", "size" ],
- outs = [ "M", "X_regular", "X_except", "res" ],
- attrs = [
- dict(
- name = "type",
- type = "ir_type*"
- ),
- dict(
- name = "where",
- type = "ir_where_alloc"
- )
- ]
+Sync = dict(
+ mode = "mode_M",
+ optimize = False,
+ arity = "dynamic"
),
-Free = dict(
- ins = [ "mem", "ptr", "size" ],
- mode = "mode_M",
- attrs = [
- dict(
- name = "type",
- type = "ir_type*"
- ),
- dict(
- name = "where",
- type = "ir_where_alloc"
- )
- ]
+Tuple = dict(
+ arity = "variable",
+ mode = "mode_T",
),
-CopyB = dict(
- ins = [ "mem", "dst", "src" ],
- outs = [ "M", "X_regular", "X_except" ],
- attrs = [
- dict(
- name = "type",
- type = "ir_type*"
- )
- ]
+Unknown = dict(
+ knownBlock = True,
+ block = "get_irg_start_block(irg)",
+ nodbginfo = True
),
)
RelativePath="..\ir\be\bemodule_t.h"
>
</File>
+ <File
+ RelativePath="..\ir\be\benewalloc.c"
+ >
+ </File>
<File
RelativePath="..\ir\be\benode.c"
>
RelativePath="..\ir\be\bessadestr.h"
>
</File>
- <File
- RelativePath="..\ir\be\bessadestrsimple.c"
- >
- </File>
- <File
- RelativePath="..\ir\be\bessadestrsimple.h"
- >
- </File>
<File
RelativePath="..\ir\be\bestabs.c"
>
>
<Tool
Name="VCCustomBuildTool"
- Description="Translate IR-Spec: $(InputPath)"
- CommandLine="..\scripts\gen_ir.pl $(InputPath) ..\ir\ir"
- AdditionalDependencies="..\scripts\gen_ir.pl"
- Outputs="..\ir\ir\gen_ir_cons.c.inl"
+ Description=""
+ CommandLine=""
+ AdditionalDependencies=""
+ Outputs=""
/>
</FileConfiguration>
<FileConfiguration
>
<Tool
Name="VCCustomBuildTool"
- Description="Translate IR-Spec: $(InputPath)"
- CommandLine="..\scripts\gen_ir.pl $(InputPath) ..\ir\ir"
- AdditionalDependencies="..\scripts\gen_ir.pl"
- Outputs="..\ir\ir\gen_ir_cons.c.inl"
+ Description=""
+ CommandLine=""
+ AdditionalDependencies=""
+ Outputs=""
/>
</FileConfiguration>
<FileConfiguration
>
<Tool
Name="VCCustomBuildTool"
- Description="Translate IR-Spec: $(InputPath)"
- CommandLine="..\scripts\gen_ir.pl $(InputPath) ..\ir\ir"
- AdditionalDependencies="..\scripts\gen_ir.pl"
- Outputs="..\ir\ir\gen_ir_cons.c.inl"
+ Description=""
+ CommandLine=""
+ AdditionalDependencies=""
+ Outputs=""
/>
</FileConfiguration>
</File>
RelativePath="..\ir\opt\critical_edges.c"
>
</File>
- <File
- RelativePath="..\ir\opt\data_flow_scalar_replace.c"
- >
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- <FileConfiguration
- Name="DebugJTEST|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- />
- </FileConfiguration>
- </File>
<File
RelativePath="..\ir\opt\escape_ana.c"
>
RelativePath="..\scripts\gen_ir.pl"
>
</File>
+ <File
+ RelativePath="..\scripts\gen_ir.py"
+ >
+ </File>
<File
RelativePath="..\scripts\gen_ir_io.py"
>
<Tool
Name="VCCustomBuildTool"
Description="Generating I/O code: $(InputPath)"
- CommandLine="$(InputPath) ..\scripts\ir_spec.py ..\ir\ir"
+ CommandLine="python $(InputPath) ..\scripts\ir_spec.py ..\ir\ir"
AdditionalDependencies="..\scripts\ir_spec.py"
Outputs="..\ir\ir\gen_irio_import.inl;..\ir\ir\gen_irio_export.inl;..\ir\ir\gen_irio_lex.inl"
/>
<Tool
Name="VCCustomBuildTool"
Description="Generating I/O code: $(InputPath)"
- CommandLine="$(InputPath) ..\scripts\ir_spec.py ..\ir\ir"
+ CommandLine="python $(InputPath) ..\scripts\ir_spec.py ..\ir\ir"
AdditionalDependencies="..\scripts\ir_spec.py"
Outputs="..\ir\ir\gen_irio_import.inl;..\ir\ir\gen_irio_export.inl;..\ir\ir\gen_irio_lex.inl"
/>
<Tool
Name="VCCustomBuildTool"
Description="Generating I/O code: $(InputPath)"
- CommandLine="$(InputPath) ..\scripts\ir_spec.py ..\ir\ir"
+ CommandLine="python $(InputPath) ..\scripts\ir_spec.py ..\ir\ir"
AdditionalDependencies="..\scripts\ir_spec.py"
Outputs="..\ir\ir\gen_irio_import.inl;..\ir\ir\gen_irio_export.inl;..\ir\ir\gen_irio_lex.inl"
/>
<File
RelativePath="..\scripts\ir_spec.py"
>
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ Description="Translate IR-Spec: $(InputPath)"
+ CommandLine="python ..\scripts\gen_ir.py $(InputPath) ..\ir\ir"
+ AdditionalDependencies="..\scripts\gen_ir.py"
+ Outputs="..\ir\ir\gen_ir_cons.c.inl"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ Description="Translate IR-Spec: $(InputPath)"
+ CommandLine="python ..\scripts\gen_ir.py $(InputPath) ..\ir\ir"
+ AdditionalDependencies="..\scripts\gen_ir.py"
+ Outputs="..\ir\ir\gen_ir_cons.c.inl"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="DebugJTEST|Win32"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ Description="Translate IR-Spec: $(InputPath)"
+ CommandLine="python ..\scripts\gen_ir.py $(InputPath) ..\ir\ir"
+ AdditionalDependencies="..\scripts\gen_ir.py"
+ Outputs="..\ir\ir\gen_ir_cons.c.inl"
+ />
+ </FileConfiguration>
</File>
</Filter>
</Files>