[PATCH] D148950: [LTO] Add test coverage for previous dllimport fix

Matthew Voss via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Apr 21 12:16:49 PDT 2023


ormris created this revision.
ormris added reviewers: ychen, tejohnson, MaskRay.
Herald added subscribers: steven_wu, hiraditya, inglorion.
Herald added a project: All.
ormris requested review of this revision.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.

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


https://reviews.llvm.org/D148950

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


Index: llvm/test/LTO/Resolution/X86/protected-def-dllimport.ll
===================================================================
--- /dev/null
+++ 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}


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D148950.515857.patch
Type: text/x-patch
Size: 1112 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20230421/aa286806/attachment.bin>


More information about the llvm-commits mailing list