Home | History | Annotate | Download | only in SystemZ
      1 //===-- SystemZ.td - Describe the SystemZ target machine -----*- tblgen -*-===//
      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 // SystemZ supported processors and features
     18 //===----------------------------------------------------------------------===//
     19 
     20 include "SystemZProcessors.td"
     21 
     22 //===----------------------------------------------------------------------===//
     23 // Register file description
     24 //===----------------------------------------------------------------------===//
     25 
     26 include "SystemZRegisterInfo.td"
     27 
     28 //===----------------------------------------------------------------------===//
     29 // Calling convention description
     30 //===----------------------------------------------------------------------===//
     31 
     32 include "SystemZCallingConv.td"
     33 
     34 //===----------------------------------------------------------------------===//
     35 // Instruction descriptions
     36 //===----------------------------------------------------------------------===//
     37 
     38 include "SystemZOperators.td"
     39 include "SystemZOperands.td"
     40 include "SystemZPatterns.td"
     41 include "SystemZInstrFormats.td"
     42 include "SystemZInstrInfo.td"
     43 include "SystemZInstrFP.td"
     44 
     45 def SystemZInstrInfo : InstrInfo {}
     46 
     47 //===----------------------------------------------------------------------===//
     48 // Assembly parser
     49 //===----------------------------------------------------------------------===//
     50 
     51 def SystemZAsmParser : AsmParser {
     52   let ShouldEmitMatchRegisterName = 0;
     53 }
     54 
     55 //===----------------------------------------------------------------------===//
     56 // Assembly writer
     57 //===----------------------------------------------------------------------===//
     58 
     59 def SystemZAsmWriter : AsmWriter {
     60   string AsmWriterClassName = "InstPrinter";
     61   bit isMCAsmWriter = 1;
     62 }
     63 
     64 //===----------------------------------------------------------------------===//
     65 // Top-level target declaration
     66 //===----------------------------------------------------------------------===//
     67 
     68 def SystemZ : Target {
     69   let InstructionSet = SystemZInstrInfo;
     70   let AssemblyParsers = [SystemZAsmParser];
     71   let AssemblyWriters = [SystemZAsmWriter];
     72 }
     73