|  | //===- TargetSubtargetInfo.cpp - General Target Information ----------------==// | 
|  | // | 
|  | // 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 | 
|  | // | 
|  | //===----------------------------------------------------------------------===// | 
|  | // | 
|  | /// \file This file describes the general parts of a Subtarget. | 
|  | // | 
|  | //===----------------------------------------------------------------------===// | 
|  |  | 
|  | #include "llvm/CodeGen/TargetSubtargetInfo.h" | 
|  |  | 
|  | using namespace llvm; | 
|  |  | 
|  | TargetSubtargetInfo::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) | 
|  | : MCSubtargetInfo(TT, CPU, TuneCPU, FS, PF, PD, WPR, WL, RA, IS, OC, FP) {} | 
|  |  | 
|  | TargetSubtargetInfo::~TargetSubtargetInfo() = default; | 
|  |  | 
|  | bool TargetSubtargetInfo::enableAtomicExpand() const { | 
|  | return true; | 
|  | } | 
|  |  | 
|  | bool TargetSubtargetInfo::enableIndirectBrExpand() const { | 
|  | return false; | 
|  | } | 
|  |  | 
|  | bool TargetSubtargetInfo::enableMachineScheduler() const { | 
|  | return false; | 
|  | } | 
|  |  | 
|  | bool TargetSubtargetInfo::enableJoinGlobalCopies() const { | 
|  | return enableMachineScheduler(); | 
|  | } | 
|  |  | 
|  | bool TargetSubtargetInfo::enableRALocalReassignment( | 
|  | CodeGenOpt::Level OptLevel) const { | 
|  | return true; | 
|  | } | 
|  |  | 
|  | bool TargetSubtargetInfo::enablePostRAScheduler() const { | 
|  | return getSchedModel().PostRAScheduler; | 
|  | } | 
|  |  | 
|  | bool TargetSubtargetInfo::enablePostRAMachineScheduler() const { | 
|  | return enableMachineScheduler() && enablePostRAScheduler(); | 
|  | } | 
|  |  | 
|  | bool TargetSubtargetInfo::useAA() const { | 
|  | return false; | 
|  | } | 
|  |  | 
|  | void TargetSubtargetInfo::mirFileLoaded(MachineFunction &MF) const { } |