[PATCH] D96173: [ThinLTO][gold] Fix filenaming scheme for tasks.
Hongtao Yu via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Feb 12 09:21:56 PST 2021
hoy updated this revision to Diff 323355.
hoy added a comment.
Addressing tejohnson's comment.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D96173/new/
https://reviews.llvm.org/D96173
Files:
llvm/test/tools/gold/X86/Inputs/emit-llvm.bar.ll
llvm/test/tools/gold/X86/Inputs/emit-llvm.foo.ll
llvm/test/tools/gold/X86/thinlto-emit-llvm.ll
llvm/tools/gold/gold-plugin.cpp
Index: llvm/tools/gold/gold-plugin.cpp
===================================================================
--- llvm/tools/gold/gold-plugin.cpp
+++ llvm/tools/gold/gold-plugin.cpp
@@ -915,7 +915,10 @@
case options::OT_BC_ONLY:
Conf.PostInternalizeModuleHook = [](size_t Task, const Module &M) {
std::error_code EC;
- raw_fd_ostream OS(output_name, EC, sys::fs::OpenFlags::OF_None);
+ SmallString<128> TaskFilename;
+ getOutputFileName(output_name, /* TempOutFile */ false, TaskFilename,
+ Task);
+ raw_fd_ostream OS(TaskFilename, EC, sys::fs::OpenFlags::OF_None);
if (EC)
message(LDPL_FATAL, "Failed to write the output file.");
WriteBitcodeToFile(M, OS, /* ShouldPreserveUseListOrder */ false);
Index: llvm/test/tools/gold/X86/thinlto-emit-llvm.ll
===================================================================
--- /dev/null
+++ llvm/test/tools/gold/X86/thinlto-emit-llvm.ll
@@ -0,0 +1,17 @@
+; RUN: llvm-as %p/Inputs/emit-llvm.foo.ll -o %t.foo.bc
+; RUN: llvm-as %p/Inputs/emit-llvm.bar.ll -o %t.bar.bc
+; RUN: %gold -plugin %llvmshlibdir/LLVMgold%shlibext --shared -plugin-opt thinlto -plugin-opt emit-llvm -m elf_x86_64 %t.foo.bc %t.bar.bc -o %t.bc
+; RUN: llvm-dis %t.bc1 -o - | FileCheck --check-prefix=CHECK-BC1 %s
+; RUN: llvm-dis %t.bc2 -o - | FileCheck --check-prefix=CHECK-BC2 %s
+
+target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
+target triple = "x86_64-unknown-linux-gnu"
+
+; CHECK-BC1: define dso_local i32 @_Z3foov()
+define dso_local i32 @_Z3foov() {
+ ret i32 0
+}
+; CHECK-BC2: define dso_local i32 @_Z3barv()
+define dso_local i32 @_Z3barv() {
+ ret i32 0
+}
Index: llvm/test/tools/gold/X86/Inputs/emit-llvm.foo.ll
===================================================================
--- /dev/null
+++ llvm/test/tools/gold/X86/Inputs/emit-llvm.foo.ll
@@ -0,0 +1,9 @@
+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"
+
+define dso_local i32 @_Z3foov() #0 {
+ ret i32 0
+}
+
+^0 = module: (path: "foo.o", hash: (3786635673, 3275786284, 1544384821, 2103351884, 2354656665))
+^1 = gv: (name: "_Z3foov", summaries: (function: (module: ^0, flags: (linkage: external, notEligibleToImport: 0, live: 0, dsoLocal: 1, canAutoHide: 0), insts: 1, funcFlags: (readNone: 0, readOnly: 0, noRecurse: 0, returnDoesNotAlias: 0, noInline: 1, alwaysInline: 0)))) ; guid = 9191153033785521275
Index: llvm/test/tools/gold/X86/Inputs/emit-llvm.bar.ll
===================================================================
--- /dev/null
+++ llvm/test/tools/gold/X86/Inputs/emit-llvm.bar.ll
@@ -0,0 +1,9 @@
+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"
+
+define dso_local i32 @_Z3barv() #0 {
+ ret i32 0
+}
+
+^0 = module: (path: "bar.o", hash: (3853957065, 2310817429, 3119833948, 1366622700, 2470927843))
+^1 = gv: (name: "_Z3barv", summaries: (function: (module: ^0, flags: (linkage: external, notEligibleToImport: 0, live: 0, dsoLocal: 1, canAutoHide: 0), insts: 1, funcFlags: (readNone: 0, readOnly: 0, noRecurse: 0, returnDoesNotAlias: 0, noInline: 1, alwaysInline: 0)))) ; guid = 17377440600225628772
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D96173.323355.patch
Type: text/x-patch
Size: 3286 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210212/4d842032/attachment.bin>
More information about the llvm-commits
mailing list