diff --git a/clang/include/clang/Basic/DiagnosticDriverKinds.td b/clang/include/clang/Basic/DiagnosticDriverKinds.td index 94d34cb49fbcb2..a8ed473ac0a1bd 100644 --- a/clang/include/clang/Basic/DiagnosticDriverKinds.td +++ b/clang/include/clang/Basic/DiagnosticDriverKinds.td @@ -647,6 +647,10 @@ def warn_drv_global_isel_incomplete_opt : Warning< "-fglobal-isel support is incomplete for this architecture at the current optimization level">, InGroup; +def warn_drv_amd_opt_removed : Warning< + "[AMD] proprietary optimization compiler has been removed">, + InGroup; + def warn_drv_amd_opt_not_found : Warning< "The [AMD] proprietary optimization compiler installation was not found">, InGroup; diff --git a/clang/lib/Driver/ToolChains/AmdOptArgs.cpp b/clang/lib/Driver/ToolChains/AmdOptArgs.cpp index 8f2fff3b4a278c..dfa955f035b5f8 100644 --- a/clang/lib/Driver/ToolChains/AmdOptArgs.cpp +++ b/clang/lib/Driver/ToolChains/AmdOptArgs.cpp @@ -7,6 +7,9 @@ // Closed optimization compiler is invoked if -famd-opt is specified, or // if any of the closed optimization flags are specified on the command line. // These can also include -mllvm options as well as -f +// +// Support is removed for -famd-opt, issue a warning. +// //===----------------------------------------------------------------------===// #include "CommonArgs.h" @@ -337,29 +340,14 @@ bool tools::checkForAMDProprietaryOptOptions( const ToolChain &TC, const Driver &D, const ArgList &Args, ArgStringList &CmdArgs, bool isLLD, bool checkOnly) { - bool ProprietaryToolChainNeeded = false; - std::string AltPath = D.getInstalledDir(); - AltPath += "/../alt/bin"; // -famd-opt enables prorietary compiler and lto if (Args.hasFlag(options::OPT_famd_opt, options::OPT_fno_amd_opt, false)) { - if (!TC.getVFS().exists(AltPath)) { - D.Diag(diag::warn_drv_amd_opt_not_found); - return false; - } - ProprietaryToolChainNeeded = true; + D.Diag(diag::warn_drv_amd_opt_removed); + return false; } // disables amd proprietary compiler if (Args.hasFlag(options::OPT_fno_amd_opt, options::OPT_famd_opt, false)) { return false; } - - // check for more AOCC options - ProprietaryToolChainNeeded |= checkForPropOpts( - TC, D, Args, CmdArgs, isLLD, checkOnly, TC.getVFS().exists(AltPath)); - - if (ProprietaryToolChainNeeded && !TC.getVFS().exists(AltPath)) { - D.Diag(diag::warn_drv_amd_opt_not_found); - return false; - } - return ProprietaryToolChainNeeded; + return false; } diff --git a/clang/test/Driver/A+A.c b/clang/test/Driver/A+A.c index 9d09e05332c7d4..57f1ec88d87a08 100644 --- a/clang/test/Driver/A+A.c +++ b/clang/test/Driver/A+A.c @@ -21,6 +21,4 @@ // CHECK-OMP-OPEN-NOT: "{{.*}}../alt/bin/ld.lld" // RUN: %clang -famd-opt -O3 -### %s 2>&1 | FileCheck --check-prefix=CHECK-ALT-MISS %s -// CHECK-ALT-MISS: warning: The [AMD] proprietary optimization compiler installation was not found -// RUN: %clang -fveclib=AMDLIBM -O3 -### %s 2>&1 | FileCheck --check-prefix=CHECK-VECLIB %s -// CHECK-VECLIB: warning: The [AMD] proprietary optimization compiler installation was not found +// CHECK-ALT-MISS: warning: [AMD] proprietary optimization compiler has been removed diff --git a/clang/test/Driver/gcc_forward.c b/clang/test/Driver/gcc_forward.c index 491750f5eedfd3..987f9376ba04c9 100644 --- a/clang/test/Driver/gcc_forward.c +++ b/clang/test/Driver/gcc_forward.c @@ -7,7 +7,7 @@ // Check that we don't try to forward -Xclang or -mlinker-version to GCC. // PR12920 -- Check also we may not forward W_Group options to GCC. // -// RUN: %clang -target powerpc-unknown-unknown \ +// RUN: not %clang --target=powerpc-unknown-unknown \ // RUN: %s \ // RUN: -Wall -Wdocumentation \ // RUN: -Xclang foo-bar \ diff --git a/clang/test/Driver/sparc-march.c b/clang/test/Driver/sparc-march.c index 71db4c0a33cb62..8ef3e62da5d27a 100644 --- a/clang/test/Driver/sparc-march.c +++ b/clang/test/Driver/sparc-march.c @@ -2,4 +2,3 @@ // RUN: not %clang -target sparc64 -march=v9 -### -c %s 2>&1 | FileCheck %s // RUN: not %clang -target sparc -march=v9 -### -c %s 2>&1 | FileCheck %s // CHECK: error: unsupported option '-march=' for target -// XFAIL: *