<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/126330>126330</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            [SLP] Polyhedron/fatigue2 16% slowdown after 88e7b8b
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            regression,
            performance,
            llvm:SLPVectorizer
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
            alexey-bataev
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          vzakhari
      </td>
    </tr>
</table>

<pre>
    Reverting https://github.com/llvm/llvm-project/commit/88e7b8b81c061113399637f936937ffaf5a9bc08 commit brings performance back.

It is reproducible on AMD EPYC 9684X: time changes from 36.8 seconds to 42.7 seconds.

The following lines of code slowed down by more than twice:
```
 950 deviatoric_stress_tensor(:,:) = stress_tensor(:,:)
 951 deviatoric_stress_tensor(1,1) = stress_tensor(1,1) - hydrostatic_stress
 952 deviatoric_stress_tensor(2,2) = stress_tensor(2,2) - hydrostatic_stress
 953       deviatoric_stress_tensor(3,3) = stress_tensor(3,3) - hydrostatic_stress
 954 !
 955 damaged_dev_stress_tensor(:,:) = deviatoric_stress_tensor(:,:)/(1.0_LONGreal -        &
 956 crack_parameter * damage)
 957 !
 958 !        compute the yield function
 959 !
 960       equivalent_stress = sqrt(1.5_LONGreal* sum((damaged_dev_stress_tensor(:,:)            &
 961 - back_stress_tensor(:,:))**2))
```

[default.log.gz](https://github.com/user-attachments/files/18716167/default.log.gz) - before/after SLP with the current Flang compiler

[revert.log.gz](https://github.com/user-attachments/files/18716168/revert.log.gz) - before/after SLP with the reverted commit

Reproducer command: `opt -mcpu=znver4 -print-after=slp-vectorizer --passes=slp-vectorizer`
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJysVV1vpDYX_jWemyNGxgbGXHDBZt55VSlto01VtVeRMQdwYzBrm0knv77iI5PdVkm2UhECg-3nPOfD55He63ZALEj6iTAmDf6Jl6iSQeKZMEbS405OobOuOD_Lx046vatsfSk-4xld0EMLXQijJ7wk7ETYqdWhm6q9sj1hJ2POL69odPYPVIGwk7J9r-eBEHioRCViRbM4jjnP84wfmpxnOT80jWxSmVeKClh3QOX00HoY0TXW9XJQCJVUj3tCS0LLHwJoDw5HZ-tJ6cog2AHKH4_wv7vfbyDPRPIb4SUE3SOoTg4temic7YFnewEelR1qD8FCwvaHl-8N_JcOobHG2KfZZaMH9GAbULZG8MY-YQ21fRqgukBvHULo5ADhSSucI0NLktHtpiXkKYUaz1oG67R68MGh9w8BB28dYWKJ5c3yzIHwI7y3YMWL38OLCbuJ38K6TkbQXWpnfZDhirGCs_fAGWE37C3w6-Tb4BzW6x0TnLAb_paJ6-TbJhIgLF6HKdSyly3WDzWePw78dyZpqXwR7-nD7c8__d-hNBBtbgFh2Wo6A-WkenwYpZM9BnRAWLnRuebx8EpVzMMXFGX7cQpzWSFcNJoammlQQdthXZxf92V024JfJn2WBoewcV_D98WFhWt65TrT8FM_-8TEd4fnq-vFxSyGaDmQHwQrJ6wkrGTbx7eHY77TTzU2cjJhb2y7b59JeiRMvNNnJo8ukiFI1fU4BE_YqdEG53csDnEWZwfCTn8DXWqmwsY6JOwkmzkl97d38KRDtwRaTc7hEOBk5NAuKdAG3ZWjWzrgf0dREHb6FvNDhutyrLcGuVL7vHVAdMtvOdRz1yMZtWOAqFfjRPjxeTijSyAanR5CtEATfvRmjM6o5op_RgdRNErv0f9jhmR0Vxe8znkud1jEBy7yQ8qSeNcVokoOWUZl0iSspljxJBdpIiUiy0TOcKcLRllKGRWUJjSJ9_xQCRnzLEtUXiWiJgnFXmqzn3Vjb127095PWMQs45zujKzQ-E2vHLZzqc0Hgc3dhjD2lTxc_y1CxMv727tfX51Y1c0VizxVU-tJQo32wb8aDjqYRRrvb-9IeoQ7ay4d1m42d2pk0O2EDOKMsHSRgUUD1kRt4rabnCn-tUQuDi-1sfp8LthfAQAA__-u-WXF">