X-Git-Url: http://plrg.eecs.uci.edu/git/?p=oota-llvm.git;a=blobdiff_plain;f=lib%2FTransforms%2FScalar%2FSampleProfile.cpp;h=89f0c27070b0e0297202f1a3567f384df3dbad5d;hp=fedbcf3a7c003cbe9285c5ab8359c0c93de9aab3;hb=496bd0b8a5fe82d3f4f5740333dd6ee37f1d6838;hpb=da45b2bdbd92af261ca8ff18069fb0a988e5963d diff --git a/lib/Transforms/Scalar/SampleProfile.cpp b/lib/Transforms/Scalar/SampleProfile.cpp index fedbcf3a7c0..89f0c27070b 100644 --- a/lib/Transforms/Scalar/SampleProfile.cpp +++ b/lib/Transforms/Scalar/SampleProfile.cpp @@ -737,8 +737,13 @@ INITIALIZE_PASS_END(SampleProfileLoader, "sample-profile", "Sample Profile loader", false, false) bool SampleProfileLoader::doInitialization(Module &M) { - Reader.reset(new SampleProfileReader(M, Filename)); - ProfileIsValid = Reader->load(); + if (std::error_code EC = + SampleProfileReader::create(Filename, Reader, M.getContext())) { + std::string Msg = "Could not open profile: " + EC.message(); + M.getContext().diagnose(DiagnosticInfoSampleProfile(Filename.data(), Msg)); + return false; + } + ProfileIsValid = (Reader->read() == sampleprof_error::success); return true; }