aboutsummaryrefslogtreecommitdiff
path: root/Driver/clang.cpp
diff options
context:
space:
mode:
authorDaniel Dunbar <daniel@zuster.org>2009-02-17 19:47:34 +0000
committerDaniel Dunbar <daniel@zuster.org>2009-02-17 19:47:34 +0000
commita034ba807be38d9166998d68af71226c64c5c8dd (patch)
tree4c0ce35885721d5adcb17decd6799ac81e7d7905 /Driver/clang.cpp
parent3092dd6b2c01d7d1721a29c865ac729cd8f9ea3c (diff)
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
Diffstat (limited to 'Driver/clang.cpp')
-rw-r--r--Driver/clang.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/Driver/clang.cpp b/Driver/clang.cpp
index 1fdfde4318..24c4d7fe09 100644
--- a/Driver/clang.cpp
+++ b/Driver/clang.cpp
@@ -1204,6 +1204,14 @@ OptLevel("O", llvm::cl::Prefix,
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 @@ static void InitializeCompileOptions(CompileOptions &Opts) {
#ifdef NDEBUG
Opts.VerifyModule = 0;
#endif
+
+ Opts.CPU = TargetCPU;
+ Opts.Features.insert(Opts.Features.end(),
+ TargetFeatures.begin(), TargetFeatures.end());
}
//===----------------------------------------------------------------------===//