]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
i386-features.c (general_remove_non_convertible_regs): Remove.
authorRichard Biener <rguenther@suse.de>
Mon, 26 Aug 2019 13:55:46 +0000 (13:55 +0000)
committerRichard Biener <rguenth@gcc.gnu.org>
Mon, 26 Aug 2019 13:55:46 +0000 (13:55 +0000)
2019-08-26  Richard Biener  <rguenther@suse.de>

* config/i386/i386-features.c (general_remove_non_convertible_regs):
Remove.
(convert_scalars_to_vector): Do not call it.

From-SVN: r274929

gcc/ChangeLog
gcc/config/i386/i386-features.c

index aa2bec6169bcb6a2046f2929a95bd9d204d47fa7..c61f3385a8c3c48a46a9286e1cc646a4d07622a9 100644 (file)
@@ -1,3 +1,9 @@
+2019-08-26  Richard Biener  <rguenther@suse.de>
+
+       * config/i386/i386-features.c (general_remove_non_convertible_regs):
+       Remove.
+       (convert_scalars_to_vector): Do not call it.
+
 2019-08-26  Tejas Joshi  <tejasjoshi9673@gmail.com>
             Uros Bizjak  <ubizjak@gmail.com>
 
index b70757e3fefb08aaa77b8e0f535926173c3a1929..8f12bd27aceaec844732820b2edbda0c675add2b 100644 (file)
@@ -1425,66 +1425,6 @@ timode_scalar_to_vector_candidate_p (rtx_insn *insn)
   return false;
 }
 
-/* For a given bitmap of insn UIDs scans all instruction and
-   remove insn from CANDIDATES in case it has both convertible
-   and not convertible definitions.
-
-   All insns in a bitmap are conversion candidates according to
-   scalar_to_vector_candidate_p.  Currently it implies all insns
-   are single_set.  */
-
-static void
-general_remove_non_convertible_regs (bitmap candidates)
-{
-  bitmap_iterator bi;
-  unsigned id;
-  bitmap regs = BITMAP_ALLOC (NULL);
-
-  EXECUTE_IF_SET_IN_BITMAP (candidates, 0, id, bi)
-    {
-      rtx def_set = single_set (DF_INSN_UID_GET (id)->insn);
-      rtx reg = SET_DEST (def_set);
-
-      if (!REG_P (reg)
-         || bitmap_bit_p (regs, REGNO (reg))
-         || HARD_REGISTER_P (reg))
-       continue;
-
-      for (df_ref def = DF_REG_DEF_CHAIN (REGNO (reg));
-          def;
-          def = DF_REF_NEXT_REG (def))
-       {
-         if (!bitmap_bit_p (candidates, DF_REF_INSN_UID (def)))
-           {
-             if (dump_file)
-               fprintf (dump_file,
-                        "r%d has non convertible definition in insn %d\n",
-                        REGNO (reg), DF_REF_INSN_UID (def));
-
-             bitmap_set_bit (regs, REGNO (reg));
-             break;
-           }
-       }
-    }
-
-  EXECUTE_IF_SET_IN_BITMAP (regs, 0, id, bi)
-    {
-      for (df_ref def = DF_REG_DEF_CHAIN (id);
-          def;
-          def = DF_REF_NEXT_REG (def))
-       if (bitmap_bit_p (candidates, DF_REF_INSN_UID (def)))
-         {
-           if (dump_file)
-             fprintf (dump_file, "Removing insn %d from candidates list\n",
-                      DF_REF_INSN_UID (def));
-
-           bitmap_clear_bit (candidates, DF_REF_INSN_UID (def));
-         }
-    }
-
-  BITMAP_FREE (regs);
-}
-
 /* For a register REGNO, scan instructions for its defs and uses.
    Put REGNO in REGS if a def or use isn't in CANDIDATES.  */
 
@@ -1646,8 +1586,6 @@ convert_scalars_to_vector (bool timode_p)
 
   if (timode_p)
     timode_remove_non_convertible_regs (&candidates[2]);
-  for (unsigned i = 0; i <= 1; ++i)
-    general_remove_non_convertible_regs (&candidates[i]);
 
   for (unsigned i = 0; i <= 2; ++i)
     if (!bitmap_empty_p (&candidates[i]))