//===- Xtensa.td - Describe the Xtensa Target Machine ------*- tablegen -*-===// // // The LLVM Compiler Infrastructure // // 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 // //===----------------------------------------------------------------------===// //===----------------------------------------------------------------------===// // Target-independent interfaces //===----------------------------------------------------------------------===// include "llvm/Target/Target.td" //===----------------------------------------------------------------------===// // Subtarget Features. //===----------------------------------------------------------------------===// include "XtensaFeatures.td" //===----------------------------------------------------------------------===// // Xtensa supported processors. //===----------------------------------------------------------------------===// include "XtensaProcessors.td" //===----------------------------------------------------------------------===// // Register File Description //===----------------------------------------------------------------------===// include "XtensaRegisterInfo.td" //===----------------------------------------------------------------------===// // Calling Convention Description //===----------------------------------------------------------------------===// include "XtensaCallingConv.td" //===----------------------------------------------------------------------===// // Instruction Descriptions //===----------------------------------------------------------------------===// include "XtensaInstrInfo.td" defm : RemapAllTargetPseudoPointerOperands; def XtensaInstrInfo : InstrInfo; //===----------------------------------------------------------------------===// // Target Declaration //===----------------------------------------------------------------------===// def XtensaAsmParser : AsmParser { let ShouldEmitMatchRegisterAltName = 1; } def XtensaInstPrinter : AsmWriter { string AsmWriterClassName = "InstPrinter"; } def Xtensa : Target { let InstructionSet = XtensaInstrInfo; let AssemblyWriters = [XtensaInstPrinter]; let AssemblyParsers = [XtensaAsmParser]; }