<html>
    <head>
      <base href="https://bugs.llvm.org/">
    </head>
    <body><table border="1" cellspacing="0" cellpadding="8">
        <tr>
          <th>Bug ID</th>
          <td><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - [llvm-mca] Add a 'memory' event type to track load/store queue usage."
   href="https://bugs.llvm.org/show_bug.cgi?id=39828">39828</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>[llvm-mca] Add a 'memory' event type to track load/store queue usage.
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>tools
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>trunk
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>PC
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>Windows NT
          </td>
        </tr>

        <tr>
          <th>Status</th>
          <td>NEW
          </td>
        </tr>

        <tr>
          <th>Severity</th>
          <td>enhancement
          </td>
        </tr>

        <tr>
          <th>Priority</th>
          <td>P
          </td>
        </tr>

        <tr>
          <th>Component</th>
          <td>llvm-mca
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>unassignedbugs@nondot.org
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>andrea.dibiagio@gmail.com
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>andrea.dibiagio@gmail.com, llvm-bugs@lists.llvm.org, matthew.davis@sony.com
          </td>
        </tr></table>
      <p>
        <div>
        <pre>Once <a href="https://reviews.llvm.org/D54957">https://reviews.llvm.org/D54957</a> is committed, class SchedulerStatistics
will start correctly tracking the load/store queue consumption in the LSUnit.

However, SchedulerStatistics will work under the assumption that load/store
queue
entries are reserved at 'instruction dispatched' stage, and released at
'instruction executed' stage. This currently matches the behavior of LSUnit.

That design will minimize the number of events generated by the
Dispatch/Execute stages, at the cost of doing extra bookkeeping in method
`onEvent()`. It also introduces a subtle (not-so-nice) dependency with how the
LSUnit works internally.

In future, we should add a new "memory queue" event type, so that
SchedulerStatistics will stop making assumptions on when/how queue entries are
allocated by the LSUnit.</pre>
        </div>
      </p>


      <hr>
      <span>You are receiving this mail because:</span>

      <ul>
          <li>You are on the CC list for the bug.</li>
      </ul>
    </body>
</html>