https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101925
--- Comment #12 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The releases/gcc-10 branch has been updated by Richard Biener <rgue...@gcc.gnu.org>: https://gcc.gnu.org/g:66615029ec831da23b481cd3a01e90cff02c6891 commit r10-10207-g66615029ec831da23b481cd3a01e90cff02c6891 Author: Richard Biener <rguent...@suse.de> Date: Mon Aug 16 15:17:08 2021 +0200 tree-optimization/101925 - fix VN with reverse storage order This fixes value-numbering breaking reverse storage order accesses due to a missed check. It adds a new overload for reverse_storage_order_for_component_p and sets reversed on the VN IL ops for component and array accesses accordingly. It also compares the reversed reference ops flag on reference lookup. 2021-08-16 Richard Biener <rguent...@suse.de> PR tree-optimization/101925 * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Set reverse on COMPONENT_REF and ARRAY_REF according to what reverse_storage_order_for_component_p does. (vn_reference_eq): Compare reversed on reference ops. (reverse_storage_order_for_component_p): New overload. (vn_reference_lookup_3): Check reverse_storage_order_for_component_p on the reference looked up. * gcc.dg/sso-16.c: New testcase. (cherry picked from commit 0215b3559e55f39f38e10984a804c53907f7491c)