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

--- Comment #4 from Richard Biener <rguenth at gcc dot gnu.org> ---
Note that a not too disruptive "implementation" of the dependences would be
to add outgoing abnormal edges to the fenv* calls.  Not too
disruptive in terms of implementation - the effect on code generation might
be very noticable though (note that all calls to functions that might call
fenv* functions themselves are subject to the same treatment).  Of course
there's the (existing) issue of RTL expansion not maintaining abnormal edges.

You can experiment with this by declaring the fenv* functions with
__attribute__((returns_twice)).

Note w/o also having incoming abnormal edges this might not be a full barrier
for downward motion.

Reply via email to