52 lines · plain
1; RUN: llc -filetype=asm %s -o - -mtriple x86_64-pc-linux-gnu | FileCheck %s2; RUN: llc -filetype=obj %s -o %t -mtriple x86_64-pc-linux-gnu3; RUN: llvm-readobj --cg-profile %t | FileCheck %s --check-prefix=OBJ4 5declare void @b()6 7define void @a() {8 call void @b()9 ret void10}11 12define void @freq(i1 %cond) {13 br i1 %cond, label %A, label %B14A:15 call void @a();16 ret void17B:18 call void @b();19 ret void20}21 22!llvm.module.flags = !{!0}23 24!0 = !{i32 5, !"CG Profile", !1}25!1 = !{!2, !3, !4, !5}26!2 = !{ptr @a, ptr @b, i64 32}27!3 = !{ptr @freq, ptr @a, i64 11}28!4 = !{ptr @freq, ptr @b, i64 20}29!5 = !{ptr @freq, null, i64 20}30 31; CHECK: .cg_profile a, b, 3232; CHECK: .cg_profile freq, a, 1133; CHECK: .cg_profile freq, b, 2034 35; OBJ: CGProfile [36; OBJ: CGProfileEntry {37; OBJ: From: a38; OBJ: To: b39; OBJ: Weight: 3240; OBJ: }41; OBJ: CGProfileEntry {42; OBJ: From: freq43; OBJ: To: a44; OBJ: Weight: 1145; OBJ: }46; OBJ: CGProfileEntry {47; OBJ: From: freq48; OBJ: To: b49; OBJ: Weight: 2050; OBJ: }51; OBJ:]52