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

    <tr>
        <th>Summary</th>
        <td>
            [Clang] Investigate updating PGO cache to do offline merging
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            clang
      </td>
    </tr>

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

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

<pre>
    From some internal discussion, it appears that the default strategy for dumping profile data (online merging) needs to have ASLR disabled in order to do indirect call value profiling, otherwise no ICP gets performed. We should just need to set `LLVM_PROFILE_FILE` to contain `%p` rather than `%m`. This results in more work being spent during the offline merging stage, but I don't think that's a big deal. Not having any ICP might be a decent performance regression.

Steps to perform
1. [ ] Verify that no ICP is happening
2. [ ] Update the cache to use offline merging
3. [ ] Measure the performance improvement
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJxkk1GP2zYMxz-N_ELUUGTr4jz4Ib1bhgOu66HduseCtmhbrSwZEpXivv0gN0OK7SWBJZJ__n8UMSU7e6Je6PdCP1WYeQmxH0JY0aM15A-6rYZg3vpLDCuksBJYzxQ9OjA2jTklG7xQj2AZcNsIYwJekIEXAkMTZseQOCLT_AZTiGDyulk_wxbDZB2BQUYQqgveWU-wUpytn4U6gScyCTjAgleC8-eXT0UTB0cGrIcQDcVybQJYb2ykkWFE5-CKLtNNYK_1CIEXij9sIvABnh9fYSZOsFGcQlzJ1PA3QVpCdga-5cS7dqmdiEE8yJeXLx--vn76eHl--e1r-REPslyPwTNaX0KE0ls5jVikCoR_j1fxIGv4c7EJIqXsOJX21xAJfoT4HQYqPNJGnsHkWD4KvTBNvxKBxDhT8TJkhmcwhfuxgLb--85cqGMChMHOYAhdDX8ELuxKMvq33fZq54VhIEAwNBbFGwP0I0GkOdI-0lrIs5Dnz0zbPoJblJDnQw1Cvwehn-ALRTu9_Zz3DatNsJR34At3eVb34L82g0y7sxHHhUrVnP5nU8hzc0_6QJhy_Jn1a6N23WK40kqeK9M35tScsKL-cNRd16hT11RL302aGqPUMDV41KeuaZsTSn0YtZxGZdrK9koqLU9KK9k2sqmPeuiM6XTXtHpozUG0kla0rnbuutYhzpVNKVN_eJDHY1s5HMilfXmUGh2Wl6bKHsW-JLwb8pxEK51NnO4l2LLbN-5xz9BP8OyvlNjOBU8ulMrAXn__eOdkwn8xVTm6fmHekmjOQl2EusyWlzzUY1iFuhS529-7LYZvNLJQl739JNTl5uDaq38CAAD__0mpV1Q">