[AArch64] Add a basic SchedMachineModel for Falkor.
Differential Revision: https://reviews.llvm.org/D26972 llvm-svn: 288194
This commit is contained in:
parent
8110c9df22
commit
d34c26eb08
|
@ -144,8 +144,9 @@ include "AArch64SystemOperands.td"
|
|||
include "AArch64SchedA53.td"
|
||||
include "AArch64SchedA57.td"
|
||||
include "AArch64SchedCyclone.td"
|
||||
include "AArch64SchedM1.td"
|
||||
include "AArch64SchedFalkor.td"
|
||||
include "AArch64SchedKryo.td"
|
||||
include "AArch64SchedM1.td"
|
||||
include "AArch64SchedVulcan.td"
|
||||
|
||||
def ProcA35 : SubtargetFeature<"a35", "ARMProcFamily", "CortexA35",
|
||||
|
@ -292,7 +293,7 @@ def : ProcessorModel<"cortex-a73", CortexA57Model, [ProcA73]>;
|
|||
def : ProcessorModel<"cyclone", CycloneModel, [ProcCyclone]>;
|
||||
def : ProcessorModel<"exynos-m1", ExynosM1Model, [ProcExynosM1]>;
|
||||
def : ProcessorModel<"exynos-m2", ExynosM1Model, [ProcExynosM2]>;
|
||||
def : ProcessorModel<"falkor", NoSchedModel, [ProcFalkor]>;
|
||||
def : ProcessorModel<"falkor", FalkorModel, [ProcFalkor]>;
|
||||
def : ProcessorModel<"kryo", KryoModel, [ProcKryo]>;
|
||||
def : ProcessorModel<"vulcan", VulcanModel, [ProcVulcan]>;
|
||||
|
||||
|
|
|
@ -0,0 +1,26 @@
|
|||
//==- AArch64SchedFalkor.td - Falkor 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 machine model for Qualcomm Falkor to support
|
||||
// instruction scheduling and other instruction cost heuristics.
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
// Define the SchedMachineModel and provide basic properties for coarse grained
|
||||
// instruction cost model.
|
||||
|
||||
def FalkorModel : SchedMachineModel {
|
||||
let IssueWidth = 4; // 4-wide issue for expanded uops.
|
||||
let MicroOpBufferSize = 128; // Out-of-order with temporary unified issue buffer.
|
||||
let LoopMicroOpBufferSize = 16;
|
||||
let LoadLatency = 3; // Optimistic load latency.
|
||||
let MispredictPenalty = 11; // Minimum branch misprediction penalty.
|
||||
let CompleteModel = 0;
|
||||
}
|
Loading…
Reference in New Issue