This reverts commit794b7ea960, and thus restores commita212d8da94, and follow on fixes0cd6763fa9,e9ff53d42f, and37c6a25e9a. 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
29 lines
1.1 KiB
LLVM
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
|
|
}
|
|
|