[PATCH] D100011: [lld-macho] Make time-trace* options more permissive.

Vy Nguyen via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Apr 6 20:46:08 PDT 2021


oontvoo created this revision.
Herald added a reviewer: int3.
Herald added a project: lld-macho.
Herald added a reviewer: lld-macho.
oontvoo requested review of this revision.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.

If either `time-trace-granularity` or `time-trace-file` is specified, then don't make users specify `-time-trace`.
It seems silly that I have to type all three options, eg, `-time-trace -time-trace-file=- -time-trace-granularity=...`.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D100011

Files:
  lld/MachO/Driver.cpp
  lld/test/MachO/time-trace.s


Index: lld/test/MachO/time-trace.s
===================================================================
--- lld/test/MachO/time-trace.s
+++ lld/test/MachO/time-trace.s
@@ -1,27 +1,27 @@
 # REQUIRES: x86
 # RUN: llvm-mc -filetype=obj -triple=x86_64-apple-darwin %s -o %t.o
 
-# Test implicit trace file name
+## Test implicit trace file name
 # RUN: %lld --time-trace --time-trace-granularity=0 -o %t1.macho %t.o
 # RUN: cat %t1.macho.time-trace \
 # RUN:   | %python -c 'import json, sys; json.dump(json.loads(sys.stdin.read()), sys.stdout, sort_keys=True, indent=2)' \
 # RUN:   | FileCheck %s
 
-# Test specified trace file name
+## Test specified trace file name
 # RUN: %lld --time-trace --time-trace-file=%t2.json --time-trace-granularity=0 -o %t2.macho %t.o
 # RUN: cat %t2.json \
 # RUN:   | %python -c 'import json, sys; json.dump(json.loads(sys.stdin.read()), sys.stdout, sort_keys=True, indent=2)' \
 # RUN:   | FileCheck %s
 
-# Test trace requested to stdout
-# RUN: %lld --time-trace --time-trace-file=- --time-trace-granularity=0 -o %t3.macho %t.o \
+## Test trace requested to stdout, also test that `--time-trace` is not needed if the other two are used.
+# RUN: %lld --time-trace-file=- --time-trace-granularity=0 -o %t3.macho %t.o \
 # RUN:   | %python -c 'import json, sys; json.dump(json.loads(sys.stdin.read()), sys.stdout, sort_keys=True, indent=2)' \
 # RUN:   | FileCheck %s
 
 # CHECK:      "beginningOfTime": {{[0-9]{16},}}
 # CHECK-NEXT: "traceEvents": [
 
-# Check one event has correct fields
+## Check one event has correct fields
 # CHECK:      "dur":
 # CHECK-NEXT: "name":
 # CHECK-NEXT: "ph":
@@ -29,10 +29,10 @@
 # CHECK-NEXT: "tid":
 # CHECK-NEXT: "ts":
 
-# Check there is an ExecuteLinker event
+## Check there is an ExecuteLinker event
 # CHECK: "name": "ExecuteLinker"
 
-# Check process_name entry field
+## Check process_name entry field
 # CHECK: "name": "ld64.lld{{(.exe)?}}"
 # CHECK: "name": "process_name"
 # CHECK: "name": "thread_name"
Index: lld/MachO/Driver.cpp
===================================================================
--- lld/MachO/Driver.cpp
+++ lld/MachO/Driver.cpp
@@ -1033,7 +1033,7 @@
 
   config->progName = argsArr[0];
 
-  config->timeTraceEnabled = args.hasArg(OPT_time_trace);
+  config->timeTraceEnabled = args.hasArg(OPT_time_trace) || args.hasArg(OPT_time_trace_granularity_eq) || args.hasArg(OPT_time_trace_file_eq);
   config->timeTraceGranularity =
       args::getInteger(args, OPT_time_trace_granularity_eq, 500);
 


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D100011.335711.patch
Type: text/x-patch
Size: 2496 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210407/d222c9a3/attachment-0001.bin>


More information about the llvm-commits mailing list