diff options
author | Chandler Carruth <chandlerc@gmail.com> | 2011-09-28 05:56:05 +0000 |
---|---|---|
committer | Chandler Carruth <chandlerc@gmail.com> | 2011-09-28 05:56:05 +0000 |
commit | 8bdcf9ea12881baf3a71eb701a18c86dec4ecdbc (patch) | |
tree | 97f0290f5a115505142f480e1c18fe056ba692ac /clang/lib/Basic/Targets.cpp | |
parent | fcfb53d5a5d1bc00226eb70e9de1bff8531f3b8b (diff) | |
download | bcm5719-llvm-8bdcf9ea12881baf3a71eb701a18c86dec4ecdbc.tar.gz bcm5719-llvm-8bdcf9ea12881baf3a71eb701a18c86dec4ecdbc.zip |
Clean up a bit of the uses of CPU in the TargetInfo classes. This makes
it an error if a CPU is provided for a target that doesn't implement
logic handling CPU settings, to match the ABI settings. It also removes
the CPU parameter from the getDefaultFeatures method. This parameter was
always filled in with the same value as setCPU was called with, and at
this point every single target implementation that referenced the CPU
within this function has needed to store the CPU via setCPU anyways in
order to implement other interface points.
llvm-svn: 140683
Diffstat (limited to 'clang/lib/Basic/Targets.cpp')
-rw-r--r-- | clang/lib/Basic/Targets.cpp | 17 |
1 files changed, 6 insertions, 11 deletions
diff --git a/clang/lib/Basic/Targets.cpp b/clang/lib/Basic/Targets.cpp index 245d8fd9d7c..528f4a75d26 100644 --- a/clang/lib/Basic/Targets.cpp +++ b/clang/lib/Basic/Targets.cpp @@ -1205,8 +1205,7 @@ public: virtual bool setFeatureEnabled(llvm::StringMap<bool> &Features, const std::string &Name, bool Enabled) const; - virtual void getDefaultFeatures(const std::string &CPU, - llvm::StringMap<bool> &Features) const; + virtual void getDefaultFeatures(llvm::StringMap<bool> &Features) const; virtual void HandleTargetFeatures(std::vector<std::string> &Features); virtual const char* getABI() const { return MMX3DNowLevel == NoMMX3DNow ? "no-mmx" : ""; @@ -1218,8 +1217,7 @@ public: } }; -void X86TargetInfo::getDefaultFeatures(const std::string &CPU, - llvm::StringMap<bool> &Features) const { +void X86TargetInfo::getDefaultFeatures(llvm::StringMap<bool> &Features) const { // FIXME: This should not be here. Features["3dnow"] = false; Features["3dnowa"] = false; @@ -2131,8 +2129,7 @@ public: return true; } - void getDefaultFeatures(const std::string &CPU, - llvm::StringMap<bool> &Features) const { + void getDefaultFeatures(llvm::StringMap<bool> &Features) const { if (CPU == "arm1136jf-s" || CPU == "arm1176jzf-s" || CPU == "mpcore") Features["vfp2"] = true; else if (CPU == "cortex-a8" || CPU == "cortex-a9") @@ -2815,8 +2812,7 @@ public: CPU = Name; return true; } - void getDefaultFeatures(const std::string &CPU, - llvm::StringMap<bool> &Features) const { + void getDefaultFeatures(llvm::StringMap<bool> &Features) const { Features[ABI] = true; Features[CPU] = true; } @@ -3106,8 +3102,7 @@ public: "f32:32:32-f64:64:64-p:32:32:32-v128:32:32"; } - void getDefaultFeatures(const std::string &CPU, - llvm::StringMap<bool> &Features) const { + void getDefaultFeatures(llvm::StringMap<bool> &Features) const { } virtual void getArchDefines(const LangOptions &Opts, MacroBuilder &Builder) const { @@ -3420,7 +3415,7 @@ TargetInfo *TargetInfo::CreateTargetInfo(DiagnosticsEngine &Diags, // Compute the default target features, we need the target to handle this // because features may have dependencies on one another. llvm::StringMap<bool> Features; - Target->getDefaultFeatures(Opts.CPU, Features); + Target->getDefaultFeatures(Features); // Apply the user specified deltas. for (std::vector<std::string>::const_iterator it = Opts.Features.begin(), |