llvm-6502/lib
Manman Ren cd67bbf07f Add a parameter for getLazyBitcodeModule to lazily load Metadata.
We only defer loading metadata inside ParseModule when ShouldLazyLoadMetadata
is true and we have not loaded any Metadata block yet.

This commit implements all-or-nothing loading of Metadata. If there is a
request to load any metadata block, we will load all deferred metadata blocks.

We make sure the deferred metadata blocks are loaded before we materialize any
function or a module.

The default value of the added parameter ShouldLazyLoadMetadata for
getLazyBitcodeModule is false, so the default behavior stays the same.

We only set the parameter to true when creating LTOModule in local contexts.
These can only really be used for parsing symbols, so it's unnecessary to ever
load the metadata blocks.

If we are going to enable lazy-loading of Metadata for other usages of
getLazyBitcodeModule, where deferred metadata blocks need to be loaded, we can
expose BitcodeReader::materializeMetadata to Module, similar to
Module::materialize.

rdar://19804575


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@232198 91177308-0d34-0410-b5e6-96231b3b80d8
2015-03-13 19:24:30 +00:00
..
Analysis [SCEV] Fix PR22856. 2015-03-13 18:31:19 +00:00
AsmParser [opaque pointer type] Add textual IR support for explicit type parameter to gep operator 2015-03-13 18:20:45 +00:00
Bitcode Add a parameter for getLazyBitcodeModule to lazily load Metadata. 2015-03-13 19:24:30 +00:00
CodeGen Recommit r232027 with PR22883 fixed: Add infrastructure for support of multiple memory constraints. 2015-03-13 12:45:09 +00:00
DebugInfo
ExecutionEngine
Fuzzer
IR [opaque pointer type] Add textual IR support for explicit type parameter to gep operator 2015-03-13 18:20:45 +00:00
IRReader
LineEditor
Linker
LTO Add a parameter for getLazyBitcodeModule to lazily load Metadata. 2015-03-13 19:24:30 +00:00
MC Recommit r232027 with PR22883 fixed: Add infrastructure for support of multiple memory constraints. 2015-03-13 12:45:09 +00:00
Object
Option
Passes
ProfileData InstrProf: Teach llvm-cov to handle universal binaries when given -arch 2015-03-11 02:30:51 +00:00
Support Wrap in __MINGW32__ to avoid warnings from msvc. 2015-03-11 16:09:02 +00:00
TableGen
Target r600: Clear visited structure before running. 2015-03-13 17:32:46 +00:00
Transforms instcombine: alloca: Split out simplifyAllocaArraySize(), NFC 2015-03-13 19:22:03 +00:00
CMakeLists.txt
LLVMBuild.txt
Makefile