LTO: Merge -lto-no-discard-value-names with -save-temps.
This patch is to remove -lto-no-discard-value-names flag and instead to use -save-temps as we discussed in the post-commit review thread for r267020. Differential Revision: http://reviews.llvm.org/D19437 llvm-svn: 267230
This commit is contained in:
parent
3cb773431d
commit
1e9e615f92
|
@ -59,7 +59,6 @@ struct Configuration {
|
||||||
bool Demangle = true;
|
bool Demangle = true;
|
||||||
bool DisableVerify;
|
bool DisableVerify;
|
||||||
bool DiscardAll;
|
bool DiscardAll;
|
||||||
bool DiscardValueNames;
|
|
||||||
bool DiscardLocals;
|
bool DiscardLocals;
|
||||||
bool DiscardNone;
|
bool DiscardNone;
|
||||||
bool EhFrameHdr;
|
bool EhFrameHdr;
|
||||||
|
|
|
@ -284,7 +284,6 @@ void LinkerDriver::readConfigs(opt::InputArgList &Args) {
|
||||||
Config->Demangle = !Args.hasArg(OPT_no_demangle);
|
Config->Demangle = !Args.hasArg(OPT_no_demangle);
|
||||||
Config->DisableVerify = Args.hasArg(OPT_disable_verify);
|
Config->DisableVerify = Args.hasArg(OPT_disable_verify);
|
||||||
Config->DiscardAll = Args.hasArg(OPT_discard_all);
|
Config->DiscardAll = Args.hasArg(OPT_discard_all);
|
||||||
Config->DiscardValueNames = !Args.hasArg(OPT_lto_no_discard_value_names);
|
|
||||||
Config->DiscardLocals = Args.hasArg(OPT_discard_locals);
|
Config->DiscardLocals = Args.hasArg(OPT_discard_locals);
|
||||||
Config->DiscardNone = Args.hasArg(OPT_discard_none);
|
Config->DiscardNone = Args.hasArg(OPT_discard_none);
|
||||||
Config->EhFrameHdr = Args.hasArg(OPT_eh_frame_hdr);
|
Config->EhFrameHdr = Args.hasArg(OPT_eh_frame_hdr);
|
||||||
|
|
|
@ -87,7 +87,11 @@ static bool shouldInternalize(const SmallPtrSet<GlobalValue *, 8> &Used,
|
||||||
|
|
||||||
BitcodeCompiler::BitcodeCompiler()
|
BitcodeCompiler::BitcodeCompiler()
|
||||||
: Combined(new llvm::Module("ld-temp.o", Context)), Mover(*Combined) {
|
: Combined(new llvm::Module("ld-temp.o", Context)), Mover(*Combined) {
|
||||||
Context.setDiscardValueNames(Config->DiscardValueNames);
|
// This is a flag to discard all but GlobalValue names.
|
||||||
|
// We want to enable it by default because it saves memory.
|
||||||
|
// Disable it only when a developer option (-save-temps) is given.
|
||||||
|
Context.setDiscardValueNames(!Config->SaveTemps);
|
||||||
|
|
||||||
Context.enableDebugTypeODRUniquing();
|
Context.enableDebugTypeODRUniquing();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -245,7 +245,6 @@ def G : Separate<["-"], "G">;
|
||||||
def alias_version_script_version_script : Joined<["--"], "version-script=">, Alias<version_script>;
|
def alias_version_script_version_script : Joined<["--"], "version-script=">, Alias<version_script>;
|
||||||
|
|
||||||
// LTO-related options.
|
// LTO-related options.
|
||||||
def lto_no_discard_value_names : Flag<["-"], "lto-no-discard-value-names">;
|
|
||||||
def lto_jobs : Joined<["--"], "lto-jobs=">,
|
def lto_jobs : Joined<["--"], "lto-jobs=">,
|
||||||
HelpText<"Number of threads to run codegen">;
|
HelpText<"Number of threads to run codegen">;
|
||||||
def disable_verify : Flag<["-"], "disable-verify">;
|
def disable_verify : Flag<["-"], "disable-verify">;
|
||||||
|
|
|
@ -1,10 +1,7 @@
|
||||||
; RUN: llvm-as %s -o %t.o
|
; RUN: llvm-as %s -o %t.o
|
||||||
|
|
||||||
; RUN: ld.lld -m elf_x86_64 -lto-no-discard-value-names -shared -save-temps %t.o -o %t2.o
|
|
||||||
; RUN: llvm-dis < %t2.o.lto.bc | FileCheck %s
|
|
||||||
|
|
||||||
; RUN: ld.lld -m elf_x86_64 -shared -save-temps %t.o -o %t2.o
|
; RUN: ld.lld -m elf_x86_64 -shared -save-temps %t.o -o %t2.o
|
||||||
; RUN: llvm-dis < %t2.o.lto.bc | FileCheck --check-prefix=NONAME %s
|
; RUN: llvm-dis < %t2.o.lto.bc | FileCheck %s
|
||||||
|
|
||||||
; CHECK: @GlobalValueName
|
; CHECK: @GlobalValueName
|
||||||
; CHECK: @foo(i32 %in)
|
; CHECK: @foo(i32 %in)
|
||||||
|
@ -13,13 +10,6 @@
|
||||||
; CHECK: %add = add i32 %in, %GV
|
; CHECK: %add = add i32 %in, %GV
|
||||||
; CHECK: ret i32 %add
|
; CHECK: ret i32 %add
|
||||||
|
|
||||||
; NONAME: @GlobalValueName
|
|
||||||
; NONAME: @foo(i32)
|
|
||||||
; NONAME-NOT: somelabel:
|
|
||||||
; NONAME: %2 = load i32, i32* @GlobalValueName
|
|
||||||
; NONAME: %3 = add i32 %0, %2
|
|
||||||
; NONAME: ret i32 %3
|
|
||||||
|
|
||||||
target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
|
target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
|
||||||
target triple = "x86_64-unknown-linux-gnu"
|
target triple = "x86_64-unknown-linux-gnu"
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
; RUN: llvm-as %s -o %t.o
|
; RUN: llvm-as %s -o %t.o
|
||||||
; RUN: llvm-as %p/Inputs/type-merge2.ll -o %t2.o
|
; RUN: llvm-as %p/Inputs/type-merge2.ll -o %t2.o
|
||||||
; RUN: ld.lld -m elf_x86_64 %t.o %t2.o -o %t.so -shared -save-temps -lto-no-discard-value-names
|
; RUN: ld.lld -m elf_x86_64 %t.o %t2.o -o %t.so -shared -save-temps
|
||||||
; RUN: llvm-dis %t.so.lto.bc -o - | FileCheck %s
|
; RUN: llvm-dis %t.so.lto.bc -o - | FileCheck %s
|
||||||
|
|
||||||
target triple = "x86_64-unknown-linux-gnu"
|
target triple = "x86_64-unknown-linux-gnu"
|
||||||
|
|
Loading…
Reference in New Issue