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