<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 - [Optimization] Enable switch lookup tables in the AVR backend"
   href="https://bugs.llvm.org/show_bug.cgi?id=40387">40387</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>[Optimization] Enable switch lookup tables in the AVR backend
          </td>
        </tr>

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

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

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

        <tr>
          <th>OS</th>
          <td>Linux
          </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>Backend: AVR
          </td>
        </tr>

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

        <tr>
          <th>Reporter</th>
          <td>me@dylanmckay.io
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>llvm-bugs@lists.llvm.org
          </td>
        </tr></table>
      <p>
        <div>
        <pre>One example of a switch lookup table is the switch lookup table generated in
SimplifyCFG.

On AVR, a switch lookup table can only be placed into and loaded from program
memory if the MCU supports the LPM instruction. Otherwise, the table must be
loaded from RAM.

At the moment, switch lookup tables are broken on AVR.

There are two issues:

* <a href="https://github.com/avr-rust/rust/issues/47">https://github.com/avr-rust/rust/issues/47</a>
* <a href="https://github.com/avr-rust/rust/issues/69">https://github.com/avr-rust/rust/issues/69</a>

I have since disabled switch lookup tables on AVR to workaround these bugs.

We should get switch lookup tables working on AVR to enable more efficient
code.</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>