From 76a0108be44fadc451b71a77b3652e5ba55f7fa4 Mon Sep 17 00:00:00 2001 From: Xinliang David Li Date: Thu, 11 Aug 2016 05:09:30 +0000 Subject: [PATCH] [Profile] improve warning control option Change --no-pgo-warn-missing to -pgo-warn-missing-function and negate the default. /NFC Add more test to make sure the warning is off by default llvm-svn: 278314 --- llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp | 7 ++++--- llvm/test/Transforms/PGOProfile/diag_no_funcprofdata.ll | 8 ++++++-- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp b/llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp index 83309f3..9262408 100644 --- a/llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp +++ b/llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp @@ -124,8 +124,9 @@ static cl::opt DoComdatRenaming( // Command line option to enable/disable the warning about missing profile // information. -static cl::opt NoPGOWarnMissing("no-pgo-warn-missing", cl::init(true), - cl::Hidden); +static cl::opt PGOWarnMissing("pgo-warn-missing-function", + cl::init(false), + cl::Hidden); // Command line option to enable/disable the warning about a hash mismatch in // the profile data. @@ -707,7 +708,7 @@ bool PGOUseFunc::readCounters(IndexedInstrProfReader *PGOReader) { bool SkipWarning = false; if (Err == instrprof_error::unknown_function) { NumOfPGOMissing++; - SkipWarning = NoPGOWarnMissing; + SkipWarning = !PGOWarnMissing; } else if (Err == instrprof_error::hash_mismatch || Err == instrprof_error::malformed) { NumOfPGOMismatch++; diff --git a/llvm/test/Transforms/PGOProfile/diag_no_funcprofdata.ll b/llvm/test/Transforms/PGOProfile/diag_no_funcprofdata.ll index 42f4308..61c1f7a 100644 --- a/llvm/test/Transforms/PGOProfile/diag_no_funcprofdata.ll +++ b/llvm/test/Transforms/PGOProfile/diag_no_funcprofdata.ll @@ -1,8 +1,12 @@ ; RUN: llvm-profdata merge %S/Inputs/diag.proftext -o %t.profdata -; RUN: opt < %s -pgo-instr-use -no-pgo-warn-missing=false -pgo-test-profile-file=%t.profdata -S 2>&1 | FileCheck %s -; RUN: opt < %s -passes=pgo-instr-use -no-pgo-warn-missing=false -pgo-test-profile-file=%t.profdata -S 2>&1 | FileCheck %s +; RUN: opt < %s -pgo-instr-use -pgo-warn-missing-function=true -pgo-test-profile-file=%t.profdata -S 2>&1 | FileCheck %s +; RUN: opt < %s -passes=pgo-instr-use -pgo-warn-missing-function=true -pgo-test-profile-file=%t.profdata -S 2>&1 | FileCheck %s + +; RUN: opt < %s -pgo-instr-use -pgo-test-profile-file=%t.profdata -S 2>&1 | FileCheck %s --check-prefix=DEFAULT +; RUN: opt < %s -passes=pgo-instr-use -pgo-test-profile-file=%t.profdata -S 2>&1 | FileCheck %s --check-prefix=DEFAULT ; CHECK: No profile data available for function bar +; DEFAULT-NOT: No profile data available for function bar target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" target triple = "x86_64-unknown-linux-gnu" -- 2.7.4