On 12-10-31 12:33 PM, Gary Funck wrote:
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.
Sorry for this. It was already fixed today by Joerne Rennecke.
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;