1 //===-- BPF.td - Describe the BPF 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 include "llvm/Target/Target.td" 11 12 include "BPFRegisterInfo.td" 13 include "BPFCallingConv.td" 14 include "BPFInstrInfo.td" 15 16 def BPFInstrInfo : InstrInfo; 17 18 class Proc<string Name, list<SubtargetFeature> Features> 19 : Processor<Name, NoItineraries, Features>; 20 21 def : Proc<"generic", []>; 22 23 def BPFInstPrinter : AsmWriter { 24 string AsmWriterClassName = "InstPrinter"; 25 bit isMCAsmWriter = 1; 26 } 27 28 def BPFAsmParserVariant : AsmParserVariant { 29 int Variant = 0; 30 string Name = "BPF"; 31 string BreakCharacters = "."; 32 } 33 34 def BPF : Target { 35 let InstructionSet = BPFInstrInfo; 36 let AssemblyWriters = [BPFInstPrinter]; 37 let AssemblyParserVariants = [BPFAsmParserVariant]; 38 } 39