This is the mail archive of the
mailing list for the GCC project.
Re: fixed_scalar_and_varying_struct_p and varies_p
On Mon, Jan 2, 2012 at 7:54 PM, Eric Botcazou <email@example.com> wrote:
>> I'd say open a missed optimization bug with the testcase and go ahead
>> with both patches. ?Let's see if Eric has some comments first though.
> None, but the m32c maintainer may have some.
> DJ, do you happen to know the rationale for the use of the MEM_SCALAR_P and
> MEM_IN_STRUCT_P flags in m32c_immd_dbl_mov? ?What condition do these tests try
> to model exactly?
Ping? I'm now running into wrong-code issues because of store_field setting
MEM_IN_STRUCT_P of !MEM_SCALAR_P ... that's not a conservative
guesstimate, and initial attribute finding already has discovered everything
possible. Thus, I'm testing but was remembering your patch removing
all traces of MEM_IN_STRUCT_P/MEM_SCALAR_P which would be
of course even better.
Given DJs lack of response I'd say he doesn't know or does not have any
2012-01-24 Richard Guenther <firstname.lastname@example.org>
* expr.c (store_field): Do not set MEM_IN_STRUCT_P.
--- gcc/expr.c (revision 183470)
+++ gcc/expr.c (working copy)
@@ -6429,8 +6432,6 @@ store_field (rtx target, HOST_WIDE_INT b
if (to_rtx == target)
to_rtx = copy_rtx (to_rtx);
- if (!MEM_SCALAR_P (to_rtx))
- MEM_IN_STRUCT_P (to_rtx) = 1;
if (!MEM_KEEP_ALIAS_SET_P (to_rtx) && MEM_ALIAS_SET (to_rtx) != 0)
set_mem_alias_set (to_rtx, alias_set);
> Eric Botcazou