summaryrefslogtreecommitdiffstats
path: root/clang/lib
diff options
context:
space:
mode:
authorChandler Carruth <chandlerc@gmail.com>2016-05-14 05:39:45 +0000
committerChandler Carruth <chandlerc@gmail.com>2016-05-14 05:39:45 +0000
commit1b766d09d19ad87fa24cabd6d738d20903ed697d (patch)
tree223ad456ac9d53db1a5213d28f5b41d3c6350eeb /clang/lib
parent66862c2797ab9067cfa362968a1bf22c9c67475a (diff)
downloadbcm5719-llvm-1b766d09d19ad87fa24cabd6d738d20903ed697d.tar.gz
bcm5719-llvm-1b766d09d19ad87fa24cabd6d738d20903ed697d.zip
Revert "Reapply "[ProfileData] (clang) Use Error in InstrProf and Coverage, NFC""
This reverts commit r269492 as the corresponding LLVM commit was reverted due to lots of warnings. See the review thread for the original LLVM commit (r269491) for details. llvm-svn: 269549
Diffstat (limited to 'clang/lib')
-rw-r--r--clang/lib/CodeGen/CodeGenModule.cpp8
-rw-r--r--clang/lib/CodeGen/CodeGenPGO.cpp13
-rw-r--r--clang/lib/Frontend/CompilerInvocation.cpp3
3 files changed, 10 insertions, 14 deletions
diff --git a/clang/lib/CodeGen/CodeGenModule.cpp b/clang/lib/CodeGen/CodeGenModule.cpp
index 57a6429c4be..79da25c13fa 100644
--- a/clang/lib/CodeGen/CodeGenModule.cpp
+++ b/clang/lib/CodeGen/CodeGenModule.cpp
@@ -141,13 +141,11 @@ CodeGenModule::CodeGenModule(ASTContext &C, const HeaderSearchOptions &HSO,
if (CodeGenOpts.hasProfileClangUse()) {
auto ReaderOrErr = llvm::IndexedInstrProfReader::create(
CodeGenOpts.ProfileInstrumentUsePath);
- if (auto E = ReaderOrErr.takeError()) {
+ if (std::error_code EC = ReaderOrErr.getError()) {
unsigned DiagID = Diags.getCustomDiagID(DiagnosticsEngine::Error,
"Could not read profile %0: %1");
- llvm::handleAllErrors(std::move(E), [&](const llvm::ErrorInfoBase &EI) {
- getDiags().Report(DiagID) << CodeGenOpts.ProfileInstrumentUsePath
- << EI.message();
- });
+ getDiags().Report(DiagID) << CodeGenOpts.ProfileInstrumentUsePath
+ << EC.message();
} else
PGOReader = std::move(ReaderOrErr.get());
}
diff --git a/clang/lib/CodeGen/CodeGenPGO.cpp b/clang/lib/CodeGen/CodeGenPGO.cpp
index c19321b5129..43bc37c49f7 100644
--- a/clang/lib/CodeGen/CodeGenPGO.cpp
+++ b/clang/lib/CodeGen/CodeGenPGO.cpp
@@ -800,21 +800,20 @@ void CodeGenPGO::loadRegionCounts(llvm::IndexedInstrProfReader *PGOReader,
bool IsInMainFile) {
CGM.getPGOStats().addVisited(IsInMainFile);
RegionCounts.clear();
- llvm::Expected<llvm::InstrProfRecord> RecordExpected =
+ llvm::ErrorOr<llvm::InstrProfRecord> RecordErrorOr =
PGOReader->getInstrProfRecord(FuncName, FunctionHash);
- if (auto E = RecordExpected.takeError()) {
- auto IPE = llvm::InstrProfError::take(std::move(E));
- if (IPE == llvm::instrprof_error::unknown_function)
+ if (std::error_code EC = RecordErrorOr.getError()) {
+ if (EC == llvm::instrprof_error::unknown_function)
CGM.getPGOStats().addMissing(IsInMainFile);
- else if (IPE == llvm::instrprof_error::hash_mismatch)
+ else if (EC == llvm::instrprof_error::hash_mismatch)
CGM.getPGOStats().addMismatched(IsInMainFile);
- else if (IPE == llvm::instrprof_error::malformed)
+ else if (EC == llvm::instrprof_error::malformed)
// TODO: Consider a more specific warning for this case.
CGM.getPGOStats().addMismatched(IsInMainFile);
return;
}
ProfRecord =
- llvm::make_unique<llvm::InstrProfRecord>(std::move(RecordExpected.get()));
+ llvm::make_unique<llvm::InstrProfRecord>(std::move(RecordErrorOr.get()));
RegionCounts = ProfRecord->Counts;
}
diff --git a/clang/lib/Frontend/CompilerInvocation.cpp b/clang/lib/Frontend/CompilerInvocation.cpp
index 20b66906d56..8e93ff1a4b4 100644
--- a/clang/lib/Frontend/CompilerInvocation.cpp
+++ b/clang/lib/Frontend/CompilerInvocation.cpp
@@ -403,8 +403,7 @@ static void setPGOUseInstrumentor(CodeGenOptions &Opts,
const std::string ProfileName) {
auto ReaderOrErr = llvm::IndexedInstrProfReader::create(ProfileName);
// In error, return silently and let Clang PGOUse report the error message.
- if (auto E = ReaderOrErr.takeError()) {
- llvm::consumeError(std::move(E));
+ if (ReaderOrErr.getError()) {
Opts.setProfileUse(CodeGenOptions::ProfileClangInstr);
return;
}
OpenPOWER on IntegriCloud