http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59154
Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jakub at gcc dot gnu.org --- Comment #4 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Yeah. I think all passes aren't required to fold everything they create, and unlike RTL where say comparison of two CONST_INTs is invalid IL, having binary operation with two constants is valid GIMPLE. So I'd say simplify_conversion_from_bitmask should either not be called if the argument isn't SSA_NAME, or check whether it is SSA_NAME and fail if it is not. IMHO later passes should optimize it properly.