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