re PR target/65697 (__atomic memory barriers not strong enough for __sync builtins)
[gcc.git] / gcc / bt-load.c
index a114c4cf06e7ed381bf94c20b7814b41c5454a57..9c1d04e1173997d2530813a777cd4461923103e6 100644 (file)
@@ -26,15 +26,21 @@ along with GCC; see the file COPYING3.  If not see
 #include "hard-reg-set.h"
 #include "regs.h"
 #include "target.h"
-#include "expr.h"
+#include "symtab.h"
+#include "function.h"
 #include "flags.h"
+#include "alias.h"
+#include "tree.h"
+#include "insn-config.h"
+#include "expmed.h"
+#include "dojump.h"
+#include "explow.h"
+#include "calls.h"
+#include "emit-rtl.h"
+#include "varasm.h"
+#include "stmt.h"
+#include "expr.h"
 #include "insn-attr.h"
-#include "hashtab.h"
-#include "hash-set.h"
-#include "vec.h"
-#include "machmode.h"
-#include "input.h"
-#include "function.h"
 #include "except.h"
 #include "tm_p.h"
 #include "diagnostic-core.h"
@@ -426,7 +432,7 @@ note_btr_set (rtx dest, const_rtx set ATTRIBUTE_UNUSED, void *data)
   if (!REG_P (dest))
     return;
   regno = REGNO (dest);
-  end_regno = END_HARD_REGNO (dest);
+  end_regno = END_REGNO (dest);
   for (; regno < end_regno; regno++)
     if (TEST_HARD_REG_BIT (all_btrs, regno))
       {
@@ -533,8 +539,7 @@ compute_defs_uses_and_gen (btr_heap_t *all_btr_defs, btr_def *def_array,
                          int reg;
                          for (reg = first_btr; reg <= last_btr; reg++)
                            if (TEST_HARD_REG_BIT (all_btrs, reg)
-                               && refers_to_regno_p (reg, reg + 1, user->insn,
-                                                     NULL))
+                               && refers_to_regno_p (reg, user->insn))
                              {
                                note_other_use_this_block (reg,
                                                           info.users_this_bb);
@@ -597,7 +602,7 @@ compute_defs_uses_and_gen (btr_heap_t *all_btr_defs, btr_def *def_array,
          int regno;
 
          for (regno = first_btr; regno <= last_btr; regno++)
-           if (refers_to_regno_p (regno, regno+1, insn, NULL))
+           if (refers_to_regno_p (regno, insn))
              SET_HARD_REG_BIT (btrs_live_at_end[i], regno);
        }
 
@@ -710,8 +715,7 @@ link_btr_uses (btr_def *def_array, btr_user *use_array, sbitmap *bb_out,
                      bitmap_clear (reaching_defs_of_reg);
                      for (reg = first_btr; reg <= last_btr; reg++)
                        if (TEST_HARD_REG_BIT (all_btrs, reg)
-                           && refers_to_regno_p (reg, reg + 1, user->insn,
-                                                 NULL))
+                           && refers_to_regno_p (reg, user->insn))
                          bitmap_or_and (reaching_defs_of_reg,
                            reaching_defs_of_reg,
                            reaching_defs,
@@ -1197,7 +1201,7 @@ move_btr_def (basic_block new_def_bb, int btr, btr_def def, bitmap live_range,
   btr_mode = GET_MODE (SET_DEST (set));
   btr_rtx = gen_rtx_REG (btr_mode, btr);
 
-  new_insn = as_a <rtx_insn *> (gen_move_insn (btr_rtx, src));
+  new_insn = gen_move_insn (btr_rtx, src);
 
   /* Insert target register initialization at head of basic block.  */
   def->insn = emit_insn_after (new_insn, insp);