diff options
Diffstat (limited to 'contrib/llvm-project/llvm/lib/CodeGen/TargetSubtargetInfo.cpp')
-rw-r--r-- | contrib/llvm-project/llvm/lib/CodeGen/TargetSubtargetInfo.cpp | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/contrib/llvm-project/llvm/lib/CodeGen/TargetSubtargetInfo.cpp b/contrib/llvm-project/llvm/lib/CodeGen/TargetSubtargetInfo.cpp new file mode 100644 index 000000000000..59eb2f9c88cb --- /dev/null +++ b/contrib/llvm-project/llvm/lib/CodeGen/TargetSubtargetInfo.cpp @@ -0,0 +1,61 @@ +//===- 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 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, 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::enableAdvancedRASplitCost() const { + return false; +} + +bool TargetSubtargetInfo::enablePostRAScheduler() const { + return getSchedModel().PostRAScheduler; +} + +bool TargetSubtargetInfo::useAA() const { + return false; +} + +void TargetSubtargetInfo::mirFileLoaded(MachineFunction &MF) const { } |