Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
Zwinkau
libfirm
Commits
0b6dc89b
Commit
0b6dc89b
authored
Nov 20, 2014
by
Christoph Mallon
Browse files
template: Consistently use the order mem, ptr, val for nodes accessing memory.
* This corrects the requirements of fStore.
parent
83a74d1a
Changes
2
Hide whitespace changes
Inline
Side-by-side
ir/be/TEMPLATE/TEMPLATE_spec.pl
View file @
0b6dc89b
...
...
@@ -226,19 +226,21 @@ Load => {
op_flags
=>
[
"
uses_memory
"
],
irn_flags
=>
[
"
rematerializable
"
],
state
=>
"
exc_pinned
",
reg_req
=>
{
in
=>
[
"
gp
",
"
none
"
],
out
=>
[
"
gp
",
"
none
"
]
},
reg_req
=>
{
in
=>
[
"
none
",
"
gp
"
],
out
=>
[
"
gp
",
"
none
"
]
},
ins
=>
[
"
mem
",
"
ptr
"
],
outs
=>
[
"
res
",
"
M
"
],
emit
=>
'
%D0 = load (%S
0
)
',
emit
=>
'
%D0 = load (%S
1
)
',
},
Store
=>
{
op_flags
=>
[
"
uses_memory
"
],
irn_flags
=>
[
"
rematerializable
"
],
state
=>
"
exc_pinned
",
reg_req
=>
{
in
=>
[
"
gp
",
"
gp
",
"
none
"
],
out
=>
[
"
none
"
]
},
reg_req
=>
{
in
=>
[
"
none
",
"
gp
",
"
gp
"
],
out
=>
[
"
none
"
]
},
ins
=>
[
"
mem
",
"
ptr
",
"
val
"
],
outs
=>
[
"
M
"
],
mode
=>
"
mode_M
",
emit
=>
'
store %S0 -> (%S1)
',
emit
=>
'
(%S1) = store %S2
',
},
# Floating Point operations
...
...
@@ -290,19 +292,21 @@ fLoad => {
op_flags
=>
[
"
uses_memory
"
],
irn_flags
=>
[
"
rematerializable
"
],
state
=>
"
exc_pinned
",
reg_req
=>
{
in
=>
[
"
gp
",
"
none
"
],
out
=>
[
"
fp
",
"
none
"
]
},
reg_req
=>
{
in
=>
[
"
none
",
"
gp
"
],
out
=>
[
"
fp
",
"
none
"
]
},
ins
=>
[
"
mem
",
"
ptr
"
],
outs
=>
[
"
res
",
"
M
"
],
emit
=>
'
%D0 = fload (%S
0
)
',
emit
=>
'
%D0 = fload (%S
1
)
',
},
fStore
=>
{
op_flags
=>
[
"
uses_memory
"
],
irn_flags
=>
[
"
rematerializable
"
],
state
=>
"
exc_pinned
",
reg_req
=>
{
in
=>
[
"
gp
",
"
fp
",
"
none
"
],
out
=>
[
"
none
"
]
},
reg_req
=>
{
in
=>
[
"
none
",
"
gp
",
"
fp
"
],
out
=>
[
"
none
"
]
},
ins
=>
[
"
mem
",
"
ptr
",
"
val
"
],
outs
=>
[
"
M
"
],
mode
=>
"
mode_M
",
emit
=>
'
fstore %S
0 -> (%S1)
',
emit
=>
'
(%S1) =
fstore %S
2
',
},
);
ir/be/TEMPLATE/TEMPLATE_transform.c
View file @
0b6dc89b
...
...
@@ -186,9 +186,9 @@ static ir_node *gen_Load(ir_node *node)
ir_mode
*
mode
=
get_Load_mode
(
node
);
if
(
mode_is_float
(
mode
))
{
return
new_bd_TEMPLATE_fLoad
(
dbgi
,
new_block
,
new_
ptr
,
new_
mem
);
return
new_bd_TEMPLATE_fLoad
(
dbgi
,
new_block
,
new_
mem
,
new_
ptr
);
}
return
new_bd_TEMPLATE_Load
(
dbgi
,
new_block
,
new_
ptr
,
new_
mem
);
return
new_bd_TEMPLATE_Load
(
dbgi
,
new_block
,
new_
mem
,
new_
ptr
);
}
static
ir_node
*
gen_Store
(
ir_node
*
node
)
...
...
@@ -205,9 +205,9 @@ static ir_node *gen_Store(ir_node *node)
ir_mode
*
mode
=
get_irn_mode
(
node
);
if
(
mode_is_float
(
mode
))
{
return
new_bd_TEMPLATE_fStore
(
dbgi
,
new_block
,
new_
val
,
new_ptr
,
new_
mem
);
return
new_bd_TEMPLATE_fStore
(
dbgi
,
new_block
,
new_
mem
,
new_ptr
,
new_
val
);
}
return
new_bd_TEMPLATE_Store
(
dbgi
,
new_block
,
new_
val
,
new_ptr
,
new_
mem
);
return
new_bd_TEMPLATE_Store
(
dbgi
,
new_block
,
new_
mem
,
new_ptr
,
new_
val
);
}
static
ir_node
*
gen_Jmp
(
ir_node
*
node
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment