1//===-- MSP430.td - Describe the MSP430 Target Machine -----*- tablegen -*-===//
2//
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//===----------------------------------------------------------------------===//
40// Calling Convention Description
41//===----------------------------------------------------------------------===//
42
43include "MSP430CallingConv.td"
44
45//===----------------------------------------------------------------------===//
46// Instruction Descriptions
47//===----------------------------------------------------------------------===//
48
49include "MSP430InstrInfo.td"
50
51def MSP430InstrInfo : InstrInfo;
52
53//===----------------------------------------------------------------------===//
54// Target Declaration
55//===----------------------------------------------------------------------===//
56
57def MSP430 : Target {
58  let InstructionSet = MSP430InstrInfo;
59}
60
61