From 6762d91c05324d7f931bb8dedf64e1559f66d0fa Mon Sep 17 00:00:00 2001 From: Evan Cheng Date: Tue, 21 Jul 2009 18:54:14 +0000 Subject: [PATCH] Add fake v7 itineraries for now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76612 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/ARM/ARM.td | 10 ++++++---- lib/Target/ARM/ARMSchedule.td | 1 + lib/Target/ARM/ARMScheduleV7.td | 33 +++++++++++++++++++++++++++++++++ 3 files changed, 40 insertions(+), 4 deletions(-) create mode 100644 lib/Target/ARM/ARMScheduleV7.td diff --git a/lib/Target/ARM/ARM.td b/lib/Target/ARM/ARM.td index 2ed6b9c6c2f..8c987c268df 100644 --- a/lib/Target/ARM/ARM.td +++ b/lib/Target/ARM/ARM.td @@ -103,14 +103,16 @@ def : Processor<"mpcore", V6Itineraries, [ArchV6, FeatureVFP2]>; // V6T2 Processors. -def : Processor<"arm1156t2-s", V6Itineraries, +def : Processor<"arm1156t2-s", V6Itineraries, [ArchV6T2, FeatureThumb2]>; -def : Processor<"arm1156t2f-s", V6Itineraries, +def : Processor<"arm1156t2f-s", V6Itineraries, [ArchV6T2, FeatureThumb2, FeatureVFP2]>; // V7 Processors. -def : ProcNoItin<"cortex-a8", [ArchV7A, FeatureThumb2, FeatureNEON]>; -def : ProcNoItin<"cortex-a9", [ArchV7A, FeatureThumb2, FeatureNEON]>; +def : Processor<"cortex-a8", CortexA8Itineraries, + [ArchV7A, FeatureThumb2, FeatureNEON]>; +def : Processor<"cortex-a9", V7Itineraries, + [ArchV7A, FeatureThumb2, FeatureNEON]>; //===----------------------------------------------------------------------===// // Register File Description diff --git a/lib/Target/ARM/ARMSchedule.td b/lib/Target/ARM/ARMSchedule.td index 75fa707f9f9..6e3b00e484c 100644 --- a/lib/Target/ARM/ARMSchedule.td +++ b/lib/Target/ARM/ARMSchedule.td @@ -33,3 +33,4 @@ def IIC_Br : InstrItinClass; def GenericItineraries : ProcessorItineraries<[]>; include "ARMScheduleV6.td" +include "ARMScheduleV7.td" diff --git a/lib/Target/ARM/ARMScheduleV7.td b/lib/Target/ARM/ARMScheduleV7.td new file mode 100644 index 00000000000..328bb98fde5 --- /dev/null +++ b/lib/Target/ARM/ARMScheduleV7.td @@ -0,0 +1,33 @@ +//===- ARMScheduleV7.td - ARM v7 Scheduling Definitions ----*- tablegen -*-===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// +// +// This file defines the itinerary class data for the ARM v7 processors. +// +//===----------------------------------------------------------------------===// + +def V7Itineraries : ProcessorItineraries<[ + InstrItinData]>, + InstrItinData]>, + InstrItinData]>, + InstrItinData]>, + InstrItinData]>, + InstrItinData]>, + InstrItinData]> +]>; + + +def CortexA8Itineraries : ProcessorItineraries<[ + InstrItinData]>, + InstrItinData]>, + InstrItinData]>, + InstrItinData]>, + InstrItinData]>, + InstrItinData]>, + InstrItinData]> +]>; -- 2.34.1