llvm/lib/Bitcode/Reader
Duncan P. N. Exon Smith 1526278443 UseListOrder: Fix blockaddress use-list order
`parseBitcodeFile()` uses the generic `getLazyBitcodeFile()` function as
a helper.  Since `parseBitcodeFile()` isn't actually lazy -- it calls
`MaterializeAllPermanently()` -- bypass the unnecessary call to
`materializeForwardReferencedFunctions()` by extracting out a common
helper function.  This removes the last of the use-list churn caused by
blockaddresses.

This highlights that we can't reproduce use-list order of globals and
constants when parsing lazily -- but that's necessarily out of scope.
When we're parsing lazily, we never have all the functions in memory, so
the use-lists of globals (and constants that reference globals) are
always incomplete.

This is part of PR5680.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@214581 91177308-0d34-0410-b5e6-96231b3b80d8
2014-08-01 22:27:19 +00:00
..
BitcodeReader.cpp UseListOrder: Fix blockaddress use-list order 2014-08-01 22:27:19 +00:00
BitcodeReader.h BitcodeReader: Change mechanics of BlockAddress forward references, NFC 2014-08-01 21:51:52 +00:00
BitReader.cpp Remove 'using std::errro_code' from lib. 2014-06-13 02:24:39 +00:00
BitstreamReader.cpp Replace some assert(0)'s with llvm_unreachable. 2014-06-18 05:05:13 +00:00
CMakeLists.txt BitstreamReader hasn't aged well. It's been hacked on by various people and 2013-01-19 18:19:39 +00:00
LLVMBuild.txt LLVMBuild: Remove trailing newline, which irked me. 2011-12-12 19:48:00 +00:00
Makefile make -fno-rtti the default unless a directory builds with REQUIRES_RTTI. 2010-01-24 20:43:08 +00:00