summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms
diff options
context:
space:
mode:
authorDiego Novillo <dnovillo@google.com>2014-11-03 00:51:45 +0000
committerDiego Novillo <dnovillo@google.com>2014-11-03 00:51:45 +0000
commitfcd556074c03ab47fe809e1f94fc78a3b3fe94dd (patch)
tree0a20112f562c2a7dd6c9c11b0eebde6cedecd04c /llvm/lib/Transforms
parent4cd1d4ecb1a89d6201c24df5f48dd4c5366747fe (diff)
downloadbcm5719-llvm-fcd556074c03ab47fe809e1f94fc78a3b3fe94dd.tar.gz
bcm5719-llvm-fcd556074c03ab47fe809e1f94fc78a3b3fe94dd.zip
Use ErrorOr for the ::create factory on instrumented and sample profilers.
Summary: As discussed in http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20141027/242445.html, the creation of reader and writer instances is better done using ErrorOr. There are no functional changes, but several callers needed to be adjusted. Reviewers: bogner Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D6076 llvm-svn: 221120
Diffstat (limited to 'llvm/lib/Transforms')
-rw-r--r--llvm/lib/Transforms/Scalar/SampleProfile.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/llvm/lib/Transforms/Scalar/SampleProfile.cpp b/llvm/lib/Transforms/Scalar/SampleProfile.cpp
index 89f0c27070b..aa01508d25b 100644
--- a/llvm/lib/Transforms/Scalar/SampleProfile.cpp
+++ b/llvm/lib/Transforms/Scalar/SampleProfile.cpp
@@ -737,12 +737,13 @@ INITIALIZE_PASS_END(SampleProfileLoader, "sample-profile",
"Sample Profile loader", false, false)
bool SampleProfileLoader::doInitialization(Module &M) {
- if (std::error_code EC =
- SampleProfileReader::create(Filename, Reader, M.getContext())) {
+ auto ReaderOrErr = SampleProfileReader::create(Filename, M.getContext());
+ if (std::error_code EC = ReaderOrErr.getError()) {
std::string Msg = "Could not open profile: " + EC.message();
M.getContext().diagnose(DiagnosticInfoSampleProfile(Filename.data(), Msg));
return false;
}
+ Reader = std::move(ReaderOrErr.get());
ProfileIsValid = (Reader->read() == sampleprof_error::success);
return true;
}
OpenPOWER on IntegriCloud