https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110282
--- Comment #15 from mcccs at gmx dot com --- There's indeed a miscompilation and I've confirmed it's still present in the current trunk. With -fno-dce -fno-ipa-cp -fno-tree-dce the issue was visible until r12-248 which made the issue latent. So I added -fno-tree-dse and then it was made latent by r12-1848. So I added: sed -i -e 's/mark_dead_statements (m_oparms\[i\]/(void)3;\/\//g' ./gcc/gcc/ipa-param-manipulation.cc which replaced "mark_dead_statements(blahblah)" with a no-op but then it was made latent by r15-5336 so I replaced in ipa-fnsummary.cc if (!gimple_plf (stmt, STMT_NECESSARY)) with if (!gimple_plf (stmt, STMT_NECESSARY) && 0) and the issue can be reproduced. **Summary for reproducing the issue from trunk:** Download the minimized testcase from https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110282#c14 -O3 -fno-dce -fno-ipa-cp -fno-tree-dce -fno-dse -fno-tree-dse sed -i -e 's/mark_dead_statements (m_oparms\[i\]/(void)3;\/\//g' ./gcc/gcc/ipa-param-manipulation.cc in ipa-fnsummary.cc, add && 0 after the condition of "!gimple_plf (stmt, STMT_NECESSARY)"