Backend: Accept -mcpu and -mattr for use by TargetMachine.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64798 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/Driver/clang.cpp b/Driver/clang.cpp
index 1fdfde4..24c4d7f 100644
--- a/Driver/clang.cpp
+++ b/Driver/clang.cpp
@@ -1204,6 +1204,14 @@
llvm::cl::desc("Optimization level"),
llvm::cl::init(0));
+static llvm::cl::opt<std::string>
+TargetCPU("mcpu",
+ llvm::cl::desc("Target a specific cpu type (-mcpu=help for details)"));
+
+static llvm::cl::list<std::string>
+TargetFeatures("mattr",
+ llvm::cl::desc("Target specific attributes (-mattr=help for details)"));
+
static void InitializeCompileOptions(CompileOptions &Opts) {
Opts.OptimizeSize = OptSize;
if (OptSize) {
@@ -1222,6 +1230,10 @@
#ifdef NDEBUG
Opts.VerifyModule = 0;
#endif
+
+ Opts.CPU = TargetCPU;
+ Opts.Features.insert(Opts.Features.end(),
+ TargetFeatures.begin(), TargetFeatures.end());
}
//===----------------------------------------------------------------------===//