On Tue, May 17, 2022 at 5:46 PM Andrew MacLeod via Gcc-patches
<gcc-patches@gcc.gnu.org> wrote:
>
> Sorry, missed this one earlier.
>
> When we register a relation, such as LE_EXPR,  we first check if there
> is an existing relation that applies, and if so they are combined. We
> were checking if the relation being registered was an EQ_EXPR, and if
> so, invoked the equivalence oracle.
>
>   I was doing the check for EQ_EXPR first, then merging with any
> existing relation.   In this case, the merge resulted in transforming
> the LE_EXPR into an EQ_EXPR, but the check to invoke the
> equivalence_oracle had already been done, and we got to a place we
> shouldn't have. doh!
>
> The fix is to do the merge first, then check for EQ_EXPR.
>
> The patch is a hair different (due to VREL_*  renames in gcc13), so I've
> attached both patches.
>
> bootstraps on gcc12 and gcc13 with no regressions.  pushed on trunk.
>
> OK for GCC12?

OK

> Andrew

Reply via email to