diff --git a/lld/MachO/Driver.cpp b/lld/MachO/Driver.cpp --- a/lld/MachO/Driver.cpp +++ b/lld/MachO/Driver.cpp @@ -1033,7 +1033,9 @@ 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); diff --git a/lld/test/MachO/time-trace.s b/lld/test/MachO/time-trace.s --- a/lld/test/MachO/time-trace.s +++ b/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 -# RUN: %lld --time-trace --time-trace-file=%t2.json --time-trace-granularity=0 -o %t2.macho %t.o +## Test specified trace file name, also test that `--time-trace` is not needed if the other two are used. +# RUN: %lld --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"