diff options
| author | Diego Novillo <dnovillo@google.com> | 2014-11-03 00:51:45 +0000 |
|---|---|---|
| committer | Diego Novillo <dnovillo@google.com> | 2014-11-03 00:51:45 +0000 |
| commit | fcd556074c03ab47fe809e1f94fc78a3b3fe94dd (patch) | |
| tree | 0a20112f562c2a7dd6c9c11b0eebde6cedecd04c /llvm/lib/Transforms | |
| parent | 4cd1d4ecb1a89d6201c24df5f48dd4c5366747fe (diff) | |
| download | bcm5719-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.cpp | 5 |
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; } |

