This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[PR67891] drop is_gimple_reg test from set_parm_rtl (was: [PR67766] reorder return value copying from PARALLELs and CONCATs)
- From: Alexandre Oliva <aoliva at redhat dot com>
- To: UroÅ Bizjak <ubizjak at gmail dot com>
- Cc: Richard Biener <richard dot guenther at gmail dot com>, Alan Lawrence <alan dot lawrence at arm dot com>, Jeff Law <law at redhat dot com>, James Greenhalgh <James dot Greenhalgh at arm dot com>, "H.J. Lu" <hjl dot tools at gmail dot com>, Segher Boessenkool <segher at kernel dot crashing dot org>, GCC Patches <gcc-patches at gcc dot gnu dot org>, Christophe Lyon <christophe dot lyon at linaro dot org>, David Edelsohn <dje dot gcc at gmail dot com>, Eric Botcazou <ebotcazou at adacore dot com>
- Date: Fri, 09 Oct 2015 04:33:05 -0300
- Subject: [PR67891] drop is_gimple_reg test from set_parm_rtl (was: [PR67766] reorder return value copying from PARALLELs and CONCATs)
- Authentication-results: sourceware.org; auth=none
- References: <orio9cw10j dot fsf at livre dot home> <CAFiYyc3k9xh_6RGbTdHYOJ-aEmUWVeFRoWy=YzCHFDNSdtTXCA at mail dot gmail dot com> <orwpxqvqnp dot fsf at livre dot home> <20150723203112 dot GB27818 at gate dot crashing dot org> <CAMe9rOpR+2gPxo0tKaRPtcML_Q4=r-_=9iqk+_JZFPkM=eN=BQ at mail dot gmail dot com> <CAMe9rOpbLEyDexVJqJAFJ3W6o4AktNog-jwk2CY4GZkrmT+nfA at mail dot gmail dot com> <or4mkmhgc9 dot fsf at livre dot home> <CAMe9rOp=S5fu1N=i7waswCYqJeLBCrySqYdFYkVa7LV04vpQSg at mail dot gmail dot com> <CAMe9rOrq+ZBAg1nZ1twEcPqwBj4j9+XA+SXQJVWWzjfdvidjtw at mail dot gmail dot com> <or1tfkdjhj dot fsf at livre dot home> <20150810082355 dot GA31149 at arm dot com> <55C8BFC3 dot 3030603 at redhat dot com> <CAKQMxzRzMrGtf921vqXCno5uoBN+uzsnJ5wX2Twmvhp1ziAEcA at mail dot gmail dot com> <or37zlpujd dot fsf at livre dot home> <55E72D4C dot 40705 at arm dot com> <orfv2wxygm dot fsf at livre dot home> <55FC3171 dot 7040509 at arm dot com> <ord1x8nblu dot fsf at livre dot home> <CAFiYyc1x2124-YgLmP_Yt+mBgyv_2Yp=O7G4WX9dbYfEs6z=NQ at mail dot gmail dot com> <orsi5k7gde dot fsf_-_ at livre dot home>
On Oct 9, 2015, Alexandre Oliva <aoliva@redhat.com> wrote:
> This fixes fallout from the PR64164 expander revamp.
> UroÅ kindly tested with an alpha-linux-gnu regstrap.
The one regression he mentioned from that run was gcc.dg/pr43300.c. The
vector parameter there is handled by the emit_block_move case of
assign_parms_setup_block. Alas, emit_block_move marks the decl as
addressable, which causes the subsequent is_gimple_reg test in
set_parm_rtl to return false. This causes us to call set_rtl with the
parm decl, instead of its default def, and the latter would be required
to store the RTL in the partition holding the default def.
The good news it that we don't really need to call is_gimple_reg there,
though; testing whether there is a default def in place is enough, and
ssa_default_def will find the default def in spite of the parm's no
longer passing is_gimple_reg, and it won't complain if given a decl that
was never a gimple reg.
So, I'm dropping the test. Regstrapped on x86_64-linux-gnu and
i686-linux-gnu. Ok to install?
[PR67891] don't test is_gimple_reg after parm expansion
From: Alexandre Oliva <aoliva@redhat.com>
for gcc/ChangeLog
PR middle-end/67891
* cfgexpand.c (set_parm_rtl): Drop is_gimple_reg test.
---
gcc/cfgexpand.c | 3 ---
1 file changed, 3 deletions(-)
diff --git a/gcc/cfgexpand.c b/gcc/cfgexpand.c
index 58e55d2..eaad859 100644
--- a/gcc/cfgexpand.c
+++ b/gcc/cfgexpand.c
@@ -1243,9 +1243,6 @@ set_parm_rtl (tree parm, rtx x)
record_alignment_for_reg_var (align);
}
- if (!is_gimple_reg (parm))
- return set_rtl (parm, x);
-
tree ssa = ssa_default_def (cfun, parm);
if (!ssa)
return set_rtl (parm, x);
--
Alexandre Oliva, freedom fighter http://FSFLA.org/~lxoliva/
You must be the change you wish to see in the world. -- Gandhi
Be Free! -- http://FSFLA.org/ FSF Latin America board member
Free Software Evangelist|Red Hat Brasil GNU Toolchain Engineer