blob: c6796b3789ad4539297ff2b26a5c641a9a9e461a [file] [log] [blame]
Jia Liub22310f2012-02-18 12:03:15 +00001//===-- MSP430.td - Describe the MSP430 Target Machine -----*- tablegen -*-===//
Anton Korobeynikov10138002009-05-03 12:57:15 +00002//
3// The LLVM Compiler Infrastructure
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
9// This is the top level entry point for the MSP430 target.
10//===----------------------------------------------------------------------===//
11
12//===----------------------------------------------------------------------===//
13// Target-independent interfaces
14//===----------------------------------------------------------------------===//
15
16include "llvm/Target/Target.td"
17
18//===----------------------------------------------------------------------===//
19// Subtarget Features.
20//===----------------------------------------------------------------------===//
21def FeatureX
22 : SubtargetFeature<"ext", "ExtendedInsts", "true",
23 "Enable MSP430-X extensions">;
24
25//===----------------------------------------------------------------------===//
26// MSP430 supported processors.
27//===----------------------------------------------------------------------===//
28class Proc<string Name, list<SubtargetFeature> Features>
29 : Processor<Name, NoItineraries, Features>;
30
31def : Proc<"generic", []>;
32
33//===----------------------------------------------------------------------===//
34// Register File Description
35//===----------------------------------------------------------------------===//
36
37include "MSP430RegisterInfo.td"
38
39//===----------------------------------------------------------------------===//
Anton Korobeynikov3849be62009-05-03 12:59:33 +000040// Calling Convention Description
41//===----------------------------------------------------------------------===//
42
43include "MSP430CallingConv.td"
44
45//===----------------------------------------------------------------------===//
Anton Korobeynikov10138002009-05-03 12:57:15 +000046// Instruction Descriptions
47//===----------------------------------------------------------------------===//
48
49include "MSP430InstrInfo.td"
50
Jakob Stoklund Olesenb93331f2010-04-05 03:10:20 +000051def MSP430InstrInfo : InstrInfo;
Anton Korobeynikove04fa152009-11-07 17:12:21 +000052
53def MSP430InstPrinter : AsmWriter {
54 string AsmWriterClassName = "InstPrinter";
Jim Grosbachc6e13f72010-09-30 23:40:25 +000055 bit isMCAsmWriter = 1;
Anton Korobeynikove04fa152009-11-07 17:12:21 +000056}
57
Anton Korobeynikov10138002009-05-03 12:57:15 +000058//===----------------------------------------------------------------------===//
59// Target Declaration
60//===----------------------------------------------------------------------===//
61
62def MSP430 : Target {
63 let InstructionSet = MSP430InstrInfo;
Anton Korobeynikove04fa152009-11-07 17:12:21 +000064 let AssemblyWriters = [MSP430InstPrinter];
Anton Korobeynikov10138002009-05-03 12:57:15 +000065}
66