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