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]) {