https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110874
--- Comment #1 from David Binderman <dcb314 at hotmail dot com> ---
Stack backtrace seems to be:
#0 0x0000000000a0b511 in operand_compare::verify_hash_value (flags=0,
this=<optimized out>, arg0=<optimized out>, arg1=<optimized out>,
ret=<optimized out>) at ../../trunk.year/gcc/fold-const.cc:4074
#1 operand_compare::operand_equal_p (
this=0x2efbbd8 <default_compare_instance>, arg0=0x7fffe9c9fc60,
arg1=0x7fffe9cc8e10, flags=0) at ../../trunk.year/gcc/fold-const.cc:3090
#2 0x0000000000a04162 in operand_equal_p (arg0=0x7fffe9c9fc60,
arg1=0x7fffe9cc8e10, flags=16) at ../../trunk.year/gcc/fold-const.cc:4105
#3 0x0000000001dde083 in gimple_bitwise_inverted_equal_p (
expr1=0x7fffe9c9fc60, expr2=expr2@entry=0x7fffe9cc8e10,
valueize=valueize@entry=0x106ee10 <rpo_vn_valueize(tree_node*)>)
at ../../trunk.year/gcc/gimple-match-head.cc:284
Looking for the word "invert" in the range of git hashes gives:
$ grep invert /tmp/0
Slightly improve bitwise_inverted_equal_p comparisons
This slighly improves bitwise_inverted_equal_p
* gimple-match-head.cc (gimple_bitwise_inverted_equal_p): Valueize
Move `~X & X` and `~X | X` over to use bitwise_inverted_equal_p
bitwise_inverted_equal_p. It also allows us to remove 2 other patterns
use bitwise_inverted_equal_p, removing :c as
bitwise_inverted_equal_p
$
This is commit:
commit ee20be8325f7f257ba91a0201cfb3bd6bfbceba9
Author: Andrew Pinski <[email protected]>
Date: Sat Jul 29 16:29:09 2023 -0700
Slightly improve bitwise_inverted_equal_p comparisons
I can't be sure yet, but that commit is a likely candidate.
Perhaps Andrew would be willing to offer their opinion ?