
This patch adds no-op stubs overrides for the MCRegisterInfo and MCFrameLowering for the DirectX/DXIL code generation path. Since DXIL will not generate MCInstrs these stubs do nothing, but they need to exist so that the MC layer can be used to emit DXContainer objects. Differential Revision: https://reviews.llvm.org/D127147
55 lines
1.9 KiB
TableGen
55 lines
1.9 KiB
TableGen
//- 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];
|
|
}
|