diff --git a/llvm/lib/Target/ARM/ARM.td b/llvm/lib/Target/ARM/ARM.td index 0468f7f1cf8e86..58e393a0152f5e 100644 --- a/llvm/lib/Target/ARM/ARM.td +++ b/llvm/lib/Target/ARM/ARM.td @@ -891,9 +891,34 @@ include "ARMPredicates.td" include "ARMSchedule.td" //===----------------------------------------------------------------------===// -// ARM processors +// 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 //===----------------------------------------------------------------------===// diff --git a/llvm/lib/Target/ARM/ARMSchedule.td b/llvm/lib/Target/ARM/ARMSchedule.td index ce74d325c4e57d..1b982d0c7b2e99 100644 --- a/llvm/lib/Target/ARM/ARMSchedule.td +++ b/llvm/lib/Target/ARM/ARMSchedule.td @@ -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" diff --git a/llvm/lib/Target/ARM/ARMScheduleA9.td b/llvm/lib/Target/ARM/ARMScheduleA9.td index 3f0b71afd9779d..be7017a7b4260b 100644 --- a/llvm/lib/Target/ARM/ARMScheduleA9.td +++ b/llvm/lib/Target/ARM/ARMScheduleA9.td @@ -2525,8 +2525,8 @@ def : ReadAdvance; 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;