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

--- Comment #20 from rguenther at suse dot de <rguenther at suse dot de> ---
On Tue, 12 Apr 2022, jakub at gcc dot gnu.org wrote:

> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105231
> 
> --- Comment #19 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
> It is true that float_extend from a constant or constant pool memory if the
> constant isn't NaN should never raise any kind of exception or trap.
> Shouldn't we handle that in may_trap_p_1 or whatever considers the RTL
> potentially trapping or raising exception?
> At least assuming it is a conversion between modes where the outer mode can
> represent all the values of the inner mode.

I'm not sure that's a general enough fix though since we seem to drop
the REG_EQUAL note and as soon as we do that there's a disconnect
between what CFG generation thinks throws and what combine thinks
is good enough to put a REG_EH_REGION note on.

It also looks like on RTL there's no way to mark an RTX as not
trapping/throwing.

Reply via email to