https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97849
--- Comment #4 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The releases/gcc-10 branch has been updated by Alex Coplan <acop...@gcc.gnu.org>: https://gcc.gnu.org/g:ad8c55c1df32839cf74704b68a072772b14bd1e2 commit r10-9642-gad8c55c1df32839cf74704b68a072772b14bd1e2 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.