Files
clang-p2996/llvm/test/Transforms/PGOProfile/memprofmissingfunc.ll
Teresa Johnson b1926f308f Restore "[MemProf] Memprof profile matching and annotation"
This reverts commit 794b7ea960, and
thus restores commit a212d8da94, and
follow on fixes 0cd6763fa9,
e9ff53d42f, and
37c6a25e9a.

Use a hash function (BLAKE3) instead of hash_combine/hash_code which are
not guaranteed to be stable across executions.

Additionally, it adds a "REQUIRES: x86_64-linux" to the tests that have
raw profile inputs to avoid failures on big endian bots.

Reviewers: snehasish, davidxl

Subscribers: llvm-commits

Differential Revision: https://reviews.llvm.org/D128142
2022-09-23 11:38:47 -07:00

29 lines
1.1 KiB
LLVM

;; Tests that we get a missing memprof error for a function not in profile when
;; using -pgo-warn-missing-function.
;; Avoid failures on big-endian systems that can't read the raw profile properly
; REQUIRES: x86_64-linux
;; TODO: Use text profile inputs once that is available for memprof.
;; The raw profiles have been generated from the source used for the memprof.ll
;; test (see comments at the top of that file).
; RUN: llvm-profdata merge %S/Inputs/memprof.memprofraw --profiled-binary %S/Inputs/memprof.exe -o %t.memprofdata
; RUN: opt < %s -passes=pgo-instr-use -pgo-test-profile-file=%t.memprofdata -pgo-warn-missing-function -S 2>&1 | FileCheck %s
; CHECK: memprof record not found for function hash {{.*}} _Z16funcnotinprofilev
; ModuleID = 'memprofmissingfunc.cc'
source_filename = "memprofmissingfunc.cc"
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"
; Function Attrs: mustprogress noinline nounwind optnone uwtable
define dso_local void @_Z16funcnotinprofilev() {
entry:
ret void
}