mirror of
https://github.com/RPCS3/llvm.git
synced 2025-01-23 11:04:49 +00:00
[LTO] Change addSaveTemps API: do not add dot to the supplied prefix path
Summary: It does not play well with directories (end up with a bunch of hidden files). Also, do not strip the 0 suffix for the first task, especially since 0 can be used by ThinLTO as well now. Reviewers: tejohnson Subscribers: mehdi_amini, pcc, llvm-commits Differential Revision: https://reviews.llvm.org/D23612 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@279014 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
4ab1e666f8
commit
a53e50c418
@ -40,7 +40,7 @@ Error Config::addSaveTemps(std::string OutputFileName,
|
||||
|
||||
std::error_code EC;
|
||||
ResolutionFile = llvm::make_unique<raw_fd_ostream>(
|
||||
OutputFileName + ".resolution.txt", EC, sys::fs::OpenFlags::F_Text);
|
||||
OutputFileName + "resolution.txt", EC, sys::fs::OpenFlags::F_Text);
|
||||
if (EC)
|
||||
return errorCodeToError(EC);
|
||||
|
||||
@ -58,9 +58,7 @@ Error Config::addSaveTemps(std::string OutputFileName,
|
||||
// user hasn't requested using the input module's path, emit to a file
|
||||
// named from the provided OutputFileName with the Task ID appended.
|
||||
if (M.getModuleIdentifier() == "ld-temp.o" || !UseInputModulePath) {
|
||||
PathPrefix = OutputFileName;
|
||||
if (Task != 0)
|
||||
PathPrefix += "." + utostr(Task);
|
||||
PathPrefix = OutputFileName + utostr(Task);
|
||||
} else
|
||||
PathPrefix = M.getModuleIdentifier();
|
||||
std::string Path = PathPrefix + "." + PathSuffix + ".bc";
|
||||
@ -86,7 +84,7 @@ Error Config::addSaveTemps(std::string OutputFileName,
|
||||
setHook("5.precodegen", PreCodeGenModuleHook);
|
||||
|
||||
CombinedIndexHook = [=](const ModuleSummaryIndex &Index) {
|
||||
std::string Path = OutputFileName + ".index.bc";
|
||||
std::string Path = OutputFileName + "index.bc";
|
||||
std::error_code EC;
|
||||
raw_fd_ostream OS(Path, EC, sys::fs::OpenFlags::F_None);
|
||||
if (EC) {
|
||||
|
@ -1,7 +1,7 @@
|
||||
; RUN: llvm-as %s -o %t1.o
|
||||
; RUN: llvm-as %p/Inputs/alias-1.ll -o %t2.o
|
||||
; RUN: llvm-lto2 -o %t3.o %t2.o %t1.o -r %t2.o,a,px -r %t1.o,a, -r %t1.o,b,px -save-temps
|
||||
; RUN: llvm-dis < %t3.o.0.preopt.bc -o - | FileCheck %s
|
||||
; RUN: llvm-dis < %t3.o.0.0.preopt.bc -o - | FileCheck %s
|
||||
; RUN: FileCheck --check-prefix=RES %s < %t3.o.resolution.txt
|
||||
|
||||
; CHECK-NOT: alias
|
||||
|
@ -20,7 +20,7 @@
|
||||
; RUN: -r=%t2.o,a23,px \
|
||||
; RUN: -r=%t2.o,a24,px \
|
||||
; RUN: -r=%t2.o,a25,px
|
||||
; RUN: llvm-dis %t3.o.2.internalize.bc -o - | FileCheck %s
|
||||
; RUN: llvm-dis %t3.o.0.2.internalize.bc -o - | FileCheck %s
|
||||
|
||||
target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
|
||||
target triple = "x86_64-unknown-linux-gnu"
|
||||
|
@ -1,13 +1,13 @@
|
||||
; RUN: llvm-as -o %t.bc %s
|
||||
; RUN: %gold -plugin %llvmshlibdir/LLVMgold.so -plugin-opt=save-temps \
|
||||
; RUN: -plugin-opt=O0 -r -o %t.o %t.bc
|
||||
; RUN: llvm-dis < %t.o.4.opt.bc -o - | FileCheck --check-prefix=CHECK-O0 %s
|
||||
; RUN: llvm-dis < %t.o.0.4.opt.bc -o - | FileCheck --check-prefix=CHECK-O0 %s
|
||||
; RUN: %gold -plugin %llvmshlibdir/LLVMgold.so -plugin-opt=save-temps \
|
||||
; RUN: -plugin-opt=O1 -r -o %t.o %t.bc
|
||||
; RUN: llvm-dis < %t.o.4.opt.bc -o - | FileCheck --check-prefix=CHECK-O1 %s
|
||||
; RUN: llvm-dis < %t.o.0.4.opt.bc -o - | FileCheck --check-prefix=CHECK-O1 %s
|
||||
; RUN: %gold -plugin %llvmshlibdir/LLVMgold.so -plugin-opt=save-temps \
|
||||
; RUN: -plugin-opt=O2 -r -o %t.o %t.bc
|
||||
; RUN: llvm-dis < %t.o.4.opt.bc -o - | FileCheck --check-prefix=CHECK-O2 %s
|
||||
; RUN: llvm-dis < %t.o.0.4.opt.bc -o - | FileCheck --check-prefix=CHECK-O2 %s
|
||||
|
||||
; CHECK-O0: define internal void @foo(
|
||||
; CHECK-O1: define internal void @foo(
|
||||
|
@ -796,7 +796,8 @@ static std::unique_ptr<LTO> createLTO() {
|
||||
break;
|
||||
|
||||
case options::OT_SAVE_TEMPS:
|
||||
check(Conf.addSaveTemps(output_name, /* UseInputModulePath */ true));
|
||||
check(Conf.addSaveTemps(output_name + ".",
|
||||
/* UseInputModulePath */ true));
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -132,7 +132,8 @@ int main(int argc, char **argv) {
|
||||
};
|
||||
|
||||
if (SaveTemps)
|
||||
check(Conf.addSaveTemps(OutputFilename), "Config::addSaveTemps failed");
|
||||
check(Conf.addSaveTemps(OutputFilename + "."),
|
||||
"Config::addSaveTemps failed");
|
||||
|
||||
LTO Lto(std::move(Conf));
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user