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

    <tr>
        <th>Summary</th>
        <td>
            llvm/lib/Passes/PassBuilderPipelines.cpp Issue with Simplifying CFG Calls
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

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

<pre>
    The file llvm/lib/Passes/PassBuilderPipelines.cpp simplifies the CFG Pass by passing the options when EnableGVNSink is enabled. I am getting a miscompare output on a SPEC 2006 benchmark 445.gobmk. By turning off this, it succeeds. I believe we dont need to have this simplification done if the pass is already added later in the program flow. Please find attached here for details on the same. 

 
![image](https://user-images.githubusercontent.com/29010573/232682764-6d095793-aecd-4add-9fa7-0e617158f563.png)
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyUUk1vtDYQ_jXmMlpkDBg4cHh3k41yqVZK1fuAB3BjbGSbrPbfV2aTVj2-F2TGM_N8-MEQ9GyJelafWf2S4R4X53tUOj4QZ1Flg1OP_s-FYNKGwJivlYmr0QMT1xuGQOH7cN61UeRveiOjLYV83DYIet2MnjQFiAvB5foGqReGB2wJ2s5H3W1ROxvgvpCFV4uDobe__vjQ9hN0ADoKKod3wBVmijHNIaw6jG7d0BO4PW57BGcB4eP2egHBuYSB7Lis6D-hqup8dsP6mcP5AXH3Nq1w0wRx0YGJC-gIYR9HIhUS0EBG0xfBnUA5G8ESKYgOFvyiY-ZfaSMm7qmLQE-HnCQtEUfjCdUDUClSYDCSB22fLd7NHleYjLvncDOEITlsFWCMOC6kYCFPMDkPiiJqE5K6NBpwpRwYf2H81_P78yMKVp_1ijOx-oWJdolxC6z8xcSVieseyJ-O25DPOi77kCqjs5FszEeX3lV0vOB1U6ZjKWQrGlmdpOJd3XTlCWlUpwqVOnUTNidOsmiKup1qWeabnZnoMtWXqis7zKgvZFs0neyaJlt6WfCGWpJdU5Q4ibJBapXiYqKqwGmSme4FFyWvipbXVVc2-VSrkYSUTd3UslM1qzitqE2eIpg7P2c6hJ16KYquzQwOZMKRYiEs3eG4ZEKkUPs-zZyGfQ6s4kaHGP7bEnU01P9mrt_TdrjruMDHMwePFKiU7wsaE7Ldm_7_9j8t__b5By7R2rz7m8bIxPXgnHAPTf8EAAD__-xiMFA">