1234353Sdim//===-- MSP430.td - Describe the MSP430 Target Machine -----*- tablegen -*-===// 2193323Sed// 3193323Sed// The LLVM Compiler Infrastructure 4193323Sed// 5193323Sed// This file is distributed under the University of Illinois Open Source 6193323Sed// License. See LICENSE.TXT for details. 7193323Sed// 8193323Sed//===----------------------------------------------------------------------===// 9193323Sed// This is the top level entry point for the MSP430 target. 10193323Sed//===----------------------------------------------------------------------===// 11193323Sed 12193323Sed//===----------------------------------------------------------------------===// 13193323Sed// Target-independent interfaces 14193323Sed//===----------------------------------------------------------------------===// 15193323Sed 16193323Sedinclude "llvm/Target/Target.td" 17193323Sed 18193323Sed//===----------------------------------------------------------------------===// 19193323Sed// Subtarget Features. 20193323Sed//===----------------------------------------------------------------------===// 21193323Seddef FeatureX 22193323Sed : SubtargetFeature<"ext", "ExtendedInsts", "true", 23193323Sed "Enable MSP430-X extensions">; 24193323Sed 25193323Sed//===----------------------------------------------------------------------===// 26193323Sed// MSP430 supported processors. 27193323Sed//===----------------------------------------------------------------------===// 28193323Sedclass Proc<string Name, list<SubtargetFeature> Features> 29193323Sed : Processor<Name, NoItineraries, Features>; 30193323Sed 31193323Seddef : Proc<"generic", []>; 32193323Sed 33193323Sed//===----------------------------------------------------------------------===// 34193323Sed// Register File Description 35193323Sed//===----------------------------------------------------------------------===// 36193323Sed 37193323Sedinclude "MSP430RegisterInfo.td" 38193323Sed 39193323Sed//===----------------------------------------------------------------------===// 40193323Sed// Calling Convention Description 41193323Sed//===----------------------------------------------------------------------===// 42193323Sed 43193323Sedinclude "MSP430CallingConv.td" 44193323Sed 45193323Sed//===----------------------------------------------------------------------===// 46193323Sed// Instruction Descriptions 47193323Sed//===----------------------------------------------------------------------===// 48193323Sed 49193323Sedinclude "MSP430InstrInfo.td" 50193323Sed 51206274Srdivackydef MSP430InstrInfo : InstrInfo; 52193323Sed 53199481Srdivackydef MSP430InstPrinter : AsmWriter { 54199481Srdivacky string AsmWriterClassName = "InstPrinter"; 55218893Sdim bit isMCAsmWriter = 1; 56199481Srdivacky} 57199481Srdivacky 58193323Sed//===----------------------------------------------------------------------===// 59193323Sed// Target Declaration 60193323Sed//===----------------------------------------------------------------------===// 61193323Sed 62193323Seddef MSP430 : Target { 63193323Sed let InstructionSet = MSP430InstrInfo; 64199481Srdivacky let AssemblyWriters = [MSP430InstPrinter]; 65193323Sed} 66193323Sed 67