| //===- Lanai.td - Describe the Lanai Target Machine --------*- tablegen -*-===// | 
 | // | 
 | //                     The LLVM Compiler Infrastructure | 
 | // | 
 | // This file is distributed under the University of Illinois Open Source | 
 | // License. See LICENSE.TXT for details. | 
 | // | 
 | //===----------------------------------------------------------------------===// | 
 |  | 
 | //===----------------------------------------------------------------------===// | 
 | // Target-independent interfaces which we are implementing | 
 | //===----------------------------------------------------------------------===// | 
 |  | 
 | include "llvm/Target/Target.td" | 
 |  | 
 | //===----------------------------------------------------------------------===// | 
 | // Register File, Calling Conv, Instruction Descriptions | 
 | //===----------------------------------------------------------------------===// | 
 |  | 
 | include "LanaiSchedule.td" | 
 | include "LanaiRegisterInfo.td" | 
 | include "LanaiCallingConv.td" | 
 | include "LanaiInstrInfo.td" | 
 |  | 
 | def LanaiInstrInfo : InstrInfo; | 
 |  | 
 | //===----------------------------------------------------------------------===// | 
 | // Lanai processors supported. | 
 | //===----------------------------------------------------------------------===// | 
 |  | 
 | def : ProcessorModel<"generic", LanaiSchedModel, []>; | 
 | def : ProcessorModel<"v11", LanaiSchedModel, []>; | 
 |  | 
 | def LanaiInstPrinter : AsmWriter { | 
 |   string AsmWriterClassName  = "InstPrinter"; | 
 |   bit isMCAsmWriter = 1; | 
 | } | 
 |  | 
 | //===----------------------------------------------------------------------===// | 
 | // Declare the target which we are implementing | 
 | //===----------------------------------------------------------------------===// | 
 |  | 
 | def Lanai : Target { | 
 |   // Pull in Instruction Info: | 
 |   let InstructionSet = LanaiInstrInfo; | 
 |   let AssemblyWriters = [LanaiInstPrinter]; | 
 | } |