From e4b0231c63d40408d06ff4c3669ded4b4ecaaa85 Mon Sep 17 00:00:00 2001 From: Rafael Espindola Date: Thu, 11 Jan 2018 22:15:05 +0000 Subject: Make internal/private GVs implicitly dso_local. While updating clang tests for having clang set dso_local I noticed that: - There are *a lot* of tests to update. - Many of the updates are redundant. They are redundant because a GV is "obviously dso_local". This patch starts formalizing that a bit by requiring that internal and private GVs be dso_local too. Since they all are, we don't have to print dso_local to the textual representation, making it a bit more compact and easier to read. llvm-svn: 322317 --- llvm/test/Transforms/FunctionImport/funcimport.ll | 8 ++++---- llvm/test/Transforms/ThinLTOBitcodeWriter/comdat.ll | 8 ++++---- llvm/test/Transforms/ThinLTOBitcodeWriter/split-internal1.ll | 4 ++-- llvm/test/Transforms/ThinLTOBitcodeWriter/split-internal2.ll | 4 ++-- llvm/test/Transforms/ThinLTOBitcodeWriter/split-vfunc-internal.ll | 8 ++++---- llvm/test/Transforms/WholeProgramDevirt/export-single-impl.ll | 4 ++-- 6 files changed, 18 insertions(+), 18 deletions(-) (limited to 'llvm/test/Transforms') diff --git a/llvm/test/Transforms/FunctionImport/funcimport.ll b/llvm/test/Transforms/FunctionImport/funcimport.ll index 4ff51a33b5e..472b20cfafd 100644 --- a/llvm/test/Transforms/FunctionImport/funcimport.ll +++ b/llvm/test/Transforms/FunctionImport/funcimport.ll @@ -55,7 +55,7 @@ declare i32 @referencestatics(...) #1 ; Ensure that the call is to the properly-renamed function. ; INSTLIMDEF-DAG: Import staticfunc ; INSTLIMDEF-DAG: %call = call i32 @staticfunc.llvm. -; INSTLIMDEF-DAG: define available_externally hidden i32 @staticfunc.llvm.{{.*}} !thinlto_src_module !0 { +; INSTLIMDEF-DAG: define available_externally dso_local hidden i32 @staticfunc.llvm.{{.*}} !thinlto_src_module !0 { ; INSTLIMDEF-DAG: Import referenceglobals ; CHECK-DAG: define available_externally i32 @referenceglobals(i32 %i) !thinlto_src_module !0 { @@ -80,7 +80,7 @@ declare void @callfuncptr(...) #1 ; Ensure that all uses of local variable @P which has used in setfuncptr ; and callfuncptr are to the same promoted/renamed global. -; CHECK-DAG: @P.llvm.{{.*}} = external hidden global void ()* +; CHECK-DAG: @P.llvm.{{.*}} = external dso_local hidden global void ()* ; CHECK-DAG: %0 = load void ()*, void ()** @P.llvm. ; CHECK-DAG: store void ()* @staticfunc2.llvm.{{.*}}, void ()** @P.llvm. @@ -99,8 +99,8 @@ declare void @weakfunc(...) #1 declare void @linkoncefunc2(...) #1 ; INSTLIMDEF-DAG: Import funcwithpersonality -; INSTLIMDEF-DAG: define available_externally hidden void @funcwithpersonality.llvm.{{.*}}() personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*) !thinlto_src_module !0 { -; INSTLIM5-DAG: declare hidden void @funcwithpersonality.llvm.{{.*}}() +; INSTLIMDEF-DAG: define available_externally dso_local hidden void @funcwithpersonality.llvm.{{.*}}() personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*) !thinlto_src_module !0 { +; INSTLIM5-DAG: declare dso_local hidden void @funcwithpersonality.llvm.{{.*}}() ; CHECK-DAG: declare void @variadic(...) declare void @variadic(...) diff --git a/llvm/test/Transforms/ThinLTOBitcodeWriter/comdat.ll b/llvm/test/Transforms/ThinLTOBitcodeWriter/comdat.ll index caea48e0a54..2db18a1bf04 100644 --- a/llvm/test/Transforms/ThinLTOBitcodeWriter/comdat.ll +++ b/llvm/test/Transforms/ThinLTOBitcodeWriter/comdat.ll @@ -25,9 +25,9 @@ $nt = comdat any ; MERGED-SAME: comdat(${{"?lwt[^ ]+}}) @lwt_aliasee = private unnamed_addr global [1 x i8*] [i8* null], comdat($lwt), !type !0 -; MERGED: {{@"?lwt_nl[^ ]+}} = hidden unnamed_addr global +; MERGED: {{@"?lwt_nl[^ ]+}} = dso_local hidden unnamed_addr global ; MERGED-SAME: comdat(${{"?lwt[^ ]+}}) -; THIN: {{@"?lwt_nl[^ ]+}} = external hidden +; THIN: {{@"?lwt_nl[^ ]+}} = external dso_local hidden @lwt_nl = internal unnamed_addr global i32 0, comdat($lwt) ; MERGED: @nlwt_aliasee = private unnamed_addr global @@ -47,11 +47,11 @@ $nt = comdat any ; THIN-SAME: comdat($nt) @nt_nl = internal unnamed_addr global i32 0, comdat($nt) -; MERGED: {{@"?lwt[^ ]+}} = hidden unnamed_addr alias +; MERGED: {{@"?lwt[^ ]+}} = dso_local hidden unnamed_addr alias ; THIN: {{@"?lwt[^ ]+}} = external hidden @lwt = internal unnamed_addr alias [1 x i8*], [1 x i8*]* @lwt_aliasee -; MERGED: {{@"?nlwt_nl[^ ]+}} = hidden unnamed_addr alias +; MERGED: {{@"?nlwt_nl[^ ]+}} = dso_local hidden unnamed_addr alias ; THIN: {{@"?nlwt_nl[^ ]+}} = external hidden @nlwt_nl = internal unnamed_addr alias [1 x i8*], [1 x i8*]* @nlwt_aliasee diff --git a/llvm/test/Transforms/ThinLTOBitcodeWriter/split-internal1.ll b/llvm/test/Transforms/ThinLTOBitcodeWriter/split-internal1.ll index 6d18c4f6f65..a36221c5f90 100644 --- a/llvm/test/Transforms/ThinLTOBitcodeWriter/split-internal1.ll +++ b/llvm/test/Transforms/ThinLTOBitcodeWriter/split-internal1.ll @@ -12,8 +12,8 @@ ; BCA0: