LLVM
15.0.0git
|
#include "llvm/MC/MCSubtargetInfo.h"
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/MC/MCInstrItineraries.h"
#include "llvm/MC/MCSchedule.h"
#include "llvm/MC/SubtargetFeature.h"
#include "llvm/Support/Format.h"
#include "llvm/Support/raw_ostream.h"
#include <algorithm>
#include <cassert>
#include <cstring>
Go to the source code of this file.
Functions | |
template<typename T > | |
static const T * | Find (StringRef S, ArrayRef< T > A) |
Find KV in array using binary search. More... | |
static void | SetImpliedBits (FeatureBitset &Bits, const FeatureBitset &Implies, ArrayRef< SubtargetFeatureKV > FeatureTable) |
For each feature that is (transitively) implied by this feature, set it. More... | |
static void | ClearImpliedBits (FeatureBitset &Bits, unsigned Value, ArrayRef< SubtargetFeatureKV > FeatureTable) |
For each feature that (transitively) implies this feature, clear it. More... | |
static void | ApplyFeatureFlag (FeatureBitset &Bits, StringRef Feature, ArrayRef< SubtargetFeatureKV > FeatureTable) |
template<typename T > | |
static size_t | getLongestEntryLength (ArrayRef< T > Table) |
Return the length of the longest entry in the table. More... | |
static void | Help (ArrayRef< SubtargetSubTypeKV > CPUTable, ArrayRef< SubtargetFeatureKV > FeatTable) |
Display help for feature and mcpu choices. More... | |
static void | cpuHelp (ArrayRef< SubtargetSubTypeKV > CPUTable) |
Display help for mcpu choices only. More... | |
static FeatureBitset | getFeatures (StringRef CPU, StringRef TuneCPU, StringRef FS, ArrayRef< SubtargetSubTypeKV > ProcDesc, ArrayRef< SubtargetFeatureKV > ProcFeatures) |
|
static |
Definition at line 58 of file MCSubtargetInfo.cpp.
References assert(), llvm::tgtok::Bits, ClearImpliedBits(), llvm::errs(), Find(), llvm::FeatureBitArray::getAsBitset(), llvm::SubtargetFeatures::hasFlag(), llvm::SubtargetFeatureKV::Implies, llvm::SubtargetFeatures::isEnabled(), SetImpliedBits(), llvm::SubtargetFeatures::StripFlag(), and llvm::SubtargetFeatureKV::Value.
Referenced by getFeatures().
|
static |
For each feature that (transitively) implies this feature, clear it.
Definition at line 48 of file MCSubtargetInfo.cpp.
References llvm::tgtok::Bits.
Referenced by ApplyFeatureFlag(), llvm::MCSubtargetInfo::ClearFeatureBitsTransitively(), and llvm::MCSubtargetInfo::ToggleFeature().
|
static |
Display help for mcpu choices only.
Definition at line 129 of file MCSubtargetInfo.cpp.
References llvm::errs().
Referenced by getFeatures().
Find KV in array using binary search.
Definition at line 25 of file MCSubtargetInfo.cpp.
References A, F, llvm::lower_bound(), and S.
Referenced by llvm::fuzzerop::anyAggregateType(), ApplyFeatureFlag(), getFeatures(), llvm::MCSubtargetInfo::getSchedModelForCPU(), and llvm::MCSubtargetInfo::ToggleFeature().
|
static |
Definition at line 150 of file MCSubtargetInfo.cpp.
References ApplyFeatureFlag(), assert(), llvm::tgtok::Bits, cpuHelp(), llvm::StringRef::empty(), llvm::ArrayRef< T >::empty(), llvm::errs(), Find(), llvm::X86AS::FS, llvm::FeatureBitArray::getAsBitset(), llvm::SubtargetFeatures::getFeatures(), Help(), llvm::SubtargetSubTypeKV::Implies, llvm::is_sorted(), SetImpliedBits(), and llvm::SubtargetSubTypeKV::TuneImplies.
Referenced by llvm::MCSubtargetInfo::InitMCProcessorInfo(), and llvm::MCSubtargetInfo::setDefaultFeatures().
Return the length of the longest entry in the table.
Definition at line 88 of file MCSubtargetInfo.cpp.
References I, and llvm::max().
Referenced by Help().
|
static |
Display help for feature and mcpu choices.
Definition at line 96 of file MCSubtargetInfo.cpp.
References llvm::errs(), llvm::format(), and getLongestEntryLength().
Referenced by llvm::cl::extrahelp::extrahelp(), and getFeatures().
|
static |
For each feature that is (transitively) implied by this feature, set it.
Definition at line 36 of file MCSubtargetInfo.cpp.
References llvm::tgtok::Bits, and llvm::FeatureBitset::test().
Referenced by ApplyFeatureFlag(), getFeatures(), llvm::MCSubtargetInfo::SetFeatureBitsTransitively(), and llvm::MCSubtargetInfo::ToggleFeature().