Commit 932c8c14 authored by Moritz Kroll's avatar Moritz Kroll
Browse files

Updated VC2005 project. Sorted ir_spec.py entries

[r25765]
parent 0558a7cd
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(
......@@ -128,25 +134,19 @@ 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"
......@@ -154,15 +154,11 @@ Call = dict(
]
),
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"
......@@ -170,82 +166,82 @@ Builtin = dict(
]
),
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*"
)
]
),
......@@ -289,21 +285,52 @@ DivMod = dict(
]
),
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" ],
......@@ -327,30 +354,35 @@ Load = dict(
'''
),
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(
......@@ -358,9 +390,18 @@ 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(
......@@ -379,145 +420,109 @@ Proj = 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)",