https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102335
--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Internal GCC details: Most likely because there is a TARGET_EXPR in the IR which causes it to be considered a side effect: <<cleanup_point <<< Unknown tree: expr_stmt (void) mytype::memfun (&TARGET_EXPR <D.2411, {}>) >>>>>;