[Bug tree-optimization/94166] [10 Regression] random -fcompare-debug failures since r10-1913
jakub at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Mon Mar 16 08:07:35 GMT 2020
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94166
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |RESOLVED
Resolution|--- |FIXED
--- Comment #5 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Oops, I've screwed up, the commit log should have been:
reassoc: Avoid code generation to depend on hash_map traversal [PR94166]
On the following testcase, if there is ASLR, the compiler generates
different code each time (out of 1000 invocations 994 unique assembler
contents). The problem is that undistribute_bitref_for_vector uses
a hash_map from a tree (SSA_NAME) to a vector and such a hash_map is
by default doing pointer hashing on the SSA_NAME rather than using
something stable (SSA_NAME_VERSION).
One possible way would be to use SSA_NAME_VERSION as hash function,
but given that we from the hash_map traversal just populate a vector
which is then sorted, I think it is easier to make the sort callback
use SSA_NAME_VERSION as secondary sorting key and thus ensure stable
sort (that is generally desirable anyway).
instead. Sorry.
More information about the Gcc-bugs
mailing list