1//===- Lanai.td - Describe the Lanai Target Machine --------*- tablegen -*-===// 2// 3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4// See https://llvm.org/LICENSE.txt for license information. 5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6// 7//===----------------------------------------------------------------------===// 8 9//===----------------------------------------------------------------------===// 10// Target-independent interfaces which we are implementing 11//===----------------------------------------------------------------------===// 12 13include "llvm/Target/Target.td" 14 15//===----------------------------------------------------------------------===// 16// Register File, Calling Conv, Instruction Descriptions 17//===----------------------------------------------------------------------===// 18 19include "LanaiSchedule.td" 20include "LanaiRegisterInfo.td" 21include "LanaiCallingConv.td" 22include "LanaiInstrInfo.td" 23 24def LanaiInstrInfo : InstrInfo; 25 26//===----------------------------------------------------------------------===// 27// Lanai processors supported. 28//===----------------------------------------------------------------------===// 29 30def : ProcessorModel<"generic", LanaiSchedModel, []>; 31def : ProcessorModel<"v11", LanaiSchedModel, []>; 32 33def LanaiInstPrinter : AsmWriter { 34 string AsmWriterClassName = "InstPrinter"; 35 bit isMCAsmWriter = 1; 36} 37 38//===----------------------------------------------------------------------===// 39// Declare the target which we are implementing 40//===----------------------------------------------------------------------===// 41 42def Lanai : Target { 43 // Pull in Instruction Info: 44 let InstructionSet = LanaiInstrInfo; 45 let AssemblyWriters = [LanaiInstPrinter]; 46} 47