This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: fixed_scalar_and_varying_struct_p and varies_p


On Mon, Jan 2, 2012 at 7:54 PM, Eric Botcazou <ebotcazou@adacore.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
objection.

Thanks,
Richard.

2012-01-24  Richard Guenther  <rguenther@suse.de>

        * expr.c (store_field): Do not set MEM_IN_STRUCT_P.

Index: gcc/expr.c
===================================================================
--- 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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]