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 16 include "llvm/Target/Target.td" 17 18 //===----------------------------------------------------------------------===// 19 // Subtarget Features. 20 //===----------------------------------------------------------------------===// 21 def FeatureX 22 : SubtargetFeature<"ext", "ExtendedInsts", "true", 23 "Enable MSP430-X extensions">; 24 25 //===----------------------------------------------------------------------===// 26 // MSP430 supported processors. 27 //===----------------------------------------------------------------------===// 28 class Proc<string Name, list<SubtargetFeature> Features> 29 : Processor<Name, NoItineraries, Features>; 30 31 def : Proc<"generic", []>; 32 33 //===----------------------------------------------------------------------===// 34 // Register File Description 35 //===----------------------------------------------------------------------===// 36 37 include "MSP430RegisterInfo.td" 38 39 //===----------------------------------------------------------------------===// 40 // Calling Convention Description 41 //===----------------------------------------------------------------------===// 42 43 include "MSP430CallingConv.td" 44 45 //===----------------------------------------------------------------------===// 46 // Instruction Descriptions 47 //===----------------------------------------------------------------------===// 48 49 include "MSP430InstrInfo.td" 50 51 def MSP430InstrInfo : InstrInfo; 52 53 //===----------------------------------------------------------------------===// 54 // Target Declaration 55 //===----------------------------------------------------------------------===// 56 57 def MSP430 : Target { 58 let InstructionSet = MSP430InstrInfo; 59 } 60 61