On Tue, 30 Oct 2012, Richard Biener wrote:

> 
> As requested this adds predicates to check whether the lhs of
> a assign or call is a store and whether rhs1 of an assignment
> is a load.  It uses this in place of the existing, slightly
> bogus, check in the stmt estimate code.
> 
> Bootstrap and regtest running on x86_64-unknown-linux-gnu.

Committed with the following adjustment as we now would inline foo
as we no longer account memory move costs for stmts like

  pInput_9 = &MEM[(void *)pInput_1 + 8B];

adding noinline looks reasonable anyway (we'll fix the above
to cost something again with a followup).

Richard.

Index: gcc/testsuite/gcc.dg/vect/slp-perm-2.c
===================================================================
*** gcc/testsuite/gcc.dg/vect/slp-perm-2.c      (revision 192984)
--- gcc/testsuite/gcc.dg/vect/slp-perm-2.c      (working copy)
***************
*** 12,18 ****

  #define N 16

! void foo (unsigned int *__restrict__ pInput, unsigned int *__restrict__ 
pOutput)
  {
    unsigned int i, a, b;

--- 12,19 ----

  #define N 16

! void __attribute__((noinline))
! foo (unsigned int *__restrict__ pInput, unsigned int *__restrict__ 
pOutput)
  {
    unsigned int i, a, b;


Reply via email to