1 //===- Lanai.td - Describe the Lanai 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 10 //===----------------------------------------------------------------------===// 11 // Target-independent interfaces which we are implementing 12 //===----------------------------------------------------------------------===// 13 14 include "llvm/Target/Target.td" 15 16 //===----------------------------------------------------------------------===// 17 // Register File, Calling Conv, Instruction Descriptions 18 //===----------------------------------------------------------------------===// 19 20 include "LanaiSchedule.td" 21 include "LanaiRegisterInfo.td" 22 include "LanaiCallingConv.td" 23 include "LanaiInstrInfo.td" 24 25 def LanaiInstrInfo : InstrInfo; 26 27 //===----------------------------------------------------------------------===// 28 // Lanai processors supported. 29 //===----------------------------------------------------------------------===// 30 31 def : ProcessorModel<"generic", LanaiSchedModel, []>; 32 def : ProcessorModel<"v11", LanaiSchedModel, []>; 33 34 def LanaiInstPrinter : AsmWriter { 35 string AsmWriterClassName = "InstPrinter"; 36 bit isMCAsmWriter = 1; 37 } 38 39 //===----------------------------------------------------------------------===// 40 // Declare the target which we are implementing 41 //===----------------------------------------------------------------------===// 42 43 def Lanai : Target { 44 // Pull in Instruction Info: 45 let InstructionSet = LanaiInstrInfo; 46 let AssemblyWriters = [LanaiInstPrinter]; 47 } 48