ret void
}
-@foo = common global i32 ()* null, align 8
+@foo = common global ptr null, align 8
declare i32 @func1()
declare i32 @func2()
declare i32 @func3()
declare i32 @func6()
define void @freq(i1 %cond) !prof !1 {
- %tmp = load i32 ()*, i32 ()** @foo, align 8
+ %tmp = load ptr, ptr @foo, align 8
call i32 %tmp(), !prof !3
br i1 %cond, label %A, label %B, !prof !2
A:
; CHECK: !llvm.module.flags = !{![[cgprof:[0-9]+]]}
; CHECK: ![[cgprof]] = !{i32 5, !"CG Profile", ![[prof:[0-9]+]]}
; CHECK: ![[prof]] = distinct !{![[e0:[0-9]+]], ![[e1:[0-9]+]], ![[e2:[0-9]+]], ![[e3:[0-9]+]], ![[e4:[0-9]+]], ![[e5:[0-9]+]], ![[e6:[0-9]+]]}
-; CHECK: ![[e0]] = !{void ()* @a, void ()* @b, i64 32}
-; CHECK: ![[e1]] = !{void (i1)* @freq, i32 ()* @func4, i64 1030}
-; CHECK: ![[e2]] = !{void (i1)* @freq, i32 ()* @func2, i64 410}
-; CHECK: ![[e3]] = !{void (i1)* @freq, i32 ()* @func3, i64 150}
-; CHECK: ![[e4]] = !{void (i1)* @freq, i32 ()* @func1, i64 10}
-; CHECK: ![[e5]] = !{void (i1)* @freq, void ()* @a, i64 11}
-; CHECK: ![[e6]] = !{void (i1)* @freq, void ()* @b, i64 21}
-; CHECK-NOT: !{void (i1)* @freq, void ()* @func5, i64 1}
-; CHECK-NOT: !{void (i1)* @freq, void ()* @func6, i64 0}
+; CHECK: ![[e0]] = !{ptr @a, ptr @b, i64 32}
+; CHECK: ![[e1]] = !{ptr @freq, ptr @func4, i64 1030}
+; CHECK: ![[e2]] = !{ptr @freq, ptr @func2, i64 410}
+; CHECK: ![[e3]] = !{ptr @freq, ptr @func3, i64 150}
+; CHECK: ![[e4]] = !{ptr @freq, ptr @func1, i64 10}
+; CHECK: ![[e5]] = !{ptr @freq, ptr @a, i64 11}
+; CHECK: ![[e6]] = !{ptr @freq, ptr @b, i64 21}
+; CHECK-NOT: !{ptr @freq, ptr @func5, i64 1}
+; CHECK-NOT: !{ptr @freq, ptr @func6, i64 0}