diff options
Diffstat (limited to 'llvm/lib/Bitcode/Reader/BitcodeReader.cpp')
-rw-r--r-- | llvm/lib/Bitcode/Reader/BitcodeReader.cpp | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/llvm/lib/Bitcode/Reader/BitcodeReader.cpp b/llvm/lib/Bitcode/Reader/BitcodeReader.cpp index a93c4edd120..9bb8b2f50bb 100644 --- a/llvm/lib/Bitcode/Reader/BitcodeReader.cpp +++ b/llvm/lib/Bitcode/Reader/BitcodeReader.cpp @@ -3634,6 +3634,15 @@ std::error_code BitcodeReader::parseModule(uint64_t ResumeBit, return EC; break; case bitc::FUNCTION_BLOCK_ID: + // If this is the first function body we've seen, reverse the + // FunctionsWithBodies list. + if (!SeenFirstFunctionBody) { + std::reverse(FunctionsWithBodies.begin(), FunctionsWithBodies.end()); + if (std::error_code EC = globalCleanup()) + return EC; + SeenFirstFunctionBody = true; + } + if (VSTOffset > 0) { // If we have a VST forward declaration record, make sure we // parse the VST now if we haven't already. It is needed to @@ -3660,15 +3669,6 @@ std::error_code BitcodeReader::parseModule(uint64_t ResumeBit, } } - // If this is the first function body we've seen, reverse the - // FunctionsWithBodies list. - if (!SeenFirstFunctionBody) { - std::reverse(FunctionsWithBodies.begin(), FunctionsWithBodies.end()); - if (std::error_code EC = globalCleanup()) - return EC; - SeenFirstFunctionBody = true; - } - // Support older bitcode files that did not have the function // index in the VST, nor a VST forward declaration record, as // well as anonymous functions that do not have VST entries. |