[Driver] Fix style issues of --print-supported-cpus after D63105
Reviewed By: ziangwan Differential Revision: https://reviews.llvm.org/D63822 llvm-svn: 364704
This commit is contained in:
parent
7889d4ce66
commit
765eba38c8
5 changed files with 30 additions and 43 deletions
|
|
@ -2644,12 +2644,12 @@ def : Separate<["--"], "no-system-header-prefix">, Alias<no_system_header_prefix
|
|||
def s : Flag<["-"], "s">, Group<Link_Group>;
|
||||
def target : Joined<["--"], "target=">, Flags<[DriverOption, CoreOption]>,
|
||||
HelpText<"Generate code for the given target">;
|
||||
def _print_supported_cpus : Flag<["-", "--"], "print-supported-cpus">,
|
||||
def print_supported_cpus : Flag<["-", "--"], "print-supported-cpus">,
|
||||
Group<CompileOnly_Group>, Flags<[CC1Option, CoreOption]>,
|
||||
HelpText<"Print supported cpu models for the given target (if target is not specified,"
|
||||
" it will print the supported cpus for the default target)">;
|
||||
def mcpu_EQ_QUESTION : Flag<["-"], "mcpu=?">, Alias<_print_supported_cpus>;
|
||||
def mtune_EQ_QUESTION : Flag<["-"], "mtune=?">, Alias<_print_supported_cpus>;
|
||||
def mcpu_EQ_QUESTION : Flag<["-"], "mcpu=?">, Alias<print_supported_cpus>;
|
||||
def mtune_EQ_QUESTION : Flag<["-"], "mtune=?">, Alias<print_supported_cpus>;
|
||||
def gcc_toolchain : Joined<["--"], "gcc-toolchain=">, Flags<[DriverOption]>,
|
||||
HelpText<"Use the gcc toolchain at the given directory">;
|
||||
def time : Flag<["-"], "time">,
|
||||
|
|
|
|||
|
|
@ -280,6 +280,7 @@ phases::ID Driver::getFinalPhase(const DerivedArgList &DAL,
|
|||
|
||||
// -{fsyntax-only,-analyze,emit-ast} only run up to the compiler.
|
||||
} else if ((PhaseArg = DAL.getLastArg(options::OPT_fsyntax_only)) ||
|
||||
(PhaseArg = DAL.getLastArg(options::OPT_print_supported_cpus)) ||
|
||||
(PhaseArg = DAL.getLastArg(options::OPT_module_file_info)) ||
|
||||
(PhaseArg = DAL.getLastArg(options::OPT_verify_pch)) ||
|
||||
(PhaseArg = DAL.getLastArg(options::OPT_rewrite_objc)) ||
|
||||
|
|
@ -1673,7 +1674,7 @@ bool Driver::HandleImmediateArgs(const Compilation &C) {
|
|||
|
||||
if (C.getArgs().hasArg(options::OPT_v) ||
|
||||
C.getArgs().hasArg(options::OPT__HASH_HASH_HASH) ||
|
||||
C.getArgs().hasArg(options::OPT__print_supported_cpus)) {
|
||||
C.getArgs().hasArg(options::OPT_print_supported_cpus)) {
|
||||
PrintVersion(C, llvm::errs());
|
||||
SuppressMissingInputWarning = true;
|
||||
}
|
||||
|
|
@ -3377,21 +3378,16 @@ void Driver::BuildActions(Compilation &C, DerivedArgList &Args,
|
|||
Args.ClaimAllArgs(options::OPT_cl_compile_Group);
|
||||
}
|
||||
|
||||
// if the user specify --print-supported-cpus, or use -mcpu=?, or use
|
||||
// -mtune=? (aliases), clang will only print out supported cpu names
|
||||
// without doing compilation.
|
||||
if (Arg *A = Args.getLastArg(options::OPT__print_supported_cpus)) {
|
||||
// the compilation now has only two phases: Input and Compile
|
||||
// use the --prints-supported-cpus flag as the dummy input to cc1
|
||||
// If --print-supported-cpus, -mcpu=? or -mtune=? is specified, build a custom
|
||||
// Compile phase that prints out supported cpu models and quits.
|
||||
if (Arg *A = Args.getLastArg(options::OPT_print_supported_cpus)) {
|
||||
// Use the -mcpu=? flag as the dummy input to cc1.
|
||||
Actions.clear();
|
||||
Action *InputAc = C.MakeAction<InputAction>(*A, types::TY_C);
|
||||
Actions.push_back(
|
||||
C.MakeAction<PrecompileJobAction>(InputAc, types::TY_Nothing));
|
||||
// claim all the input files to prevent argument unused warnings
|
||||
for (auto &I : Inputs) {
|
||||
const Arg *InputArg = I.second;
|
||||
InputArg->claim();
|
||||
}
|
||||
for (auto &I : Inputs)
|
||||
I.second->claim();
|
||||
}
|
||||
|
||||
// Claim ignored clang-cl options.
|
||||
|
|
|
|||
|
|
@ -1767,7 +1767,7 @@ static InputKind ParseFrontendArgs(FrontendOptions &Opts, ArgList &Args,
|
|||
Opts.ShowHelp = Args.hasArg(OPT_help);
|
||||
Opts.ShowStats = Args.hasArg(OPT_print_stats);
|
||||
Opts.ShowTimers = Args.hasArg(OPT_ftime_report);
|
||||
Opts.PrintSupportedCPUs = Args.hasArg(OPT__print_supported_cpus);
|
||||
Opts.PrintSupportedCPUs = Args.hasArg(OPT_print_supported_cpus);
|
||||
Opts.TimeTrace = Args.hasArg(OPT_ftime_trace);
|
||||
Opts.ShowVersion = Args.hasArg(OPT_version);
|
||||
Opts.ASTMergeFiles = Args.getAllArgValues(OPT_ast_merge);
|
||||
|
|
|
|||
|
|
@ -1,35 +1,27 @@
|
|||
// Test that the --print-supported-cpus flag works
|
||||
// Also test its aliases: -mcpu=? and -mtune=?
|
||||
// Test that --print-supported-cpus lists supported CPU models.
|
||||
|
||||
// REQUIRES: x86-registered-target
|
||||
// REQUIRES: arm-registered-target
|
||||
|
||||
// RUN: %clang --target=x86_64-unknown-linux-gnu \
|
||||
// RUN: --print-supported-cpus 2>&1 \
|
||||
// RUN: | FileCheck %s --check-prefix=CHECK-X86
|
||||
// RUN: %clang --target=x86_64-unknown-linux-gnu --print-supported-cpus 2>&1 | \
|
||||
// RUN: FileCheck %s --check-prefix=CHECK-X86
|
||||
|
||||
// Test -mcpu=? and -mtune=? alises.
|
||||
// RUN: %clang --target=x86_64-unknown-linux-gnu -mcpu=? 2>&1 | \
|
||||
// RUN: FileCheck %s --check-prefix=CHECK-X86
|
||||
|
||||
// RUN: %clang --target=x86_64-unknown-linux-gnu -mtune=? -fuse-ld=dummy 2>&1 | \
|
||||
// RUN: FileCheck %s --check-prefix=CHECK-X86
|
||||
|
||||
// CHECK-NOT: warning: argument unused during compilation
|
||||
// CHECK-X86: Target: x86_64-unknown-linux-gnu
|
||||
// CHECK-X86: corei7
|
||||
// CHECK-X86: Use -mcpu or -mtune to specify the target's processor.
|
||||
|
||||
// RUN: %clang --target=x86_64-unknown-linux-gnu \
|
||||
// RUN: -mcpu=? 2>&1 \
|
||||
// RUN: | FileCheck %s --check-prefix=CHECK-X86-MCPU
|
||||
// CHECK-X86-MCPU: Target: x86_64-unknown-linux-gnu
|
||||
// CHECK-X86-MCPU: corei7
|
||||
// CHECK-X86-MCPU: Use -mcpu or -mtune to specify the target's processor.
|
||||
// RUN: %clang --target=arm-unknown-linux-android --print-supported-cpus 2>&1 | \
|
||||
// RUN: FileCheck %s --check-prefix=CHECK-ARM
|
||||
|
||||
// RUN: %clang --target=arm-unknown-linux-android \
|
||||
// RUN: --print-supported-cpus 2>&1 \
|
||||
// RUN: | FileCheck %s --check-prefix=CHECK-ARM
|
||||
// CHECK-ARM: Target: arm-unknown-linux-android
|
||||
// CHECK-ARM: cortex-a73
|
||||
// CHECK-ARM: cortex-a75
|
||||
// CHECK-ARM: Use -mcpu or -mtune to specify the target's processor.
|
||||
|
||||
// RUN: %clang --target=arm-unknown-linux-android \
|
||||
// RUN: -mtune=? 2>&1 \
|
||||
// RUN: | FileCheck %s --check-prefix=CHECK-ARM-MTUNE
|
||||
// CHECK-ARM-MTUNE: Target: arm-unknown-linux-android
|
||||
// CHECK-ARM-MTUNE: cortex-a73
|
||||
// CHECK-ARM-MTUNE: cortex-a75
|
||||
// CHECK-ARM-MTUNE: Use -mcpu or -mtune to specify the target's processor.
|
||||
|
|
|
|||
|
|
@ -169,8 +169,8 @@ static void ensureSufficientStack() {
|
|||
static void ensureSufficientStack() {}
|
||||
#endif
|
||||
|
||||
/// print supported cpus of the given target
|
||||
int PrintSupportedCPUs(std::string TargetStr) {
|
||||
/// Print supported cpus of the given target.
|
||||
static int PrintSupportedCPUs(std::string TargetStr) {
|
||||
std::string Error;
|
||||
const llvm::Target *TheTarget =
|
||||
llvm::TargetRegistry::lookupTarget(TargetStr, Error);
|
||||
|
|
@ -219,10 +219,9 @@ int cc1_main(ArrayRef<const char *> Argv, const char *Argv0, void *MainAddr) {
|
|||
if (Clang->getFrontendOpts().TimeTrace)
|
||||
llvm::timeTraceProfilerInitialize();
|
||||
|
||||
// --print-supported-cpus takes priority over the actual compilation
|
||||
if (Clang->getFrontendOpts().PrintSupportedCPUs) {
|
||||
// --print-supported-cpus takes priority over the actual compilation.
|
||||
if (Clang->getFrontendOpts().PrintSupportedCPUs)
|
||||
return PrintSupportedCPUs(Clang->getTargetOpts().Triple);
|
||||
}
|
||||
|
||||
// Infer the builtin include path if unspecified.
|
||||
if (Clang->getHeaderSearchOpts().UseBuiltinIncludes &&
|
||||
|
|
|
|||
Loading…
Reference in a new issue