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