https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78348

            Bug ID: 78348
           Summary: [7 REGRESSION] 15% performance drop for
                    coremark-pro/nnet-test after r242038
           Product: gcc
           Version: 7.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: tree-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: ysrumyan at gmail dot com
  Target Milestone: ---

We noticed huge (>15%) performance drop after fix in loop distribution phase.
Before fix fix distribution is not performed since loop contains anti (write
after read) dependence. But now distibution is performed and memmove & memset
built-in are generated. We don't have fast implemention of memmove on HASWELL
that results in leads to performance regression. But note that the dependence
analysis is very poor and does not detect simple copying one struct field to
another. I attached simple test-case to reproduce this issue.
Note also that fix to pg_add_dependence_edges is correct and must not be
removed.

Reply via email to