https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90194
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |missed-optimization Status|UNCONFIRMED |NEW Last reconfirmed| |2019-04-24 Ever confirmed|0 |1 --- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> --- Confirmed. update-address-taken does, after CCP: af (int xn) { void * D.2359; - void * _2; <bb 2> [local count: 1073741824]: # DEBUG BEGIN_STMT # DEBUG D.2357 => 4 # DEBUG nq => &xn # DEBUG BEGIN_STMT - _4 = &xn; # DEBUG D.2357 => NULL # DEBUG nq => NULL - _2 = _4; - MEM[(struct cb *)_2] = {}; + xn_5 = VIEW_CONVERT_EXPR<int>({}); + # DEBUG xn => xn_5 return; which failed to "fold" the V_C_E. It does reach rhs = fold_build1 (VIEW_CONVERT_EXPR, TREE_TYPE (lhs), rhs); but this does nothing.