https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79985
Alexander Monakov <amonakov at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Assignee|unassigned at gcc dot gnu.org |amonakov at gcc dot
gnu.org
--- Comment #6 from Alexander Monakov <amonakov at gcc dot gnu.org> ---
Candidate patch for gcc-9 stage 1:
diff --git a/gcc/df-scan.c b/gcc/df-scan.c
index 95e1e0df2d5..4708fc328c6 100644
--- a/gcc/df-scan.c
+++ b/gcc/df-scan.c
@@ -3207,7 +3207,8 @@ 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 (asm_noperands (PATTERN (insn_info->insn)) >= 0
+ && volatile_insn_p (PATTERN (insn_info->insn)))
for (unsigned i = 0; i < FIRST_PSEUDO_REGISTER; i++)
if (global_regs[i])
{