https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104601
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Summary|[11 Regression] Invalid |[11/12 Regression] Invalid |branch elimination at -O2 |branch elimination at -O2 Target Milestone|--- |11.3 --- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> --- >From fre3 (with details): Value numbering stmt = *__pred$__d_53 = _58 (); Setting value number of .MEM_143 to .MEM_135 (changed) Value numbering stmt = SR.60_59 = MEM <unsigned char> [(const struct optional &)__pred$__d_53 + 4]; Setting value number of SR.60_59 to 0 (changed) Value numbering stmt = _60 = VIEW_CONVERT_EXPR<bool>(SR.60_59); Match-and-simplified VIEW_CONVERT_EXPR<bool>(SR.60_59) to 0 RHS VIEW_CONVERT_EXPR<bool>(SR.60_59) simplified to 0 Hmm, Somehow *__pred$__d_53 is missed.