//===- MSP430.td - Describe the MSP430 Target Machine ---------*- tblgen -*-==// // // The LLVM Compiler Infrastructure // // This file is distributed under the University of Illinois Open Source // License. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// // This is the top level entry point for the MSP430 target. //===----------------------------------------------------------------------===// //===----------------------------------------------------------------------===// // Target-independent interfaces //===----------------------------------------------------------------------===// include "llvm/Target/Target.td" //===----------------------------------------------------------------------===// // Subtarget Features. //===----------------------------------------------------------------------===// def FeatureX : SubtargetFeature<"ext", "ExtendedInsts", "true", "Enable MSP430-X extensions">; //===----------------------------------------------------------------------===// // MSP430 supported processors. //===----------------------------------------------------------------------===// class Proc Features> : Processor; def : Proc<"generic", []>; //===----------------------------------------------------------------------===// // Register File Description //===----------------------------------------------------------------------===// include "MSP430RegisterInfo.td" //===----------------------------------------------------------------------===// // Calling Convention Description //===----------------------------------------------------------------------===// include "MSP430CallingConv.td" //===----------------------------------------------------------------------===// // Instruction Descriptions //===----------------------------------------------------------------------===// include "MSP430InstrInfo.td" def MSP430InstrInfo : InstrInfo { // Define how we want to layout our TargetSpecific information field... This // should be kept up-to-date with the fields in the MSP430InstrInfo.h file. let TSFlagsFields = ["FormBits", "Size"]; let TSFlagsShifts = [0, 2]; } def MSP430InstPrinter : AsmWriter { string AsmWriterClassName = "InstPrinter"; } //===----------------------------------------------------------------------===// // Target Declaration //===----------------------------------------------------------------------===// def MSP430 : Target { let InstructionSet = MSP430InstrInfo; let AssemblyWriters = [MSP430InstPrinter]; }