[llvm] 7e6a158 - [LTO] Add test for dllimport visibility fix

Matthew Voss via llvm-commits llvm-commits at lists.llvm.org
Wed May 3 11:20:37 PDT 2023


Author: Matthew Voss
Date: 2023-05-03T11:19:44-07:00
New Revision: 7e6a15892a16b95ead395956a910d020772fdd16

URL: https://github.com/llvm/llvm-project/commit/7e6a15892a16b95ead395956a910d020772fdd16
DIFF: https://github.com/llvm/llvm-project/commit/7e6a15892a16b95ead395956a910d020772fdd16.diff

LOG: [LTO] Add test for dllimport visibility fix

Internal testing showed that the change made in commit 62fcfc5a needed
more test coverage. Specifically, the imported function shouldn't be
externally visibile and the whole test needed to be run in regular LTO
mode.

Differential Revision: https://reviews.llvm.org/D148950

Added: 
    llvm/test/LTO/Resolution/X86/protected-def-dllimport.ll

Modified: 
    

Removed: 
    


################################################################################
diff  --git a/llvm/test/LTO/Resolution/X86/protected-def-dllimport.ll b/llvm/test/LTO/Resolution/X86/protected-def-dllimport.ll
new file mode 100644
index 0000000000000..af5958a57d019
--- /dev/null
+++ b/llvm/test/LTO/Resolution/X86/protected-def-dllimport.ll
@@ -0,0 +1,31 @@
+; RUN: llvm-as --disable-verify -o %t0.bc %s
+
+; RUN: llvm-lto2 run -r %t0.bc,__imp_f,l \
+; RUN:               -r %t0.bc,g,p \
+; RUN:               -r %t0.bc,main,x \
+; RUN:               -save-temps -o %t1 %t0.bc
+; RUN: llvm-dis %t1.0.0.preopt.bc -o - | FileCheck %s
+source_filename = "test.cpp"
+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"
+
+ at llvm.used = appending global [2 x ptr] [ ptr @main, ptr @f ], section "llvm.metadata"
+
+$g = comdat any
+ at g = global i8 42, comdat, !type !0
+
+; CHECK: declare protected ptr @f()
+define protected dllimport i8* @f() {
+  ret i8* @g
+}
+
+define available_externally i32 @main() {
+  %1 = call i8* @f()
+  %2 = ptrtoint i8* %1 to i32
+  ret i32 %2
+}
+
+!llvm.module.flags = !{!1}
+
+!0 = !{i32 0, !"typeid"}
+!1 = !{i32 1, !"ThinLTO", i32 0}


        


More information about the llvm-commits mailing list