https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101088
--- Comment #5 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The releases/gcc-11 branch has been updated by Richard Biener <rgue...@gcc.gnu.org>: https://gcc.gnu.org/g:91fc9610464281bb28e3c6529399fdcfb57fa812 commit r11-8696-g91fc9610464281bb28e3c6529399fdcfb57fa812 Author: Richard Biener <rguent...@suse.de> Date: Wed Jun 16 09:49:18 2021 +0200 tree-optimization/101088 - fix SM invalidation issue When we face a sm_ord vs sm_unord for the same ref during store sequence merging we assert that the ref is already marked unsupported. But it can be that it will only be marked so during the ongoing merging so instead of asserting mark it here. Also apply some optimization to not waste resources to search for already unsupported refs. 2021-06-16 Richard Biener <rguent...@suse.de> PR tree-optimization/101088 * tree-ssa-loop-im.c (sm_seq_valid_bb): Only look for supported refs on edges. Do not assert same ref but different kind stores are unsuported but mark them so. (hoist_memory_references): Only look for supported refs on exits. * gcc.dg/torture/pr101088.c: New testcase. (cherry picked from commit 43fc4234ad3d9302d3460385b6fdb5e3f59b6986)