| //- 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]; | |
| } |