From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jim Wilson To: law@cygnus.com Cc: rth@cygnus.com (Richard Henderson), egcs@cygnus.com Subject: Re: alpha haifa regression Date: Mon, 29 Sep 1997 15:05:00 -0000 Message-id: <199709292204.PAA09040@cygnus.com> References: <18089.875565176@hurl.cygnus.com> X-SW-Source: 1997-09/msg01123.html If you set MEM_IN_STRUCT_P, then the alias code will assume that the flushback can't alias scalars. This loses when you extract scalars off a varargs list. If you don't set MEM_IN_STRUCT_P, then the alias code will assume that the flushback can't alias structs. THis loses when you extract structs off a varargs list. You are assuming that it is possible to do both scalar and structure references to the saved register block. However, there is only one way to access this data, and this is via va_arg. It depends on how va_arg is defined, but for some targets, it will always result in a MEM with MEM_IN_STRUCT_P set, because va_arg always does an array and/or structure reference. And if this is what va_arg does, then the insns storing into the saved register block must always have MEM_IN_STRUCT_P set also. I suggest you look at the RTL before deciding whether a blockage insn is needed. Jim