]> git.ipfire.org Git - thirdparty/gcc.git/blobdiff - gcc/init-regs.c
[Ada] Use Standard.Natural on bit references to packed arrays
[thirdparty/gcc.git] / gcc / init-regs.c
index 68fb7fe5d0519b8ed76564e1a2a8c618a94438f9..ed37ba8cabea7999b4ada5089b2c30e03f55efc1 100644 (file)
@@ -1,5 +1,5 @@
 /* Initialization of uninitialized regs.
-   Copyright (C) 2007-2015 Free Software Foundation, Inc.
+   Copyright (C) 2007-2020 Free Software Foundation, Inc.
 
 This file is part of GCC.
 
@@ -21,20 +21,11 @@ along with GCC; see the file COPYING3.  If not see
 #include "system.h"
 #include "coretypes.h"
 #include "backend.h"
-#include "tree.h"
 #include "rtl.h"
+#include "tree.h"
 #include "df.h"
-#include "alias.h"
-#include "regs.h"
-#include "flags.h"
-#include "insn-config.h"
-#include "expmed.h"
-#include "dojump.h"
-#include "explow.h"
-#include "calls.h"
+#include "memmodel.h"
 #include "emit-rtl.h"
-#include "varasm.h"
-#include "stmt.h"
 #include "expr.h"
 #include "tree-pass.h"
 
@@ -57,7 +48,7 @@ static void
 initialize_uninitialized_regs (void)
 {
   basic_block bb;
-  bitmap already_genned = BITMAP_ALLOC (NULL);
+  auto_bitmap already_genned;
 
   if (optimize == 1)
     {
@@ -113,6 +104,7 @@ initialize_uninitialized_regs (void)
                  bitmap_set_bit (already_genned, regno);
 
                  start_sequence ();
+                 emit_clobber (reg);
                  emit_move_insn (reg, CONST0_RTX (GET_MODE (reg)));
                  move_insn = get_insns ();
                  end_sequence ();
@@ -133,8 +125,6 @@ initialize_uninitialized_regs (void)
        df_dump (dump_file);
       df_remove_problem (df_live);
     }
-
-  BITMAP_FREE (already_genned);
 }
 
 namespace {