forked from OSchip/llvm-project
[ARM.td] Make instruction definitions visible to sched models
Differential revision: https://reviews.llvm.org/D89308
This commit is contained in:
parent
3b33b41604
commit
2ad82b0ed1
|
@ -890,10 +890,35 @@ def ARMv7s : Architecture<"armv7s", "ARMv7a", [ARMv7a]>;
|
|||
include "ARMPredicates.td"
|
||||
include "ARMSchedule.td"
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
// Register File Description
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
include "ARMRegisterInfo.td"
|
||||
include "ARMRegisterBanks.td"
|
||||
include "ARMCallingConv.td"
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
// Instruction Descriptions
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
include "ARMInstrInfo.td"
|
||||
def ARMInstrInfo : InstrInfo;
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
// ARM schedules
|
||||
//
|
||||
include "ARMScheduleV6.td"
|
||||
include "ARMScheduleA8.td"
|
||||
include "ARMScheduleA9.td"
|
||||
include "ARMScheduleSwift.td"
|
||||
include "ARMScheduleR52.td"
|
||||
include "ARMScheduleA57.td"
|
||||
include "ARMScheduleM4.td"
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
// ARM processors
|
||||
//
|
||||
|
||||
// Dummy CPU, used to target architectures
|
||||
def : ProcessorModel<"generic", CortexA8Model, []>;
|
||||
|
||||
|
@ -1295,21 +1320,6 @@ def : ProcessorModel<"cortex-r52", CortexR52Model, [ARMv8r, ProcR52,
|
|||
FeatureUseMISched,
|
||||
FeatureFPAO]>;
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
// Register File Description
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
include "ARMRegisterInfo.td"
|
||||
include "ARMRegisterBanks.td"
|
||||
include "ARMCallingConv.td"
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
// Instruction Descriptions
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
include "ARMInstrInfo.td"
|
||||
def ARMInstrInfo : InstrInfo;
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
// Declare the target which we are implementing
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
|
|
@ -414,14 +414,3 @@ def IIC_VTBX2 : InstrItinClass;
|
|||
def IIC_VTBX3 : InstrItinClass;
|
||||
def IIC_VTBX4 : InstrItinClass;
|
||||
def IIC_VDOTPROD : InstrItinClass;
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
// Processor instruction itineraries.
|
||||
|
||||
include "ARMScheduleV6.td"
|
||||
include "ARMScheduleA8.td"
|
||||
include "ARMScheduleA9.td"
|
||||
include "ARMScheduleSwift.td"
|
||||
include "ARMScheduleR52.td"
|
||||
include "ARMScheduleA57.td"
|
||||
include "ARMScheduleM4.td"
|
||||
|
|
|
@ -2525,8 +2525,8 @@ def : ReadAdvance<ReadFPMAC, 0>;
|
|||
def : InstRW< [WriteALU],
|
||||
(instregex "ANDri", "ORRri", "EORri", "BICri", "ANDrr", "ORRrr", "EORrr",
|
||||
"BICrr")>;
|
||||
def : InstRW< [WriteALUsi], (instregex "ANDrsi", "ORRrsi", "EORrsi", "BICrsi")>;
|
||||
def : InstRW< [WriteALUsr], (instregex "ANDrsr", "ORRrsr", "EORrsr", "BICrsr")>;
|
||||
def : InstRW< [WriteALUsi], (instrs ANDrsi, ORRrsi, EORrsi, BICrsi)>;
|
||||
def : InstRW< [WriteALUsr], (instrs ANDrsr, ORRrsr, EORrsr, BICrsr)>;
|
||||
|
||||
|
||||
def : SchedAlias<WriteCMP, A9WriteALU>;
|
||||
|
|
Loading…
Reference in New Issue