]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
* lra.c (lra): Set lra_in_progress before check_rtl call.
authorlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 20 Nov 2013 18:17:49 +0000 (18:17 +0000)
committerlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 20 Nov 2013 18:17:49 +0000 (18:17 +0000)
     * recog.c (insn_invalid_p): Add !lra_in_progress to prevent
     adding clobber regs when LRA is running

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205136 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/lra.c
gcc/recog.c

index 485dc55ae1047406511863991adc70840b8915bc..72794d19dd5da4f2646380b004ef6d786566fa02 100644 (file)
@@ -1,3 +1,9 @@
+2013-11-20  Robert Suchanek  <Robert.Suchanek@imgtec.com>
+
+       * lra.c (lra): Set lra_in_progress before check_rtl call.
+       * recog.c (insn_invalid_p): Add !lra_in_progress to prevent
+       adding clobber regs when LRA is running.
+
 2013-11-20  Maciej W. Rozycki  <macro@codesourcery.com>
 
        * config/mips/mips.h (ISA_HAS_FP4): Remove TARGET_FLOAT64
index 0deae88e85a3dea39479cecdbe05c18a2f528833..ff89342d0c321e81684e9ee5bfd33b1788522a91 100644 (file)
--- a/gcc/lra.c
+++ b/gcc/lra.c
@@ -2238,6 +2238,10 @@ lra (FILE *f)
 
   init_insn_recog_data ();
 
+  /* We can not set up reload_in_progress because it prevents new
+     pseudo creation.  */
+  lra_in_progress = 1;
+
 #ifdef ENABLE_CHECKING
   check_rtl (false);
 #endif
@@ -2248,10 +2252,6 @@ lra (FILE *f)
 
   setup_reg_spill_flag ();
 
-  /* We can not set up reload_in_progress because it prevents new
-     pseudo creation.  */
-  lra_in_progress = 1;
-
   /* Function remove_scratches can creates new pseudos for clobbers --
      so set up lra_constraint_new_regno_start before its call to
      permit changing reg classes for pseudos created by this
index c8594bb59044577d67adc655264b5bd4ceade272..5c0ec165bd1423711f6b3bd4628baeefd6759576 100644 (file)
@@ -314,7 +314,9 @@ insn_invalid_p (rtx insn, bool in_group)
      clobbers.  */
   int icode = recog (pat, insn,
                     (GET_CODE (pat) == SET
-                     && ! reload_completed && ! reload_in_progress)
+                     && ! reload_completed 
+                      && ! reload_in_progress
+                      && ! lra_in_progress)
                     ? &num_clobbers : 0);
   int is_asm = icode < 0 && asm_noperands (PATTERN (insn)) >= 0;