mirror of
https://github.com/apple/swift.git
synced 2025-12-21 12:14:44 +01:00
Do all target info management in Clang, and drop -target-abi / -target-feature.
Previously we hardcoded a few important default CPUs, ABIs, and features into Swift's driver, duplicating work in Clang. Now that we're using Clang's driver to create the Clang "sub-compiler", we can delegate this work to Clang. As part of this, I've dropped the options for -target-abi (which was a frontend-only option anyway) and -target-feature (which was a hidden driver option and is a frontend-only option in /Clang/). We can revisit this later if it becomes interesting. I left in -target-cpu, which is now mapped directly to Clang's -mcpu=. Swift SVN r22449
This commit is contained in:
@@ -668,6 +668,9 @@ static bool ParseClangImporterArgs(ClangImporterOptions &Opts, ArgList &Args,
|
||||
Opts.ModuleCachePath = A->getValue();
|
||||
}
|
||||
|
||||
if (const Arg *A = Args.getLastArg(OPT_target_cpu))
|
||||
Opts.TargetCPU = A->getValue();
|
||||
|
||||
for (const Arg *A : make_range(Args.filtered_begin(OPT_Xcc),
|
||||
Args.filtered_end())) {
|
||||
Opts.ExtraArgs.push_back(A->getValue());
|
||||
@@ -906,16 +909,6 @@ static bool ParseIRGenArgs(IRGenOptions &Opts, ArgList &Args,
|
||||
Opts.LinkLibraries.push_back(LinkLibrary(A->getValue(), Kind));
|
||||
}
|
||||
|
||||
if (const Arg *A = Args.getLastArg(OPT_target_cpu))
|
||||
Opts.TargetCPU = A->getValue();
|
||||
if (const Arg *A = Args.getLastArg(OPT_target_abi))
|
||||
Opts.TargetABI = A->getValue();
|
||||
|
||||
for (const Arg *A : make_range(Args.filtered_begin(OPT_target_feature),
|
||||
Args.filtered_end())) {
|
||||
Opts.TargetFeatures.push_back(A->getValue());
|
||||
}
|
||||
|
||||
Opts.DisableLLVMOptzns |= Args.hasArg(OPT_disable_llvm_optzns);
|
||||
Opts.DisableLLVMARCOpts |= Args.hasArg(OPT_disable_llvm_arc_opts);
|
||||
Opts.EnableDynamicValueTypeLayout |=
|
||||
|
||||
Reference in New Issue
Block a user