[llvm-dev] Update on the status of the AVR backend

Dylan McKay via llvm-dev llvm-dev at lists.llvm.org
Fri Oct 7 19:02:45 PDT 2016


Hello all,

The AVR backend is now almost fully upstreamed. Krzysztof and Matt A have
done an awesome job at reviewing all of the patches promptly and
comprehensively.

What has been merged:

   - Almost all of the machine code backend (including the ELF object file
   writer)
   - The assembly parser
   - The assembly printer
   - The definitions for a few hundred different microcontroller definitions
   - Al of the register definitions
   - Most of the instruction selection code
   - The call frame lowering code
   - The CodeGen -> MachineCode glue
   - Definitions for all but two of the entire instruction set (we’re
   missing the load/store instructions that are for the AVR Tiny core only)
   - Calling convention definitions and lowering
   - Support for the lo8(symbol), hi8(symbol) assembler macros and
   relocations

What is still waiting:

   - The two core instruction selection classes (AVRISelLowering
   <https://reviews.llvm.org/D25034>, AVRISelDAGToDAG
   <https://reviews.llvm.org/D25278>)
   - The branch relaxation pass (which will be rewritten to use the generic
   relaxation pass before it is merged)
   - The pseudo instruction expansion pass (required for *most* programs)
   - The disassembler (currently only half written)
   - A fix to the greedy register allocator to fix an assertion error for
   very small register classes (D25070 <https://reviews.llvm.org/D25070>)

​
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20161008/87ad32f9/attachment.html>


More information about the llvm-dev mailing list