https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97849
--- Comment #2 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Prathamesh Kulkarni <prathamesh3...@gcc.gnu.org>: https://gcc.gnu.org/g:5700973f4a30762b4fc21687bb5f7843e55da2e4 commit r11-5268-g5700973f4a30762b4fc21687bb5f7843e55da2e4 Author: Prathamesh Kulkarni <prathamesh.kulka...@linaro.org> Date: Tue Nov 24 06:50:53 2020 +0530 tree-opt: Fix segfault in tree-if-conv.c with -march=armv8.2-a+sve [PR97849] The issue here is that rpo vn may eliminate target ssa_name referred to in redundant_ssa_names, and thus ifcvt_local_dce may replace candidate ssa_name with invalid ssa_name resulting in incorrect IR. The patch simply does ssa_name replacement before calling do_rpo_vn, which fixes the issue. gcc/ 2020-11-24 Prathamesh Kulkarni <prathamesh.kulka...@linaro.org> PR tree-optimization/97849 * tree-if-conv.c (tree_if_conversion): Move ssa_name replacement code from ifcvt_local_dce to this function before calling do_rpo_vn. gcc/testsuite/ 2020-11-24 Prathamesh Kulkarni <prathamesh.kulka...@linaro.org> PR tree-optimization/97849 * gcc.dg/tree-ssa/pr97849.c: New test.