summaryrefslogtreecommitdiffstats
path: root/clang/lib/Basic
diff options
context:
space:
mode:
authorRoman Divacky <rdivacky@freebsd.org>2014-02-25 18:35:30 +0000
committerRoman Divacky <rdivacky@freebsd.org>2014-02-25 18:35:30 +0000
commitb1ae3d4937ed1c2ee5ebad37256007189d758a9a (patch)
tree0c306f5052a3d76f8f2417cc7fe1ad2652b5de09 /clang/lib/Basic
parent801272a98c719280da26cbaad7592e975c70f44f (diff)
downloadbcm5719-llvm-b1ae3d4937ed1c2ee5ebad37256007189d758a9a.tar.gz
bcm5719-llvm-b1ae3d4937ed1c2ee5ebad37256007189d758a9a.zip
Give sparcv9 the ability to set the target cpu. Change it from accepting
-march which doesnt exist on sparc gcc to -mcpu. While here adjust a few tests to not write an unused temporary file. llvm-svn: 202177
Diffstat (limited to 'clang/lib/Basic')
-rw-r--r--clang/lib/Basic/Targets.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/clang/lib/Basic/Targets.cpp b/clang/lib/Basic/Targets.cpp
index 8d2b54180b8..4a87717693a 100644
--- a/clang/lib/Basic/Targets.cpp
+++ b/clang/lib/Basic/Targets.cpp
@@ -4629,6 +4629,22 @@ public:
Builder.defineMacro("__sparcv9__");
}
}
+
+ virtual bool setCPU(const std::string &Name) {
+ bool CPUKnown = llvm::StringSwitch<bool>(Name)
+ .Case("v9", true)
+ .Case("ultrasparc", true)
+ .Case("ultrasparc3", true)
+ .Case("niagara", true)
+ .Case("niagara2", true)
+ .Case("niagara3", true)
+ .Case("niagara4", true)
+ .Default(false);
+
+ // No need to store the CPU yet. There aren't any CPU-specific
+ // macros to define.
+ return CPUKnown;
+ }
};
} // end anonymous namespace.
OpenPOWER on IntegriCloud