//===-- W65816.td - Describe the W65816 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 // //===----------------------------------------------------------------------===// // This is the top level entry point for the W65816 target. //===----------------------------------------------------------------------===// //===----------------------------------------------------------------------===// // Target-independent interfaces //===----------------------------------------------------------------------===// include "llvm/Target/Target.td" //===----------------------------------------------------------------------===// // Subtarget Features. //===----------------------------------------------------------------------===// // No subtarget features are defined for the skeleton. Later work will add // features for emulation/native mode, DP location, etc. //===----------------------------------------------------------------------===// // W65816 supported processors. //===----------------------------------------------------------------------===// class Proc Features> : Processor; def : Proc<"generic", []>; def : Proc<"w65816", []>; //===----------------------------------------------------------------------===// // Register File Description //===----------------------------------------------------------------------===// include "W65816RegisterInfo.td" //===----------------------------------------------------------------------===// // Calling Convention Description //===----------------------------------------------------------------------===// include "W65816CallingConv.td" //===----------------------------------------------------------------------===// // Instruction Descriptions //===----------------------------------------------------------------------===// include "W65816InstrInfo.td" defm : RemapAllTargetPseudoPointerOperands; def W65816InstrInfo : InstrInfo; //===---------------------------------------------------------------------===// // Assembly Printers //===---------------------------------------------------------------------===// def W65816AsmWriter : AsmWriter { string AsmWriterClassName = "InstPrinter"; } //===---------------------------------------------------------------------===// // Assembly Parsers //===---------------------------------------------------------------------===// def W65816AsmParser : AsmParser; //===----------------------------------------------------------------------===// // Target Declaration //===----------------------------------------------------------------------===// def W65816 : Target { let InstructionSet = W65816InstrInfo; let AssemblyParsers = [W65816AsmParser]; }