On 12/23/2009 06:47 PM, H.J. Lu wrote:
On Wed, Dec 23, 2009 at 8:41 AM, Paolo Bonzini<bonz...@gnu.org>  wrote:
On 12/23/2009 04:19 PM, Bingfeng Mei wrote:

It seems that just commenting out this check in fwprop.c should work.

Yes, but it would pessimize x86.


Is there a bug open for x86? Can't we make it target dependent, something
like

  /* Do not propagate loop invariant definitions inside the loop.  */
  if (targetm.foobar
     &&  DF_REF_BB (def)->loop_father != DF_REF_BB (use)->loop_father)
    return;

I'll open a bug. The solution is to actually understand what the address costs are on x86 (apparently it's not true that the more complex addressing modes are always better, probably because of instruction sizes), not to add a target macro.

Paolo

Reply via email to