[Bug rtl-optimization/79985] ICE in code_motion_path_driver, at sel-sched.c:6580

amonakov at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Fri Apr 20 18:31:00 GMT 2018


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79985

--- Comment #7 from Alexander Monakov <amonakov at gcc dot gnu.org> ---
Or rather like this:

diff --git a/gcc/df-scan.c b/gcc/df-scan.c
index 95e1e0df2d5..732705c0385 100644
--- a/gcc/df-scan.c
+++ b/gcc/df-scan.c
@@ -3207,11 +3207,11 @@ df_insn_refs_collect (struct df_collection_rec
*collection_rec,
   if (CALL_P (insn_info->insn))
     df_get_call_refs (collection_rec, bb, insn_info, flags);

-  if (asm_noperands (PATTERN (insn_info->insn)) >= 0)
+  if (GET_CODE (PATTERN (insn_info->insn)) == ASM_INPUT)
     for (unsigned i = 0; i < FIRST_PSEUDO_REGISTER; i++)
       if (global_regs[i])
        {
-         /* As with calls, asm statements reference all global regs. */
+         /* As with calls, basic asms reference all global regs. */
          df_ref_record (DF_REF_BASE, collection_rec, regno_reg_rtx[i],
                         NULL, bb, insn_info, DF_REF_REG_USE, flags);
          df_ref_record (DF_REF_BASE, collection_rec, regno_reg_rtx[i],


More information about the Gcc-bugs mailing list