diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2018-01-11 22:15:05 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2018-01-11 22:15:05 +0000 |
commit | e4b0231c63d40408d06ff4c3669ded4b4ecaaa85 (patch) | |
tree | 9e89f032c39da53ab74bd3d38a87264e2b5ceaa4 /llvm/test/Transforms | |
parent | e97654b2f28072ad9123006c05e03efd82852982 (diff) | |
download | bcm5719-llvm-e4b0231c63d40408d06ff4c3669ded4b4ecaaa85.tar.gz bcm5719-llvm-e4b0231c63d40408d06ff4c3669ded4b4ecaaa85.zip |
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
Diffstat (limited to 'llvm/test/Transforms')
6 files changed, 18 insertions, 18 deletions
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: <GLOBALVAL_SUMMARY_BLOCK ; BCA1-NOT: <GLOBALVAL_SUMMARY_BLOCK -; M0: @"g$581d7631532fa146ba4061179da39272" = external hidden global i8{{$}} -; M1: @"g$581d7631532fa146ba4061179da39272" = hidden global i8 42, !type !0 +; M0: @"g$581d7631532fa146ba4061179da39272" = external dso_local hidden global i8{{$}} +; M1: @"g$581d7631532fa146ba4061179da39272" = dso_local hidden global i8 42, !type !0 @g = internal global i8 42, !type !0 ; M0: define i8* @f() diff --git a/llvm/test/Transforms/ThinLTOBitcodeWriter/split-internal2.ll b/llvm/test/Transforms/ThinLTOBitcodeWriter/split-internal2.ll index fbe618f08e3..5cfa14fddb8 100644 --- a/llvm/test/Transforms/ThinLTOBitcodeWriter/split-internal2.ll +++ b/llvm/test/Transforms/ThinLTOBitcodeWriter/split-internal2.ll @@ -16,8 +16,8 @@ ; M1: @g = global void ()* @"f$13757e0fb71915e385efa4dc9d1e08fd", !type !0 @g = global void ()* @f, !type !0 -; M0: define hidden void @"f$13757e0fb71915e385efa4dc9d1e08fd"() -; M1: declare hidden void @"f$13757e0fb71915e385efa4dc9d1e08fd"() +; M0: define dso_local hidden void @"f$13757e0fb71915e385efa4dc9d1e08fd"() +; M1: declare dso_local hidden void @"f$13757e0fb71915e385efa4dc9d1e08fd"() define internal void @f() { call void @f2() ret void diff --git a/llvm/test/Transforms/ThinLTOBitcodeWriter/split-vfunc-internal.ll b/llvm/test/Transforms/ThinLTOBitcodeWriter/split-vfunc-internal.ll index 087796b5031..3bf7b5f53b3 100644 --- a/llvm/test/Transforms/ThinLTOBitcodeWriter/split-vfunc-internal.ll +++ b/llvm/test/Transforms/ThinLTOBitcodeWriter/split-vfunc-internal.ll @@ -6,14 +6,14 @@ define [1 x i8*]* @source() { ret [1 x i8*]* @g } -; M0: @"g$84f59439b469192440047efc8de357fb" = external hidden constant [1 x i8*]{{$}} -; M1: @"g$84f59439b469192440047efc8de357fb" = hidden constant [1 x i8*] [i8* bitcast (i64 (i8*)* @"ok$84f59439b469192440047efc8de357fb" to i8*)] +; M0: @"g$84f59439b469192440047efc8de357fb" = external dso_local hidden constant [1 x i8*]{{$}} +; M1: @"g$84f59439b469192440047efc8de357fb" = dso_local hidden constant [1 x i8*] [i8* bitcast (i64 (i8*)* @"ok$84f59439b469192440047efc8de357fb" to i8*)] @g = internal constant [1 x i8*] [ i8* bitcast (i64 (i8*)* @ok to i8*) ], !type !0 -; M0: define hidden i64 @"ok$84f59439b469192440047efc8de357fb" -; M1: define available_externally hidden i64 @"ok$84f59439b469192440047efc8de357fb" +; M0: define dso_local hidden i64 @"ok$84f59439b469192440047efc8de357fb" +; M1: define available_externally dso_local hidden i64 @"ok$84f59439b469192440047efc8de357fb" define internal i64 @ok(i8* %this) { ret i64 42 } diff --git a/llvm/test/Transforms/WholeProgramDevirt/export-single-impl.ll b/llvm/test/Transforms/WholeProgramDevirt/export-single-impl.ll index 9b7cf8432f7..07509b3b22f 100644 --- a/llvm/test/Transforms/WholeProgramDevirt/export-single-impl.ll +++ b/llvm/test/Transforms/WholeProgramDevirt/export-single-impl.ll @@ -81,12 +81,12 @@ define void @vf2(i8*) { ret void } -; CHECK: define hidden void @"vf3$merged"(i8*) { +; CHECK: define dso_local hidden void @"vf3$merged"(i8*) { define internal void @vf3(i8*) { ret void } -; CHECK: define hidden void @"vf4$merged"(i8*) comdat { +; CHECK: define dso_local hidden void @"vf4$merged"(i8*) comdat { define internal void @vf4(i8*) comdat { ret void } |