[flang-commits] [clang] [flang] Revert "[clang][flang] Support -time in both clang and flang" (PR #115955)

via flang-commits flang-commits at lists.llvm.org
Tue Nov 12 14:55:55 PST 2024


llvmbot wrote:


<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-clang

@llvm/pr-subscribers-clang-driver

Author: Tarun Prabhu (tarunprabhu)

<details>
<summary>Changes</summary>

Reverts llvm/llvm-project#<!-- -->109165

This created a buildbot failure on [Fuchsia](https://lab.llvm.org/buildbot/#/builders/11/builds/8080).

---
Full diff: https://github.com/llvm/llvm-project/pull/115955.diff


5 Files Affected:

- (modified) clang/include/clang/Driver/Options.td (-1) 
- (modified) clang/lib/Driver/Compilation.cpp (-20) 
- (modified) clang/lib/Driver/Driver.cpp (-3) 
- (removed) clang/test/Driver/time.c (-33) 
- (removed) flang/test/Driver/time.f90 (-36) 


``````````diff
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 different, 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 different, 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

``````````

</details>


https://github.com/llvm/llvm-project/pull/115955


More information about the flang-commits mailing list