[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
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108447
--- 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
NAN.
Union is adjusted such that < >, or <= >= also produce VREL_OTHER. < > cannot
be properly represented, and <= >= was producing VARYING, which is also not
correct.
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
complete.
More information about the Gcc-bugs
mailing list