https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68173
--- Comment #5 from Richard Biener <rguenth at gcc dot gnu.org> ---
I wonder what difference
Index: gcc/gimplify.c
===================================================================
--- gcc/gimplify.c (revision 229574)
+++ gcc/gimplify.c (working copy)
@@ -499,7 +499,7 @@ lookup_tmp_var (tree val, bool is_formal
block, which means it will go into memory, causing much extra
work in reload and final and poorer code generation, outweighing
the extra memory allocation here. */
- if (!optimize || !is_formal || TREE_SIDE_EFFECTS (val))
+ if (!is_formal || TREE_SIDE_EFFECTS (val))
ret = create_tmp_from_val (val);
else
{
makes to this (at -O0). The comment is clearly very outdated but
generated code quality at -O0 might still be worse?