1a2233541SYuanfang Chen; Check that bitcast in "CG Profile" related metadata nodes (in this test case, 2a2233541SYuanfang Chen; generated during function importing in IRMover's RAUW operations) are accepted 3a2233541SYuanfang Chen; by verifier. 459fafdd8SFangrui Song; RUN: opt -passes=cg-profile -module-summary %s -o %t.bc 5a2233541SYuanfang Chen; RUN: opt -module-summary %p/Inputs/cg_profile.ll -o %t2.bc 6a2233541SYuanfang Chen; RUN: llvm-lto -thinlto -o %t3 %t.bc %t2.bc 7a9af1b9aSFangrui Song; RUN: opt -passes=function-import -print-imports -summary-file %t3.thinlto.bc %t.bc \ 8a2233541SYuanfang Chen; RUN: -S 2>&1 | FileCheck %s 9a2233541SYuanfang Chen 10a2233541SYuanfang Chen; CHECK: !0 = !{i32 1, !"EnableSplitLTOUnit", i32 0} 11a2233541SYuanfang Chen; CHECK-NEXT: !1 = !{i32 5, !"CG Profile", !2} 12ff87ee4dSWolfgang Pieb; CHECK-NEXT: !2 = distinct !{!3} 13*3713bc8aSNikita Popov; CHECK-NEXT: !3 = !{ptr @foo, ptr @bar, i64 2753} 14a2233541SYuanfang Chen 15a2233541SYuanfang Chentarget datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128" 16a2233541SYuanfang Chentarget triple = "x86_64-unknown-linux-gnu" 17a2233541SYuanfang Chen 18a2233541SYuanfang Chen; %class.A is defined differently in %p/Inputs/cg_profile.ll. This is to trigger 19a2233541SYuanfang Chen; bitcast. 20a2233541SYuanfang Chen%class.A = type { i8 } 21a2233541SYuanfang Chen 22a2233541SYuanfang Chendefine void @foo() !prof !2 { 23*3713bc8aSNikita Popov call void @bar(ptr null) 24a2233541SYuanfang Chen ret void 25a2233541SYuanfang Chen} 26a2233541SYuanfang Chen 27*3713bc8aSNikita Popovdeclare void @bar(ptr) 28a2233541SYuanfang Chen 29a2233541SYuanfang Chen!llvm.module.flags = !{!1} 30a2233541SYuanfang Chen 31a2233541SYuanfang Chen!1 = !{i32 1, !"EnableSplitLTOUnit", i32 0} 32a2233541SYuanfang Chen!2 = !{!"function_entry_count", i64 2753} 33