Author: Tarun Prabhu Date: 2024-11-12T17:08:02-07:00 New Revision: 01d233ff403823389f8480897e41aea84ecbb3d3
URL: https://github.com/llvm/llvm-project/commit/01d233ff403823389f8480897e41aea84ecbb3d3 DIFF: https://github.com/llvm/llvm-project/commit/01d233ff403823389f8480897e41aea84ecbb3d3.diff LOG: Revert "[clang][flang] Support -time in both clang and flang" Reverts llvm/llvm-project#109165 This created a buildbot failure on [Fuchsia](https://lab.llvm.org/buildbot/#/builders/11/builds/8080). Added: Modified: clang/include/clang/Driver/Options.td clang/lib/Driver/Compilation.cpp clang/lib/Driver/Driver.cpp Removed: clang/test/Driver/time.c flang/test/Driver/time.f90 ################################################################################ diff --git a/clang/include/clang/Driver/Options.td b/clang/include/clang/Driver/Options.td index 0bbab21120f2b6..9fb7f8bb6489b0 100644 --- a/clang/include/clang/Driver/Options.td +++ b/clang/include/clang/Driver/Options.td @@ -5896,7 +5896,6 @@ def print_enabled_extensions : Flag<["-", "--"], "print-enabled-extensions">, def : Flag<["-"], "mcpu=help">, Alias<print_supported_cpus>; def : Flag<["-"], "mtune=help">, Alias<print_supported_cpus>; def time : Flag<["-"], "time">, - Visibility<[ClangOption, CLOption, DXCOption, FlangOption]>, HelpText<"Time individual commands">; def traditional_cpp : Flag<["-", "--"], "traditional-cpp">, Visibility<[ClangOption, CC1Option]>, diff --git a/clang/lib/Driver/Compilation.cpp b/clang/lib/Driver/Compilation.cpp index 6965e59367c95d..ad077d5bbfa69a 100644 --- a/clang/lib/Driver/Compilation.cpp +++ b/clang/lib/Driver/Compilation.cpp @@ -21,9 +21,6 @@ #include "llvm/Option/OptSpecifier.h" #include "llvm/Option/Option.h" #include "llvm/Support/FileSystem.h" -#include "llvm/Support/Format.h" -#include "llvm/Support/Path.h" -#include "llvm/Support/Timer.h" #include "llvm/Support/raw_ostream.h" #include "llvm/TargetParser/Triple.h" #include <cassert> @@ -197,28 +194,11 @@ int Compilation::ExecuteCommand(const Command &C, if (LogOnly) return 0; - // We don't use any timers or llvm::TimeGroup's because those are tied into - // the global static timer list which, in principle, could be cleared without - // us knowing about it. - llvm::TimeRecord StartTime; - if (getArgs().hasArg(options::OPT_time)) - StartTime = llvm::TimeRecord::getCurrentTime(/*Start=*/true); - std::string Error; bool ExecutionFailed; int Res = C.Execute(Redirects, &Error, &ExecutionFailed); if (PostCallback) PostCallback(C, Res); - - if (getArgs().hasArg(options::OPT_time)) { - llvm::TimeRecord Time = llvm::TimeRecord::getCurrentTime(/*Start=*/false); - Time -= StartTime; - llvm::StringRef Name = llvm::sys::path::filename(C.getExecutable()); - llvm::errs() << "# " << Name << " " - << llvm::format("%0.2f", Time.getUserTime()) << " " - << llvm::format("%0.2f", Time.getSystemTime()) << "\n"; - } - if (!Error.empty()) { assert(Res && "Error string set with 0 result code!"); getDriver().Diag(diag::err_drv_command_failure) << Error; diff --git a/clang/lib/Driver/Driver.cpp b/clang/lib/Driver/Driver.cpp index a0fd459967a6b2..93e85f7dffe35a 100644 --- a/clang/lib/Driver/Driver.cpp +++ b/clang/lib/Driver/Driver.cpp @@ -1315,9 +1315,6 @@ Compilation *Driver::BuildCompilation(ArrayRef<const char *> ArgList) { // Ignore -pipe. Args.ClaimAllArgs(options::OPT_pipe); - // Ignore -time. - Args.ClaimAllArgs(options::OPT_time); - // Extract -ccc args. // // FIXME: We need to figure out where this behavior should live. Most of it diff --git a/clang/test/Driver/time.c b/clang/test/Driver/time.c deleted file mode 100644 index a9a95b073afb73..00000000000000 --- a/clang/test/Driver/time.c +++ /dev/null @@ -1,33 +0,0 @@ -// The -time option prints timing information for the various subcommands in a -// format similar to that used by gcc. When compiling and linking, this will -// include the time to call clang-${LLVM_VERSION_MAJOR} and the linker. Since -// the name of the linker could vary across platforms, and name of the compiler -// could be something diff erent, just check that whatever is printed to stderr -// looks like timing information. - -// Ideally, this should be tested on various platforms, but that requires the -// the full toolchain, including a linker to be present. The initial author of -// the test only had access to Linux on x86 which is why this is only enabled -// there. More platforms ought to be added if possible. - -// REQUIRES: x86-registered-target -// REQUIRES: x86_64-linux - -// RUN: %clang --target=x86_64-pc-linux -time -c -o /dev/null %s 2>&1 \ -// RUN: | FileCheck %s --check-prefix=COMPILE-ONLY -// RUN: %clang --target=x86_64-pc-linux -time -S -emit-llvm -o /dev/null %s 2>&1 \ -// RUN: | FileCheck %s --check-prefix=COMPILE-ONLY -// RUN: %clang --target=x86_64-pc-linux -time -S -o /dev/null %s 2>&1 \ -// RUN: | FileCheck %s --check-prefix=COMPILE-ONLY -// RUN: %clang --target=x86_64-pc-linux -time -o /dev/null %s 2>&1 \ -// RUN: | FileCheck %s --check-prefix=COMPILE-AND-LINK - -// COMPILE-ONLY: # {{.+}} {{[0-9]+(.[0-9]+)?}} {{[0-9]+(.[0-9]+)?}} -// COMPILE-ONLY-NOT: {{.}} - -// COMPILE-AND-LINK: # {{.+}} {{[0-9]+(.[0-9]+)?}} {{[0-9]+(.[0-9]+)?}} -// COMPILE-AND-LINK: # {{.+}} {{[0-9]+(.[0-9]+)?}} {{[0-9]+(.[0-9]+)?}} - -int main() { - return 0; -} diff --git a/flang/test/Driver/time.f90 b/flang/test/Driver/time.f90 deleted file mode 100644 index 98d4fac4e805e9..00000000000000 --- a/flang/test/Driver/time.f90 +++ /dev/null @@ -1,36 +0,0 @@ -! TODO: For some reason, on Windows, nothing is printed to stderr which causes -! the checks to fail. It is not clear why this is, so disable this on Windows -! until the root cause can be determined. -! -! UNSUPPORTED: system-windows - -! The -time option prints timing information for the various subcommands in a -! format similar to that used by gfortran. When compiling and linking, this will -! include the time to call flang-${LLVM_VERSION_MAJOR} and the linker. Since the -! name of the linker could vary across platforms, and the flang name could also -! potentially be something diff erent, just check that whatever is printed to -! stderr looks like timing information. - -! Ideally, this should be tested on various platforms, but that requires the -! the full toolchain, including a linker to be present. The initial author of -! the test only had access to Linux on x86 which is why this is only enabled -! there. More platforms ought to be added if possible. - -! REQUIRES: x86_64-linux - -! RUN: %flang --target=x86_64-linux -time -c -o /dev/null %s 2>&1 \ -! RUN: | FileCheck %s --check-prefix=COMPILE-ONLY -! RUN: %flang --target=x86_64-linux -time -S -emit-llvm -O3 -o /dev/null %s 2>&1 \ -! RUN: | FileCheck %s --check-prefix=COMPILE-ONLY -! RUN: %flang --target=x86_64-linux -time -S -o /dev/null %s 2>&1 \ -! RUN: | FileCheck %s --check-prefix=COMPILE-ONLY -! RUN: %flang --target=x86_64-linux -time -o /dev/null %s 2>&1 \ -! RUN: | FileCheck %s --check-prefix=COMPILE-AND-LINK - -! COMPILE-ONLY: # {{.+}} {{[0-9]+(.[0-9]+)?}} {{[0-9]+(.[0-9]+)?}} -! COMPILE-ONLY-NOT: {{.}} - -! COMPILE-AND-LINK: # {{.+}} {{[0-9]+(.[0-9]+)?}} {{[0-9]+(.[0-9]+)?}} -! COMPILE-AND-LINK: # {{.+}} {{[0-9]+(.[0-9]+)?}} {{[0-9]+(.[0-9]+)?}} - -end program _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits