[lld] 5fe852e - [lld][ELF] Add `-plugin-opt=time-trace=` as an alias of `--time-trace=` (#106803)
via llvm-commits
llvm-commits at lists.llvm.org
Sun Sep 1 17:39:02 PDT 2024
Author: Min-Yih Hsu
Date: 2024-09-01T17:38:59-07:00
New Revision: 5fe852e774b1b3526561e959effea3eec3ac4b36
URL: https://github.com/llvm/llvm-project/commit/5fe852e774b1b3526561e959effea3eec3ac4b36
DIFF: https://github.com/llvm/llvm-project/commit/5fe852e774b1b3526561e959effea3eec3ac4b36.diff
LOG: [lld][ELF] Add `-plugin-opt=time-trace=` as an alias of `--time-trace=` (#106803)
Time trace profiler support was added into LLVMgold in
cd3255abede5e3687c1538f2d3857deb2c51af1b. This patch adds its
`-plugin-opt` counterpart, which is just an alias to `--time-trace=`,
into LLD for compatibility.
Added:
lld/test/ELF/lto/time-trace.ll
Modified:
lld/ELF/Options.td
Removed:
################################################################################
diff --git a/lld/ELF/Options.td b/lld/ELF/Options.td
index 74733efb28ff5e..c80c4017d3512c 100644
--- a/lld/ELF/Options.td
+++ b/lld/ELF/Options.td
@@ -729,6 +729,7 @@ def: J<"plugin-opt=sample-profile=">,
def: F<"plugin-opt=save-temps">, Alias<save_temps>, HelpText<"Alias for --save-temps">;
def plugin_opt_stats_file: J<"plugin-opt=stats-file=">,
HelpText<"Filename to write LTO statistics to">;
+def: J<"plugin-opt=time-trace=">, Alias<time_trace_eq>, HelpText<"Alias for --time-trace=">;
def: F<"plugin-opt=thinlto-emit-imports-files">,
Alias<thinlto_emit_imports_files>,
HelpText<"Alias for --thinlto-emit-imports-files">;
diff --git a/lld/test/ELF/lto/time-trace.ll b/lld/test/ELF/lto/time-trace.ll
new file mode 100644
index 00000000000000..0cd39037f60a24
--- /dev/null
+++ b/lld/test/ELF/lto/time-trace.ll
@@ -0,0 +1,19 @@
+; REQUIRES: x86
+; RUN: llvm-as %s -o %t.o
+; RUN: ld.lld -m elf_x86_64 -shared %t.o -o %t.so --plugin-opt=time-trace=%t.trace.json
+; RUN: FileCheck --input-file=%t.trace.json %s
+;; Print to stdout
+; RUN: ld.lld -m elf_x86_64 -shared %t.o -o %t.so --plugin-opt=time-trace=- | \
+; RUN: FileCheck %s
+
+target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
+target triple = "x86_64-unknown-linux-gnu"
+
+; Make sure the content is correct
+; CHECK: "traceEvents"
+; Make sure LTO events are recorded
+; CHECK-SAME: "name":"LTO"
+
+define void @foo() {
+ ret void
+}
More information about the llvm-commits
mailing list