<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] [Scheduling Model] Let models optionally specify which buffered resources are load/store queues."
   href="https://bugs.llvm.org/show_bug.cgi?id=36666">36666</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>[llvm-mca] [Scheduling Model] Let models optionally specify which buffered resources are load/store queues.
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>new-bugs
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>unspecified
          </td>
        </tr>

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

        <tr>
          <th>OS</th>
          <td>All
          </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>new bugs
          </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>llvm-bugs@lists.llvm.org
          </td>
        </tr></table>
      <p>
        <div>
        <pre>llvm-mca simulates the load/store queue differently from other functional
units. In particular, class LSUnit.h emulates a load/store unit implementing
queues for speculative execution of loads and stores.

At the moment, llvm-mca assumes a global LSUnit with a single load queue and a
single store queue.
However, there is no way currently in the LLVM model to tell which buffered
resources are modeling load queues (or store queues).
So, the tool optimistically assumes that the nuber of slots in the load/store
queues is unbounded.

Users can specify flag -lqueue=<uint> (vic. -squeue=<uint>) to override the
size of the load (vic. store) queue. However, it would be nice to to obtain
that information directly from the scheduling model.

The goal is to let models to (optionally) specify buffered resources are
load/store queue. By design, the tool expects a single load queue and a single
store queue (this may change in future). This may require extra checks in the
tablegen verifier functions.</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>