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.