Added two SubtargetFeatures::AddFeatures methods, which accept a comma-separated string or already parsed command line parameters as input, and some code re-factoring to use these new methods.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89516 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Viktor Kutuzov
2009-11-21 00:00:02 +00:00
parent 00621efb40
commit 054b52c366
3 changed files with 44 additions and 3 deletions

View File

@@ -304,10 +304,17 @@ bool LTOCodeGenerator::determineTarget(std::string& errMsg)
break;
}
// Prepare subtarget feature set for the given command line options.
SubtargetFeatures features;
// Set the rest of features by default.
// Note: Please keep this after all explict feature settings to make sure
// defaults will not override explicitly set options.
features.AddFeatures(
SubtargetFeatures::getDefaultSubtargetFeatures(llvm::Triple(Triple)));
// construct LTModule, hand over ownership of module and target
const std::string FeatureStr =
SubtargetFeatures::getDefaultSubtargetFeatures(llvm::Triple(Triple));
_target = march->createTargetMachine(Triple, FeatureStr);
_target = march->createTargetMachine(Triple, features.getString());
}
return false;
}