1# REQUIRES: x86 2 3# RUN: llvm-mc -triple=x86_64-windows-msvc -filetype=obj -o %t.obj %s 4 5# Test implicit trace file name 6# RUN: lld-link %t.obj /entry:main /out:%t1.exe --time-trace --time-trace-granularity=0 7# RUN: cat %t1.exe.time-trace \ 8# RUN: | %python -c 'import json, sys; json.dump(json.loads(sys.stdin.read()), sys.stdout, sort_keys=True, indent=2)' \ 9# RUN: | FileCheck %s 10 11# Test specified trace file name 12# RUN: lld-link %t.obj /entry:main /out:%t2.exe --time-trace=%t2.json --time-trace-granularity=0 13# RUN: cat %t2.json \ 14# RUN: | %python -c 'import json, sys; json.dump(json.loads(sys.stdin.read()), sys.stdout, sort_keys=True, indent=2)' \ 15# RUN: | FileCheck %s 16 17# Test trace requested to stdout 18# RUN: env LLD_IN_TEST=1 lld-link %t.obj /entry:main /out:%t3.exe --time-trace=- --time-trace-granularity=0 \ 19# RUN: | %python -c 'import json, sys; json.dump(json.loads(sys.stdin.read()), sys.stdout, sort_keys=True, indent=2)' \ 20# RUN: | FileCheck %s 21 22# CHECK: "beginningOfTime": {{[0-9]{16},}} 23# CHECK-NEXT: "traceEvents": [ 24 25# Check one event has correct fields 26# CHECK: "dur": 27# CHECK-NEXT: "name": 28# CHECK-NEXT: "ph": 29# CHECK-NEXT: "pid": 30# CHECK-NEXT: "tid": 31# CHECK-NEXT: "ts": 32 33# Check there are events 34# CHECK: "name": "Read input files" 35 36# Check process_name entry field 37# CHECK: "name": "lld-link{{(.exe)?}}" 38# CHECK: "name": "process_name" 39# CHECK: "name": "thread_name" 40 41.text 42.global main 43main: 44 ret 45