//=- ARMScheduleM3.td - ARM Cortex-M3 Scheduling Definitions -*- tablegen -*-=// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// // // This file defines the machine model for the ARM Cortex-M3 processor. // //===----------------------------------------------------------------------===// def CortexM3Model : SchedMachineModel { let IssueWidth = 1; // Only IT can be dual-issued, so assume single-issue let MicroOpBufferSize = 0; // In-order let LoadLatency = 2; // Latency when not pipelined, not pc-relative let MispredictPenalty = 2; // Best case branch taken cost let CompleteModel = 0; }