[PATCH] D13302: Initial migration of AVR backend

Dylan McKay via llvm-commits llvm-commits at lists.llvm.org
Wed Sep 30 12:22:05 PDT 2015


dylanmckay created this revision.
dylanmckay added reviewers: stoklund, hfinkel.
dylanmckay added a subscriber: llvm-commits.

This patch adds the underlying infrastructure for an AVR backend to be included into LLVM. It is the first of a series of patches aimed at moving the out-of-tree [AVR backend](https://github.com/avr-llvm/llvm) into the tree.

It consists of:
* Adding a new`Triple` target and vendor ('avr' and 'atmel' respectively)
* Defining AVR-specific calling conventions
* Defining ELF constants and magic numbers
* Adding an option for TableGen to emit a "register alternative name" matching function.

TableGen can optionally emit a function to match a register name to its number. It also supports
declaring "alternative names" for registers. This patch adds support matching alternative names
to register numbers if `ShouldEmitMatchRegisterAltName` is set in `XXXRegisterInfo.td`.

Note that there must be a 1:1 mapping between alternative names and registers - ambiguity is not supported. TableGen will error in this case.

http://reviews.llvm.org/D13302

Files:
  include/llvm/ADT/Triple.h
  include/llvm/IR/CallingConv.h
  include/llvm/Object/ELFObjectFile.h
  include/llvm/Support/ELF.h
  include/llvm/Support/ELFRelocs/AVR.def
  include/llvm/Target/Target.td
  lib/Support/Triple.cpp
  utils/TableGen/AsmMatcherEmitter.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D13302.36134.patch
Type: text/x-patch
Size: 9575 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150930/a1a4aa48/attachment.bin>


More information about the llvm-commits mailing list