From: Xinliang David Li Date: Thu, 11 Aug 2016 05:09:30 +0000 (+0000) Subject: [Profile] improve warning control option X-Git-Tag: llvmorg-4.0.0-rc1~12781 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=76a0108be44fadc451b71a77b3652e5ba55f7fa4;p=platform%2Fupstream%2Fllvm.git [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 --- 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"