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