| //===-- XCore.td - Describe the XCore 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 XCore target. |
| // |
| //===----------------------------------------------------------------------===// |
| |
| //===----------------------------------------------------------------------===// |
| // Target-independent interfaces which we are implementing |
| //===----------------------------------------------------------------------===// |
| |
| include "llvm/Target/Target.td" |
| |
| //===----------------------------------------------------------------------===// |
| // Descriptions |
| //===----------------------------------------------------------------------===// |
| |
| include "XCoreRegisterInfo.td" |
| include "XCoreInstrInfo.td" |
| include "XCoreCallingConv.td" |
| |
| def XCoreInstrInfo : InstrInfo; |
| |
| //===----------------------------------------------------------------------===// |
| // XCore processors supported. |
| //===----------------------------------------------------------------------===// |
| |
| class Proc<string Name, list<SubtargetFeature> Features> |
| : Processor<Name, NoItineraries, Features>; |
| |
| def : Proc<"generic", []>; |
| def : Proc<"xs1b-generic", []>; |
| |
| //===----------------------------------------------------------------------===// |
| // Declare the target which we are implementing |
| //===----------------------------------------------------------------------===// |
| |
| def XCore : Target { |
| // Pull in Instruction Info: |
| let InstructionSet = XCoreInstrInfo; |
| } |