This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: patch to fix PR55106
- From: Gary Funck <gary at intrepid dot com>
- To: Vladimir Makarov <vmakarov at redhat dot com>
- Cc: GCC Patches <gcc-patches at gcc dot gnu dot org>
- Date: Wed, 31 Oct 2012 09:33:06 -0700
- Subject: Re: patch to fix PR55106
- References: <508DD119.5040509@redhat.com>
On 10/28/12 20:43:05, Vladimir Makarov wrote:
> The following patch fixes PR55106. A value in GENERAL_REGS is
> inherited into a move with destination pseudo of SSE_REGS. It
> results into secondary move for which inheritance is tried again an
> again. It means cycling LRA passes.
>
> The patch was successfully bootstrapped on x86/x86-64.
This patch fails on IA64, due to unused variables on an #ifndef path.
This fix, or something like it is needed.
Index: gcc/lra-constraints.c
===================================================================
--- gcc/lra-constraints.c (revision 192988)
+++ gcc/lra-constraints.c (working copy)
@@ -3591,7 +3591,8 @@ skip_usage_debug_insns (rtx usage_insns)
USAGE_INSNS after inserting inherited pseudo of class INHER_CL
into the insn. */
static bool
-check_secondary_memory_needed_p (enum reg_class inher_cl, rtx usage_insns)
+check_secondary_memory_needed_p (enum reg_class inher_cl ATTRIBUTE_UNUSED,
+ rtx usage_insns ATTRIBUTE_UNUSED)
{
#ifndef SECONDARY_MEMORY_NEEDED
return false;