Bump version to 19.1.0-rc3
[llvm-project.git] / llvm / test / Transforms / PGOProfile / memop_size_opt_zero.ll
blob4c7fefd3802bd079ddcfe580a50b3e874f45f7fb
1 ; Test to ensure the pgo memop optimization pass doesn't try to scale
2 ; up a value profile with a 0 count, which would lead to divide by 0.
3 ; RUN: opt < %s -passes=pgo-memop-opt -verify-dom-info -pgo-memop-count-threshold=1 -S | FileCheck %s --check-prefix=MEMOP_OPT
5 target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
6 target triple = "x86_64-unknown-linux-gnu"
8 define void @foo(ptr %dst, ptr %src, i64 %conv) !prof !0 {
9   call void @llvm.memcpy.p0.p0.i64(ptr %dst, ptr %src, i64 %conv, i1 false), !prof !1
10   ret void
13 ; MEMOP_OPT: call void @llvm.memcpy.p0.p0.i64(ptr %dst, ptr %src, i64 %conv, i1 false), !prof !1
15 !0 = !{!"function_entry_count", i64 1}
16 !1 = !{!"VP", i32 1, i64 0, i64 1, i64 0, i64 2, i64 0, i64 3, i64 0, i64 9, i64 0, i64 4, i64 0, i64 5, i64 0, i64 6, i64 0, i64 7, i64 0, i64 8, i64 0}
18 declare void @llvm.memcpy.p0.p0.i64(ptr nocapture writeonly, ptr nocapture readonly, i64, i1)