//===-- Nios2.td - Describe the Nios2 Target Machine -------*- tablegen -*-===// // // The LLVM Compiler Infrastructure // // This file is distributed under the University of Illinois Open Source // License. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// //===----------------------------------------------------------------------===// // Calling Conv, Instruction Descriptions //===----------------------------------------------------------------------===// include "llvm/Target/Target.td" include "Nios2RegisterInfo.td" include "Nios2Schedule.td" include "Nios2InstrInfo.td" include "Nios2CallingConv.td" //===----------------------------------------------------------------------===// // Nios2 Subtarget features //===----------------------------------------------------------------------===// def FeatureNios2r1 : SubtargetFeature<"nios2r1", "Nios2ArchVersion", "Nios2r1", "Nios2 R1 ISA Support">; def FeatureNios2r2 : SubtargetFeature<"nios2r2", "Nios2ArchVersion", "Nios2r2", "Nios2 R2 ISA Support">; //===----------------------------------------------------------------------===// // Nios2 processors supported. //===----------------------------------------------------------------------===// class Proc Features> : Processor; def : Proc<"nios2r1", [FeatureNios2r1]>; def : Proc<"nios2r2", [FeatureNios2r2]>; def Nios2InstrInfo : InstrInfo; def Nios2AsmParser : AsmParser { let ShouldEmitMatchRegisterName = 0; } //===----------------------------------------------------------------------===// // Declare the target which we are implementing //===----------------------------------------------------------------------===// def Nios2AsmWriter : AsmWriter { string AsmWriterClassName = "InstPrinter"; int PassSubtarget = 1; int Variant = 0; } def Nios2 : Target { // def Nios2InstrInfo : InstrInfo as before. let InstructionSet = Nios2InstrInfo; let AssemblyParsers = [Nios2AsmParser]; let AssemblyWriters = [Nios2AsmWriter]; }