xref: /aosp_15_r20/external/llvm/lib/Target/Lanai/Lanai.td (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker//===- Lanai.td - Describe the Lanai Target Machine --------*- tablegen -*-===//
2*9880d681SAndroid Build Coastguard Worker//
3*9880d681SAndroid Build Coastguard Worker//                     The LLVM Compiler Infrastructure
4*9880d681SAndroid Build Coastguard Worker//
5*9880d681SAndroid Build Coastguard Worker// This file is distributed under the University of Illinois Open Source
6*9880d681SAndroid Build Coastguard Worker// License. See LICENSE.TXT for details.
7*9880d681SAndroid Build Coastguard Worker//
8*9880d681SAndroid Build Coastguard Worker//===----------------------------------------------------------------------===//
9*9880d681SAndroid Build Coastguard Worker
10*9880d681SAndroid Build Coastguard Worker//===----------------------------------------------------------------------===//
11*9880d681SAndroid Build Coastguard Worker// Target-independent interfaces which we are implementing
12*9880d681SAndroid Build Coastguard Worker//===----------------------------------------------------------------------===//
13*9880d681SAndroid Build Coastguard Worker
14*9880d681SAndroid Build Coastguard Workerinclude "llvm/Target/Target.td"
15*9880d681SAndroid Build Coastguard Worker
16*9880d681SAndroid Build Coastguard Worker//===----------------------------------------------------------------------===//
17*9880d681SAndroid Build Coastguard Worker// Register File, Calling Conv, Instruction Descriptions
18*9880d681SAndroid Build Coastguard Worker//===----------------------------------------------------------------------===//
19*9880d681SAndroid Build Coastguard Worker
20*9880d681SAndroid Build Coastguard Workerinclude "LanaiSchedule.td"
21*9880d681SAndroid Build Coastguard Workerinclude "LanaiRegisterInfo.td"
22*9880d681SAndroid Build Coastguard Workerinclude "LanaiCallingConv.td"
23*9880d681SAndroid Build Coastguard Workerinclude "LanaiInstrInfo.td"
24*9880d681SAndroid Build Coastguard Worker
25*9880d681SAndroid Build Coastguard Workerdef LanaiInstrInfo : InstrInfo;
26*9880d681SAndroid Build Coastguard Worker
27*9880d681SAndroid Build Coastguard Worker//===----------------------------------------------------------------------===//
28*9880d681SAndroid Build Coastguard Worker// Lanai processors supported.
29*9880d681SAndroid Build Coastguard Worker//===----------------------------------------------------------------------===//
30*9880d681SAndroid Build Coastguard Worker
31*9880d681SAndroid Build Coastguard Workerdef : ProcessorModel<"generic", LanaiSchedModel, []>;
32*9880d681SAndroid Build Coastguard Workerdef : ProcessorModel<"v11", LanaiSchedModel, []>;
33*9880d681SAndroid Build Coastguard Worker
34*9880d681SAndroid Build Coastguard Workerdef LanaiInstPrinter : AsmWriter {
35*9880d681SAndroid Build Coastguard Worker  string AsmWriterClassName  = "InstPrinter";
36*9880d681SAndroid Build Coastguard Worker  bit isMCAsmWriter = 1;
37*9880d681SAndroid Build Coastguard Worker}
38*9880d681SAndroid Build Coastguard Worker
39*9880d681SAndroid Build Coastguard Worker//===----------------------------------------------------------------------===//
40*9880d681SAndroid Build Coastguard Worker// Declare the target which we are implementing
41*9880d681SAndroid Build Coastguard Worker//===----------------------------------------------------------------------===//
42*9880d681SAndroid Build Coastguard Worker
43*9880d681SAndroid Build Coastguard Workerdef Lanai : Target {
44*9880d681SAndroid Build Coastguard Worker  // Pull in Instruction Info:
45*9880d681SAndroid Build Coastguard Worker  let InstructionSet = LanaiInstrInfo;
46*9880d681SAndroid Build Coastguard Worker  let AssemblyWriters = [LanaiInstPrinter];
47*9880d681SAndroid Build Coastguard Worker}
48