109467b48Spatrick //===- TargetSubtargetInfo.cpp - General Target Information ----------------==//
209467b48Spatrick //
309467b48Spatrick // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
409467b48Spatrick // See https://llvm.org/LICENSE.txt for license information.
509467b48Spatrick // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
609467b48Spatrick //
709467b48Spatrick //===----------------------------------------------------------------------===//
809467b48Spatrick //
909467b48Spatrick /// \file This file describes the general parts of a Subtarget.
1009467b48Spatrick //
1109467b48Spatrick //===----------------------------------------------------------------------===//
1209467b48Spatrick
1309467b48Spatrick #include "llvm/CodeGen/TargetSubtargetInfo.h"
1409467b48Spatrick
1509467b48Spatrick using namespace llvm;
1609467b48Spatrick
TargetSubtargetInfo(const Triple & TT,StringRef CPU,StringRef TuneCPU,StringRef FS,ArrayRef<SubtargetFeatureKV> PF,ArrayRef<SubtargetSubTypeKV> PD,const MCWriteProcResEntry * WPR,const MCWriteLatencyEntry * WL,const MCReadAdvanceEntry * RA,const InstrStage * IS,const unsigned * OC,const unsigned * FP)1709467b48Spatrick TargetSubtargetInfo::TargetSubtargetInfo(
18*73471bf0Spatrick const Triple &TT, StringRef CPU, StringRef TuneCPU, StringRef FS,
1909467b48Spatrick ArrayRef<SubtargetFeatureKV> PF, ArrayRef<SubtargetSubTypeKV> PD,
20*73471bf0Spatrick const MCWriteProcResEntry *WPR, const MCWriteLatencyEntry *WL,
21*73471bf0Spatrick const MCReadAdvanceEntry *RA, const InstrStage *IS, const unsigned *OC,
22*73471bf0Spatrick const unsigned *FP)
23*73471bf0Spatrick : MCSubtargetInfo(TT, CPU, TuneCPU, FS, PF, PD, WPR, WL, RA, IS, OC, FP) {}
2409467b48Spatrick
2509467b48Spatrick TargetSubtargetInfo::~TargetSubtargetInfo() = default;
2609467b48Spatrick
enableAtomicExpand() const2709467b48Spatrick bool TargetSubtargetInfo::enableAtomicExpand() const {
2809467b48Spatrick return true;
2909467b48Spatrick }
3009467b48Spatrick
enableIndirectBrExpand() const3109467b48Spatrick bool TargetSubtargetInfo::enableIndirectBrExpand() const {
3209467b48Spatrick return false;
3309467b48Spatrick }
3409467b48Spatrick
enableMachineScheduler() const3509467b48Spatrick bool TargetSubtargetInfo::enableMachineScheduler() const {
3609467b48Spatrick return false;
3709467b48Spatrick }
3809467b48Spatrick
enableJoinGlobalCopies() const3909467b48Spatrick bool TargetSubtargetInfo::enableJoinGlobalCopies() const {
4009467b48Spatrick return enableMachineScheduler();
4109467b48Spatrick }
4209467b48Spatrick
enableRALocalReassignment(CodeGenOpt::Level OptLevel) const4309467b48Spatrick bool TargetSubtargetInfo::enableRALocalReassignment(
4409467b48Spatrick CodeGenOpt::Level OptLevel) const {
4509467b48Spatrick return true;
4609467b48Spatrick }
4709467b48Spatrick
enablePostRAScheduler() const4809467b48Spatrick bool TargetSubtargetInfo::enablePostRAScheduler() const {
4909467b48Spatrick return getSchedModel().PostRAScheduler;
5009467b48Spatrick }
5109467b48Spatrick
enablePostRAMachineScheduler() const5209467b48Spatrick bool TargetSubtargetInfo::enablePostRAMachineScheduler() const {
5309467b48Spatrick return enableMachineScheduler() && enablePostRAScheduler();
5409467b48Spatrick }
5509467b48Spatrick
useAA() const5609467b48Spatrick bool TargetSubtargetInfo::useAA() const {
5709467b48Spatrick return false;
5809467b48Spatrick }
5909467b48Spatrick
mirFileLoaded(MachineFunction & MF) const6009467b48Spatrick void TargetSubtargetInfo::mirFileLoaded(MachineFunction &MF) const { }
61