xref: /llvm-project/llvm/test/ThinLTO/X86/hidden-escaped-symbols-alt.ll (revision 232e0a011e8c07053bdc0156f312046eb09f52b3)
1; Check interaction between LTO and LLVM mangling escape char, see #57864.
2
3; RUN: split-file %s %t
4; RUN: opt -module-summary %t/hide-me.ll -o %t/hide-me.bc
5; RUN: opt -module-summary %t/ref.ll -o %t/ref.bc
6; RUN: llvm-lto2 run \
7; RUN:               -r %t/hide-me.bc,_hide_me,p \
8; RUN:               -r %t/ref.bc,_main,plx  \
9; RUN:               -r %t/ref.bc,_hide_me,l \
10; RUN:               --select-save-temps=precodegen \
11; RUN:               -o %t/out \
12; RUN:               %t/hide-me.bc  %t/ref.bc
13; RUN: llvm-dis %t/out.1.5.precodegen.bc -o - | FileCheck --check-prefix=CHECK-HIDE %s
14; RUN: llvm-dis %t/out.2.5.precodegen.bc -o - | FileCheck --check-prefix=CHECK-REF %s
15
16
17;--- hide-me.ll
18target datalayout = "e-m:o-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
19target triple = "x86_64-apple-macosx10.7.0"
20
21@"\01_hide_me" = hidden local_unnamed_addr global i8 8, align 1
22
23;--- ref.ll
24target datalayout = "e-m:o-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
25target triple = "x86_64-apple-macosx10.7.0"
26
27@hide_me = external local_unnamed_addr global i8
28
29define i8 @main() {
30  %1 = load i8, ptr @hide_me, align 1
31  ret i8 %1
32}
33
34
35; CHECK-HIDE: @"\01_hide_me" = hidden local_unnamed_addr global i8 8, align 1
36
37; CHECK-REF: @hide_me = external local_unnamed_addr global i8
38; CHECK-REF: define dso_local i8 @main() local_unnamed_addr #0 {
39; CHECK-REF:   %1 = load i8, ptr @hide_me, align 1
40; CHECK-REF:   ret i8 %1
41; CHECK-REF: }
42
43