------- Comment #2 from hubicka at gcc dot gnu dot org 2010-07-05 16:45 ------- Actually it seems to be fallout of my local DECL_BY_REFERENCE change (so it does not reproduce on clean mainline). Apprently the result_slot_addr is something that is not allowed in mem_ref. It goes away with: @@ -902,6 +903,8 @@ remap_gimple_op_r (tree *tp, int *walk_s then regimplification is probably needed. */ if (invariant && !is_gimple_min_invariant (*tp)) id->regimplify = true; + if (!is_gimple_mem_ref_addr (TREE_OPERAND (*tp, 0))) + id->regimplify = true;
*walk_subtrees = 0; Does it seem to make sense? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44826