[PR64164] drop copyrename, integrate into expand

Alexandre Oliva aoliva@redhat.com
Wed Jun 10 00:28:00 GMT 2015


On Jun  5, 2015, Alexandre Oliva <aoliva@redhat.com> wrote:

> On Apr 27, 2015, Richard Biener <richard.guenther@gmail.com> wrote:

>>> +/* Return the promoted mode for name.  If it is a named SSA_NAME, it
>>> +   is the same as promote_decl_mode.  Otherwise, it is the promoted
>>> +   mode of a temp decl of same type as the SSA_NAME, if we had created
>>> +   one.  */
>>> +
>>> +machine_mode
>>> +promote_ssa_mode (const_tree name, int *punsignedp)
>>> +{
>>> +  gcc_assert (TREE_CODE (name) == SSA_NAME);
>>> +
>>> +  if (SSA_NAME_VAR (name))
>>> +    return promote_decl_mode (SSA_NAME_VAR (name), punsignedp);

>> As above I'd rather not have different paths for anonymous vs. non-anonymous
>> vars (so just delete the above two lines).

> Check

This caused the sparc regression reported by Eric in
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64164#c37

We need to match the mode of the rtl created for the partition and the
promoted mode expected for the parm.  I recall working to make parm and
result decls the partition leaders, so that promote_ssa_mode would DTRT,
but this escaped my mind when revisiting the patch after some time on
another project.

So we either restore promote_ssa_mode's check for an underlying decl, at
least for PARM_ and RESULT_DECLs, or further massage function.c to deal
with the mode difference.  Any preference?


I'm reverting the patch for now, so that we don't have to rush to a fix
on this, and I can have more time to test and fix other arches.  It was
a terrible mistake to not do so before submitting the final version of
the patch, or at least before installing it.  I apologize for that.

-- 
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



More information about the Gcc-patches mailing list