This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

patch to fix PR63448


  The following patch solves PR63448.  The problem is described on

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63448

  The patch is safe and was bootstrapped and tested on x86/x86-64.

Committed as rev. 216270 to the trunk and as rev. 216271 to gcc-4.9 branch.

2014-10-15  Vladimir Makarov  <vmakarov@redhat.com>

        PR rtl-optimization/63448
        * lra-int.h (LRA_MAX_CONSTRAINT_ITERATION_NUMBER): Remove.
        (LRA_MAX_ASSIGNMENT_ITERATION_NUMBER): New.
        (LRA_MAX_INHERITANCE_PASSES): Use it.
        (lra_constraint_iter_after_spill): Remove.
        (lra_assignment_iter): New.
        (lra_assignment_iter_after_spill): New.
        * lra-assigns.c (lra_assignment_iter): New.
        (lra_assignment_iter_after_spill): New.
        (former_reload_pseudo_spill_p): New.
        (spill_for): Set up former_reload_pseudo_spill_p.
        (setup_live_pseudos_and_spill_after_risky): Ditto.
        (assign_by_spills): Ditto.
        (lra_assign): Increment lra_assignment_iter.  Print the iteration
        number.  Reset former_reload_pseudo_spill_p.  Check
        lra_assignment_iter_after_spill.
        * lra.c (lra): Remove lra_constraint_iter_after_spill.  Initialize
        lra_assignment_iter and lra_assignment_iter_after_spill.
        * lra-constraints.c (lra_constraint_iter_after_spill): Remove.
        (lra_constraints): Remove code with
        lra_assignment_iter_after_spill.

2014-10-15  Vladimir Makarov  <vmakarov@redhat.com>

        PR rtl-optimization/63448
        * gcc.target/i386/pr63448.c: New test.

Attachment: pr63448.patch
Description: Text document


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]