[Bug tree-optimization/108447] [13 Regression] glibc math/test-*-iseqsig failures

amacleod at redhat dot com gcc-bugzilla@gcc.gnu.org
Mon Jan 23 17:26:58 GMT 2023


--- Comment #25 from Andrew Macleod <amacleod at redhat dot com> ---
Created attachment 54327
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=54327&action=edit
possible patch

There's another infrastructure patch which precedes this one which turns
existing relation_union and relation_intersection calls into union_ and
intersection calls through the value_relation class.    THen we can isolate all
the union and intersection calls in one place.

This patch introduces VREL_OTHER and adjusts intersection and union to produce
it as appropriate only if the operands are floating point.

if intersection produces UNDEFINED and either of the relations feeding it were
<, <=, >, or >=   then it turns it to VR_OTHER.   the prevents false sides of
branches from combining  to produce  UNDEFINED when they end up being a known

Union is adjusted such that < >, or <= >= also produce VREL_OTHER.   < > cannot
be properly represented, and <= >= was producing VARYING, which is also not

Does this cover things sufficiently? The test case correctly compiles and runs
now (I think :-)

I am running builds/tests now and will post the complete patchset when

More information about the Gcc-bugs mailing list