------- Comment #3 from rguenth at gcc dot gnu dot org  2010-07-06 08:44 -------
(In reply to comment #2)
> 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?

No.  It should have been canonicalized a few lines above in MEM_REF handling.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44826

Reply via email to