1 //===-- AVR.td - Describe the AVR Target Machine ----------*- tablegen -*-===//
3 // The LLVM Compiler Infrastructure
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
8 //===---------------------------------------------------------------------===//
9 // This is the top level entry point for the AVR target.
10 //===---------------------------------------------------------------------===//
12 //===---------------------------------------------------------------------===//
13 // Target-independent interfaces which we are implementing
14 //===---------------------------------------------------------------------===//
16 include "llvm/Target/Target.td"
18 //===---------------------------------------------------------------------===//
19 // AVR Device Definitions
20 //===---------------------------------------------------------------------===//
22 include "AVRDevices.td"
24 //===---------------------------------------------------------------------===//
25 // Register File Description
26 //===---------------------------------------------------------------------===//
28 include "AVRRegisterInfo.td"
30 //===---------------------------------------------------------------------===//
31 // Instruction Descriptions
32 //===---------------------------------------------------------------------===//
34 include "AVRInstrInfo.td"
36 def AVRInstrInfo : InstrInfo;
38 //===---------------------------------------------------------------------===//
39 // Calling Conventions
40 //===---------------------------------------------------------------------===//
42 include "AVRCallingConv.td"
44 //===---------------------------------------------------------------------===//
46 //===---------------------------------------------------------------------===//
48 def AVRAsmWriter : AsmWriter {
49 string AsmWriterClassName = "InstPrinter";
50 bit isMCAsmWriter = 1;
53 //===---------------------------------------------------------------------===//
55 //===---------------------------------------------------------------------===//
57 def AVRAsmParser : AsmParser {
58 let ShouldEmitMatchRegisterName = 1;
59 let ShouldEmitMatchRegisterAltName = 1;
62 def AVRAsmParserVariant : AsmParserVariant {
65 // Recognize hard coded registers.
66 string RegisterPrefix = "$";
67 string TokenizingCharacters = "+";
70 //===---------------------------------------------------------------------===//
72 //===---------------------------------------------------------------------===//
75 let InstructionSet = AVRInstrInfo;
76 let AssemblyWriters = [AVRAsmWriter];
78 let AssemblyParsers = [AVRAsmParser];
79 let AssemblyParserVariants = [AVRAsmParserVariant];