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