From 6d32ca076283b50e93e00a98e4473767f1a31e5a Mon Sep 17 00:00:00 2001 From: Bruno Cardoso Lopes Date: Sat, 18 Aug 2007 02:18:07 +0000 Subject: [PATCH] support for Schedule included on Mips.td git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41159 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/Mips/Mips.td | 40 ++++++++++--------------------- lib/Target/Mips/MipsSubtarget.cpp | 3 ++- 2 files changed, 15 insertions(+), 28 deletions(-) diff --git a/lib/Target/Mips/Mips.td b/lib/Target/Mips/Mips.td index 662bc3b85d8..8beb3fb8953 100644 --- a/lib/Target/Mips/Mips.td +++ b/lib/Target/Mips/Mips.td @@ -6,58 +6,44 @@ // University of Illinois Open Source License. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// +// This is the top level entry point for the Mips target. +//===----------------------------------------------------------------------===// //===----------------------------------------------------------------------===// -// Target-independent interfaces which we are implementing +// Target-independent interfaces //===----------------------------------------------------------------------===// include "../Target.td" //===----------------------------------------------------------------------===// -// Register File Description +// Descriptions //===----------------------------------------------------------------------===// include "MipsRegisterInfo.td" - -//===----------------------------------------------------------------------===// -// Subtarget features -//===----------------------------------------------------------------------===// - -// TODO: dummy, needed to compile -def FeatureCIX : SubtargetFeature<"r3000", "isR3000", "true", - "Enable r3000 extentions">; - -//===----------------------------------------------------------------------===// -// Instruction Description -//===----------------------------------------------------------------------===// - +include "MipsSchedule.td" include "MipsInstrInfo.td" +include "MipsCallingConv.td" def MipsInstrInfo : InstrInfo { - // Define how we want to layout our target-specific information field. let TSFlagsFields = []; let TSFlagsShifts = []; } + //===----------------------------------------------------------------------===// -// Calling Conventions +// CPU Directives // //===----------------------------------------------------------------------===// -include "MipsCallingConv.td" +def FeatureMipsIII : SubtargetFeature<"mips3", "IsMipsIII", "true", + "MipsIII ISA Support">; //===----------------------------------------------------------------------===// // Mips processors supported. //===----------------------------------------------------------------------===// -class Proc Features> - : Processor; - -def : Proc<"generic", []>; - -//===----------------------------------------------------------------------===// -// Declare the target which we are implementing -//===----------------------------------------------------------------------===// +def : Processor<"generic", MipsGenericItineraries, []>; +//def : Processor<"r4000", MipsR4000Itineraries, [FeatureMipsIII]>; def Mips : Target { - // Pull in Instruction Info: let InstructionSet = MipsInstrInfo; } + diff --git a/lib/Target/Mips/MipsSubtarget.cpp b/lib/Target/Mips/MipsSubtarget.cpp index a394f774ab8..4665279df69 100644 --- a/lib/Target/Mips/MipsSubtarget.cpp +++ b/lib/Target/Mips/MipsSubtarget.cpp @@ -17,7 +17,8 @@ using namespace llvm; MipsSubtarget::MipsSubtarget(const TargetMachine &TM, const Module &M, - const std::string &FS) : isR3000(false) + const std::string &FS) : + IsMipsIII(false) { std::string CPU = "generic";