blob: c6796b3789ad4539297ff2b26a5c641a9a9e461a [file] [log] [blame]
Jia Liu31d157a2012-02-18 12:03:15 +00001//===-- MSP430.td - Describe the MSP430 Target Machine -----*- tablegen -*-===//
Anton Korobeynikovf2c3e172009-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 Korobeynikovc8fbb6a2009-05-03 12:59:33 +000040// Calling Convention Description
41//===----------------------------------------------------------------------===//
42
43include "MSP430CallingConv.td"
44
45//===----------------------------------------------------------------------===//
Anton Korobeynikovf2c3e172009-05-03 12:57:15 +000046// Instruction Descriptions
47//===----------------------------------------------------------------------===//
48
49include "MSP430InstrInfo.td"
50
Jakob Stoklund Olesenfddb7662010-04-05 03:10:20 +000051def MSP430InstrInfo : InstrInfo;
Anton Korobeynikovb7790e12009-11-07 17:12:21 +000052
53def MSP430InstPrinter : AsmWriter {
54 string AsmWriterClassName = "InstPrinter";
Jim Grosbachddcf8592010-09-30 23:40:25 +000055 bit isMCAsmWriter = 1;
Anton Korobeynikovb7790e12009-11-07 17:12:21 +000056}
57
Anton Korobeynikovf2c3e172009-05-03 12:57:15 +000058//===----------------------------------------------------------------------===//
59// Target Declaration
60//===----------------------------------------------------------------------===//
61
62def MSP430 : Target {
63 let InstructionSet = MSP430InstrInfo;
Anton Korobeynikovb7790e12009-11-07 17:12:21 +000064 let AssemblyWriters = [MSP430InstPrinter];
Anton Korobeynikovf2c3e172009-05-03 12:57:15 +000065}
66