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