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
6246b553
Commit
6246b553
authored
Oct 11, 2016
by
Christoph Mallon
Browse files
arm: Avoid redundant sign/zero extension right before a store.
parent
5265f892
Changes
2
Hide whitespace changes
Inline
Side-by-side
NEWS.md
View file @
6246b553
...
...
@@ -39,6 +39,7 @@ libFirm 1.22.1 (2016-01-07)
*
opt: Simplify computed goto with known destination to unconditional branch
*
opt: Handle constant folding for the builtins
`clz`
,
`ctz`
,
`ffs`
,
`parity`
and
`popcount`
*
arm: Avoid redundant sign/zero extension right after a load
*
arm: Avoid redundant sign/zero extension right before a store
*
Bugfixes
libFirm 1.22.0 (2015-12-31)
...
...
ir/be/arm/arm_transform.c
View file @
6246b553
...
...
@@ -1172,19 +1172,21 @@ static ir_node *gen_Store(ir_node *node)
arm_am_t
am
=
transform_am
(
ptr
,
mode
,
true
);
ir_node
*
mem
=
get_Store_mem
(
node
);
ir_node
*
new_mem
=
be_transform_node
(
mem
);
ir_node
*
new_val
=
be_transform_node
(
val
);
dbg_info
*
dbgi
=
get_irn_dbg_info
(
node
);
if
(
get_Store_unaligned
(
node
)
==
align_non_aligned
)
panic
(
"unaligned Stores not supported yet"
);
ir_node
*
new_store
;
if
(
mode_is_float
(
mode
))
{
ir_node
*
const
new_val
=
be_transform_node
(
val
);
if
(
arm_cg_config
.
fpu
==
ARM_FPU_FPA
)
{
new_store
=
new_bd_arm_Stf
(
dbgi
,
block
,
am
.
base
,
new_val
,
new_mem
,
mode
,
am
.
entity
,
0
,
am
.
offset
,
am
.
is_frame_entity
);
}
else
{
panic
(
"softfloat not lowered"
);
}
}
else
{
val
=
be_skip_downconv
(
val
,
false
);
ir_node
*
const
new_val
=
be_transform_node
(
val
);
new_store
=
new_bd_arm_Str
(
dbgi
,
block
,
am
.
base
,
new_val
,
new_mem
,
mode
,
am
.
entity
,
0
,
am
.
offset
,
am
.
is_frame_entity
);
}
set_irn_pinned
(
new_store
,
get_irn_pinned
(
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