LLVM
15.0.0git
|
Manages the enabling and disabling of subtarget specific features. More...
#include "llvm/MC/SubtargetFeature.h"
Public Member Functions | |
SubtargetFeatures (StringRef Initial="") | |
std::string | getString () const |
Returns features as a string. More... | |
void | AddFeature (StringRef String, bool Enable=true) |
Adds Features. More... | |
const std::vector< std::string > & | getFeatures () const |
Returns the vector of individual subtarget features. More... | |
void | print (raw_ostream &OS) const |
Prints feature string. More... | |
void | dump () const |
void | getDefaultSubtargetFeatures (const Triple &Triple) |
Adds the default features for the specified target triple. More... | |
Static Public Member Functions | |
static bool | hasFlag (StringRef Feature) |
Determine if a feature has a flag; '+' or '-'. More... | |
static StringRef | StripFlag (StringRef Feature) |
Return string stripped of flag. More... | |
static bool | isEnabled (StringRef Feature) |
Return true if enable flag; '+'. More... | |
static void | Split (std::vector< std::string > &V, StringRef S) |
Splits a string of comma separated items in to a vector of strings. More... | |
Manages the enabling and disabling of subtarget specific features.
Features are encoded as a string of the form "+attr1,+attr2,-attr3,...,+attrN" A comma separates each feature from the next (all lowercase.) Each of the remaining features is prefixed with + or - indicating whether that feature should be enabled or disabled contrary to the cpu specification.
Definition at line 183 of file SubtargetFeature.h.
|
explicit |
Definition at line 45 of file SubtargetFeature.cpp.
References Split().
Adds Features.
Definition at line 37 of file SubtargetFeature.cpp.
References Enable, and hasFlag().
Referenced by llvm::orc::JITTargetMachineBuilder::addFeatures(), createTargetMachine(), llvm::orc::JITTargetMachineBuilder::detectHost(), getDefaultSubtargetFeatures(), llvm::codegen::getFeatureList(), llvm::codegen::getFeaturesStr(), llvm::HexagonSubtarget::initializeSubtargetDependencies(), LLVMGetHostCPUFeatures(), and llvm::EngineBuilder::selectTarget().
LLVM_DUMP_METHOD void SubtargetFeatures::dump | ( | ) | const |
Definition at line 61 of file SubtargetFeature.cpp.
References llvm::dbgs(), and print().
Adds the default features for the specified target triple.
Definition at line 66 of file SubtargetFeature.cpp.
References AddFeature(), llvm::Triple::Apple, llvm::Triple::getArch(), llvm::Triple::getVendor(), llvm::Triple::ppc, and llvm::Triple::ppc64.
Referenced by llvm::TargetMachineBuilder::create(), and createTargetMachine().
|
inline |
Returns the vector of individual subtarget features.
Definition at line 196 of file SubtargetFeature.h.
Referenced by llvm::codegen::getFeatureList(), getFeatures(), llvm::HexagonSubtarget::initializeSubtargetDependencies(), and llvm::AMDGPU::IsaInfo::AMDGPUTargetID::setTargetIDFromFeaturesString().
std::string SubtargetFeatures::getString | ( | ) | const |
Returns features as a string.
Definition at line 50 of file SubtargetFeature.cpp.
Referenced by llvm::TargetMachineBuilder::create(), llvm::orc::JITTargetMachineBuilder::createTargetMachine(), createTargetMachine(), llvm::codegen::getFeaturesStr(), llvm::HexagonSubtarget::initializeSubtargetDependencies(), LLVMGetHostCPUFeatures(), llvm::orc::JITTargetMachineBuilderPrinter::print(), and llvm::EngineBuilder::selectTarget().
|
inlinestatic |
Determine if a feature has a flag; '+' or '-'.
Definition at line 208 of file SubtargetFeature.h.
References assert(), and llvm::StringRef::empty().
Referenced by AddFeature(), ApplyFeatureFlag(), and StripFlag().
|
inlinestatic |
Return true if enable flag; '+'.
Definition at line 222 of file SubtargetFeature.h.
References assert(), and llvm::StringRef::empty().
Referenced by ApplyFeatureFlag().
void SubtargetFeatures::print | ( | raw_ostream & | OS | ) | const |
Prints feature string.
Definition at line 54 of file SubtargetFeature.cpp.
References F.
Referenced by dump().
|
static |
Splits a string of comma separated items in to a vector of strings.
Definition at line 29 of file SubtargetFeature.cpp.
References S.
Referenced by SubtargetFeatures().
Return string stripped of flag.
Definition at line 217 of file SubtargetFeature.h.
References hasFlag(), and llvm::StringRef::substr().
Referenced by ApplyFeatureFlag(), and llvm::MCSubtargetInfo::ToggleFeature().