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]

Re: [PATCH] Fix regno_in_use_p for RTL checking bootstrap (PR rtl-optimization/72821)




On 08/06/2016 03:11 PM, Jakub Jelinek wrote:
On Wed, Aug 03, 2016 at 02:59:30PM -0400, Vladimir N Makarov wrote:
--- lra-spills.c	(revision 239000)
+++ lra-spills.c	(working copy)
@@ -686,16 +686,40 @@ return_regno_p (unsigned int regno)
    return false;
  }
-/* Return true if REGNO is one of subsequent USE after INSN. */
+/* Return true if REGNO is in one of subsequent USE after INSN in the
+   same BB.  */
  static bool
  regno_in_use_p (rtx_insn *insn, unsigned int regno)
  {
+  static lra_insn_recog_data_t id;
+  static struct lra_static_insn_data *static_id;
+  struct lra_insn_reg *reg;
+  int i, arg_regno;
+  basic_block bb = BLOCK_FOR_INSN (insn);
+
    while ((insn = next_nondebug_insn (insn)) != NULL_RTX
-	 && INSN_P (insn) && GET_CODE (PATTERN (insn)) == USE)
+	 && bb == BLOCK_FOR_INSN (insn))
This broke rtl checking bootstrap, because BLOCK_FOR_INSN can't be used on
BARRIERs.

Fixed thusly, bootstrapped/regtested on x86_64-linux and i686-linux, ok for
trunk?


Sure, Jakub.  Thank you fixing it.


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