1//- DirectX.td - Describe the DirectX Target Machine ----------*- tablegen -*-// 2// 3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4// See https://llvm.org/LICENSE.txt for license information. 5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6// 7//===----------------------------------------------------------------------===// 8/// 9/// \file 10/// This is a target description file for the DirectX target 11/// 12//===----------------------------------------------------------------------===// 13 14//===----------------------------------------------------------------------===// 15// Target-independent interfaces which we are implementing 16//===----------------------------------------------------------------------===// 17 18include "llvm/Target/Target.td" 19include "DXILStubs.td" 20 21//===----------------------------------------------------------------------===// 22// DirectX Subtarget features. 23//===----------------------------------------------------------------------===// 24 25def DirectXInstrInfo : InstrInfo; 26 27//===----------------------------------------------------------------------===// 28// DirectX Processors supported. 29//===----------------------------------------------------------------------===// 30 31def : ProcessorModel<"generic", NoSchedModel, []>; 32 33 34//===----------------------------------------------------------------------===// 35// Target Declaration 36//===----------------------------------------------------------------------===// 37 38def DirectXAsmParser : AsmParser { 39 // The physical register names are not in the binary format or asm text 40 let ShouldEmitMatchRegisterName = 0; 41} 42 43def DirectXAsmWriter : AsmWriter { 44 string AsmWriterClassName = "InstPrinter"; 45 int PassSubtarget = 0; 46 int Variant = 0; 47 bit isMCAsmWriter = 1; 48} 49 50def DirectX : Target { 51 let InstructionSet = DirectXInstrInfo; 52 let AssemblyParsers = [DirectXAsmParser]; 53 let AssemblyWriters = [DirectXAsmWriter]; 54} 55