https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102150
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |rguenth at gcc dot gnu.org --- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> --- We have bool gimple_could_trap_p_1 (const gimple *s, bool include_mem, bool include_stores) { ... case GIMPLE_ASM: return gimple_asm_volatile_p (as_a <const gasm *> (s)); so we consider ASMs not trapping unless they are volatile. Note we do check the asm operands for possible traps, for example if memory inputs or outputs are a possible source of traps that doesn't need the ASM to be marked volatile. And yes, we'd require the ASM to be not trapping even when not executed on the actual input.