| //- DirectX.td - Describe the DirectX Target Machine ----------*- tablegen -*-// |
| // |
| // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. |
| // See https://llvm.org/LICENSE.txt for license information. |
| // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception |
| // |
| //===----------------------------------------------------------------------===// |
| /// |
| /// \file |
| /// This is a target description file for the DirectX target |
| /// |
| //===----------------------------------------------------------------------===// |
| |
| //===----------------------------------------------------------------------===// |
| // Target-independent interfaces which we are implementing |
| //===----------------------------------------------------------------------===// |
| |
| include "llvm/Target/Target.td" |
| include "DXILStubs.td" |
| |
| //===----------------------------------------------------------------------===// |
| // DirectX Subtarget features. |
| //===----------------------------------------------------------------------===// |
| |
| def DirectXInstrInfo : InstrInfo; |
| |
| //===----------------------------------------------------------------------===// |
| // DirectX Processors supported. |
| //===----------------------------------------------------------------------===// |
| |
| def : ProcessorModel<"generic", NoSchedModel, []>; |
| |
| |
| //===----------------------------------------------------------------------===// |
| // Target Declaration |
| //===----------------------------------------------------------------------===// |
| |
| def DirectXAsmParser : AsmParser { |
| // The physical register names are not in the binary format or asm text |
| let ShouldEmitMatchRegisterName = 0; |
| } |
| |
| def DirectXAsmWriter : AsmWriter { |
| string AsmWriterClassName = "InstPrinter"; |
| int PassSubtarget = 0; |
| int Variant = 0; |
| bit isMCAsmWriter = 1; |
| } |
| |
| def DirectX : Target { |
| let InstructionSet = DirectXInstrInfo; |
| let AssemblyParsers = [DirectXAsmParser]; |
| let AssemblyWriters = [DirectXAsmWriter]; |
| } |