brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.4 KiB · 3ea196a Raw
40 lines · plain
1; RUN: opt < %s -passes=pgo-icall-prom -pass-remarks-missed=pgo-icall-prom -S 2>& 1 | FileCheck %s2 3; CHECK: remark: <unknown>:0:0: Cannot promote indirect call to func4 (count=1234): The number of arguments mismatch4; CHECK: remark: <unknown>:0:0: Cannot promote indirect call: target with md5sum {{.*}} not found (count=2345)5; CHECK: remark: <unknown>:0:0: Cannot promote indirect call to func2 (count=7890): Return type mismatch6 7target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"8target triple = "x86_64-unknown-linux-gnu"9 10@foo = common global ptr null, align 811@foo2 = common global ptr null, align 812@foo3 = common global ptr null, align 813 14define i32 @func4(i32 %i) {15entry:16  ret i32 %i17}18 19define void @func2() {20entry:21  ret void22}23 24define i32 @bar() {25entry:26  %tmp = load ptr, ptr @foo, align 827  %call = call i32 %tmp(), !prof !128  %tmp2 = load ptr, ptr @foo2, align 829  %call1 = call i32 %tmp2(), !prof !230  %add = add nsw i32 %call1, %call31  %tmp3 = load ptr, ptr @foo3, align 832  %call2 = call i32 %tmp3(), !prof !333  %add2 = add nsw i32 %add, %call234  ret i32 %add235}36 37!1 = !{!"VP", i32 0, i64 1801, i64 7651369219802541373, i64 1234, i64 -4377547752858689819, i64 567}38!2 = !{!"VP", i32 0, i64 3023, i64 -6929281286627296573, i64 2345, i64 -4377547752858689819, i64 678}39!3 = !{!"VP", i32 0, i64 7890,  i64 -4377547752858689819, i64 7890}40