<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 - Write a TargetMachine creation API to replace EngineBuilder"
   href="https://bugs.llvm.org/show_bug.cgi?id=35993">35993</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>Write a TargetMachine creation API to replace EngineBuilder
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>libraries
          </td>
        </tr>

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

        <tr>
          <th>Hardware</th>
          <td>All
          </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>OrcJIT
          </td>
        </tr>

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

        <tr>
          <th>Reporter</th>
          <td>lhames@gmail.com
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>llvm-bugs@lists.llvm.org
          </td>
        </tr></table>
      <p>
        <div>
        <pre>ORC layers / components often need access to an llvm::TargetMachine (e.g. the
SimpleComplier class requires one). To date we've been relying on
EngineBuilder::selectTarget from ExecutionEngine, but this has a couple of
drawbacks: the interface and implementation are designed around
ExecutionEngine's assumptions (i.e. you're building an ExecutionEngine
subclass, that subclass might be an interpreter, etc.). The code is also older
and doesn't do any CPU feature detection.

We should design a new interface for building TargetMachines for LLVM JITs. It
should be clean, able to support CPU feature detection, and ideally efficiently
queryable from a remote machine (for remote execution).</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>