#
a897f7cd |
| 28-Jan-2017 |
Duncan P. N. Exon Smith <dexonsmith@apple.com> |
Modules: Clarify ownership of ModuleFile instances in ModuleManager, NFC
Use std::unique_ptr to clarify the ownership of the ModuleFile instances in ModuleManager.
llvm-svn: 293395
|
#
96a06e0e |
| 28-Jan-2017 |
Duncan P. N. Exon Smith <dexonsmith@apple.com> |
Modules: Return ModuleFile& from ModuleManager::begin, etc.; NFC
Hide the pointer indirection in ModuleManager::begin, ModuleManager::end, ModuleManager::rbegin, and ModuleManager::rend. Besides ti
Modules: Return ModuleFile& from ModuleManager::begin, etc.; NFC
Hide the pointer indirection in ModuleManager::begin, ModuleManager::end, ModuleManager::rbegin, and ModuleManager::rend. Besides tidying up the call sites, this is preparation for making ownership of ModuleFile explicit.
llvm-svn: 293394
show more ...
|
#
14afc8e7 |
| 28-Jan-2017 |
Duncan P. N. Exon Smith <dexonsmith@apple.com> |
Modules: Separate out a checkSignature helper, almost NFC
The main point is to move the delete-the-new-module logic into the same block that creates it, so I can simplify the memory management in a
Modules: Separate out a checkSignature helper, almost NFC
The main point is to move the delete-the-new-module logic into the same block that creates it, so I can simplify the memory management in a follow-up, but I think it's clearer to use use a checkSignature helper here anyway.
There is a minor functionality change: we now scan ahead to pull the signature out of the control block *only* if this is a new ModuleFile. For old ones, ASTReader::ReadControlBlock will have already read the signature.
llvm-svn: 293393
show more ...
|
Revision tags: llvmorg-4.0.0-rc1, llvmorg-3.9.1, llvmorg-3.9.1-rc3, llvmorg-3.9.1-rc2, llvmorg-3.9.1-rc1 |
|
#
ac71c8e2 |
| 09-Nov-2016 |
Pavel Labath <labath@google.com> |
[VFS] Replace TimeValue usage with std::chrono
Summary: NFCI
Reviewers: benlangmuir, zturner
Subscribers: cfe-commits
Differential Revision: https://reviews.llvm.org/D25948
llvm-svn: 286356
|
#
77c89b69 |
| 08-Nov-2016 |
Peter Collingbourne <peter@pcc.me.uk> |
Bitcode: Decouple block info block state from reader.
As proposed on llvm-dev: http://lists.llvm.org/pipermail/llvm-dev/2016-October/106630.html
Move block info block state to a new class, Bitstrea
Bitcode: Decouple block info block state from reader.
As proposed on llvm-dev: http://lists.llvm.org/pipermail/llvm-dev/2016-October/106630.html
Move block info block state to a new class, BitstreamBlockInfo. Clients may set the block info for a particular cursor with the BitstreamCursor::setBlockInfo() method.
At this point BitstreamReader is not much more than a container for an ArrayRef<uint8_t>, so remove it and replace all uses with direct uses of memory buffers.
Differential Revision: https://reviews.llvm.org/D26259
llvm-svn: 286207
show more ...
|
#
3bd6d7fb |
| 02-Sep-2016 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Clean up handling of reading module files from stdin. Don't bother trying to look for a corresponding file, since we're not going to read it anyway.
No observable behavior change (though we now avoi
Clean up handling of reading module files from stdin. Don't bother trying to look for a corresponding file, since we're not going to read it anyway.
No observable behavior change (though we now avoid pointlessly trying to stat or open a file named "-").
llvm-svn: 280436
show more ...
|
#
3b99db55 |
| 02-Sep-2016 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Refactor to avoid holding a reference to a container element that could go away during this function, and to avoid rolling back changes to the module manager's data structures. Instead, we defer regi
Refactor to avoid holding a reference to a container element that could go away during this function, and to avoid rolling back changes to the module manager's data structures. Instead, we defer registering the module file until after we have successfully finished loading it.
llvm-svn: 280434
show more ...
|
Revision tags: llvmorg-3.9.0, llvmorg-3.9.0-rc3 |
|
#
f2187ed3 |
| 22-Aug-2016 |
Tim Shen <timshen91@gmail.com> |
[GraphTraits] Replace all NodeType usage with NodeRef
This should finish the GraphTraits migration.
Differential Revision: http://reviews.llvm.org/D23730
llvm-svn: 279475
|
Revision tags: llvmorg-3.9.0-rc2 |
|
#
11f2a477 |
| 18-Aug-2016 |
Manman Ren <manman.ren@gmail.com> |
Module: add -fprebuilt-module-path to support loading prebuilt modules.
In this mode, there is no need to load any module map and the programmer can simply use "@import" syntax to load the module di
Module: add -fprebuilt-module-path to support loading prebuilt modules.
In this mode, there is no need to load any module map and the programmer can simply use "@import" syntax to load the module directly from a prebuilt module path. When loading from prebuilt module path, we don't support rebuilding of the module files and we ignore compatible configuration mismatches.
rdar://27290316 Differential Revision: http://reviews.llvm.org/D23125
llvm-svn: 279096
show more ...
|
#
2931d171 |
| 17-Aug-2016 |
Tim Shen <timshen91@gmail.com> |
[GraphWriter] Change GraphWriter to use NodeRef in GraphTraits
Summary: Corresponding LLVM patch: D23580
Reviewers: dblaikie
Subscribers: cfe-commits
Differential Revision: https://reviews.llvm.o
[GraphWriter] Change GraphWriter to use NodeRef in GraphTraits
Summary: Corresponding LLVM patch: D23580
Reviewers: dblaikie
Subscribers: cfe-commits
Differential Revision: https://reviews.llvm.org/D23581
llvm-svn: 278963
show more ...
|
Revision tags: llvmorg-3.9.0-rc1 |
|
#
9670f847 |
| 18-Jul-2016 |
Mehdi Amini <mehdi.amini@apple.com> |
[NFC] Header cleanup
Summary: Removed unused headers, replaced some headers with forward class declarations
Patch by: Eugene <claprix@yandex.ru>
Differential Revision: https://reviews.llvm.org/D20
[NFC] Header cleanup
Summary: Removed unused headers, replaced some headers with forward class declarations
Patch by: Eugene <claprix@yandex.ru>
Differential Revision: https://reviews.llvm.org/D20100
llvm-svn: 275882
show more ...
|
#
f7e3609f |
| 23-Jun-2016 |
David Majnemer <david.majnemer@gmail.com> |
Use ranges to concisely express iteration
No functional change is intended, this should just clean things up a little.
llvm-svn: 273522
|
Revision tags: llvmorg-3.8.1, llvmorg-3.8.1-rc1, llvmorg-3.8.0, llvmorg-3.8.0-rc3, llvmorg-3.8.0-rc2, llvmorg-3.8.0-rc1, llvmorg-3.7.1, llvmorg-3.7.1-rc2, llvmorg-3.7.1-rc1 |
|
#
a50dbb20 |
| 21-Oct-2015 |
Ben Langmuir <blangmuir@apple.com> |
Fix use-after-free in ModuleManager
When removing out-of-date modules we might have left behind a VisitOrder that contains pointers to freed ModuleFiles. This was very rarely seen, because it only
Fix use-after-free in ModuleManager
When removing out-of-date modules we might have left behind a VisitOrder that contains pointers to freed ModuleFiles. This was very rarely seen, because it only happens when modules go out of date and the VisitOrder happens to have the right size to not be recomputed.
Thanks ASan!
rdar://23181512
llvm-svn: 250963
show more ...
|
Revision tags: llvmorg-3.7.0, llvmorg-3.7.0-rc4, llvmorg-3.7.0-rc3, studio-1.4 |
|
#
86cc8290 |
| 09-Aug-2015 |
Richard Smith <richard-llvm@metafoo.co.uk> |
[modules] Remove now-dead code for lazy loading of files specified by -fmodule-file=.
llvm-svn: 244417
|
#
ca3156ac |
| 06-Aug-2015 |
Richard Smith <richard-llvm@metafoo.co.uk> |
[modules] Remove unused ModuleManager::visitDepthFirst function.
llvm-svn: 244289
|
Revision tags: llvmorg-3.7.0-rc2 |
|
#
9a9efbaf |
| 25-Jul-2015 |
Benjamin Kramer <benny.kra@googlemail.com> |
[Modules] Wrap the main ModuleManager visitor in a function_ref.
Avoids the awkward passing of an opaque void *UserData argument. No functional change intended.
llvm-svn: 243213
|
#
16fe4d17 |
| 22-Jul-2015 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Fix dumb use-after-free bug introduced in r242868.
llvm-svn: 242960
|
#
33e0f7ef |
| 22-Jul-2015 |
Richard Smith <richard-llvm@metafoo.co.uk> |
[modules] Stop performing PCM lookups for all identifiers when building with C++ modules. Instead, serialize a list of interesting identifiers and mark those ones out of date on module import. Avoidi
[modules] Stop performing PCM lookups for all identifiers when building with C++ modules. Instead, serialize a list of interesting identifiers and mark those ones out of date on module import. Avoiding the identifier lookups here gives a 20-30% speedup in builds with large numbers of modules. No functionality change intended.
llvm-svn: 242868
show more ...
|
#
a7c535b3 |
| 22-Jul-2015 |
Richard Smith <richard-llvm@metafoo.co.uk> |
[modules] Change module manager visitation order to be a bit more stable when more modules are added: visit modules depth-first rather than breadth-first. The visitation is still (approximately) olde
[modules] Change module manager visitation order to be a bit more stable when more modules are added: visit modules depth-first rather than breadth-first. The visitation is still (approximately) oldest-to-newest, and still guarantees that a module is visited before anything it imports, so modules that are imported by others sometimes need to jump to a later position in the visitation order when more modules are loaded, but independent module trees don't interfere with each other any more.
llvm-svn: 242863
show more ...
|
#
fb2398d0 |
| 17-Jul-2015 |
Adrian Prantl <aprantl@apple.com> |
Make the clang module container format selectable from the command line. - introduces a new cc1 option -fmodule-format=[raw,obj] with 'raw' being the default - supports arbitrary module container f
Make the clang module container format selectable from the command line. - introduces a new cc1 option -fmodule-format=[raw,obj] with 'raw' being the default - supports arbitrary module container formats that libclang is agnostic to - adds the format to the module hash to avoid collisions - splits the old PCHContainerOperations into PCHContainerWriter and a PCHContainerReader.
Thanks to Richard Smith for reviewing this patch!
llvm-svn: 242499
show more ...
|
Revision tags: llvmorg-3.7.0-rc1, llvmorg-3.6.2, llvmorg-3.6.2-rc1 |
|
#
ab9db510 |
| 22-Jun-2015 |
Alexander Kornienko <alexfh@google.com> |
Revert r240270 ("Fixed/added namespace ending comments using clang-tidy").
llvm-svn: 240353
|
#
3d9d929e |
| 22-Jun-2015 |
Alexander Kornienko <alexfh@google.com> |
Fixed/added namespace ending comments using clang-tidy. NFC
The patch is generated using this command:
$ tools/extra/clang-tidy/tool/run-clang-tidy.py -fix \ -checks=-*,llvm-namespace-comme
Fixed/added namespace ending comments using clang-tidy. NFC
The patch is generated using this command:
$ tools/extra/clang-tidy/tool/run-clang-tidy.py -fix \ -checks=-*,llvm-namespace-comment -header-filter='llvm/.*|clang/.*' \ work/llvm/tools/clang
To reduce churn, not touching namespaces spanning less than 10 lines.
llvm-svn: 240270
show more ...
|
#
bb165fb0 |
| 20-Jun-2015 |
Adrian Prantl <aprantl@apple.com> |
Introduce a PCHContainerOperations interface (NFC).
A PCHContainerOperations abstract interface provides operations for creating and unwrapping containers for serialized ASTs (precompiled headers an
Introduce a PCHContainerOperations interface (NFC).
A PCHContainerOperations abstract interface provides operations for creating and unwrapping containers for serialized ASTs (precompiled headers and clang modules). The default implementation is RawPCHContainerOperations, which uses a flat file for the output.
The main application for this interface will be an ObjectFilePCHContainerOperations implementation that uses LLVM to wrap the module in an ELF/Mach-O/COFF container to store debug info alongside the AST.
rdar://problem/20091852
llvm-svn: 240225
show more ...
|
#
9eff8b14 |
| 20-May-2015 |
Manuel Klimek <klimek@google.com> |
Allow skipping imports in the module visitor.
Skip imports when we know that we do not need to visit any imports because we've already deserialized the redecls from a module.
llvm-svn: 237782
|
Revision tags: llvmorg-3.6.1, llvmorg-3.6.1-rc1 |
|
#
70a1b816 |
| 24-Mar-2015 |
Ben Langmuir <blangmuir@apple.com> |
A couple of readASTFileSignature improvements (NFC)
* Strength reduce a std::function to a function pointer, * Factor out checking the AST file magic number, * Add a brief doc comment to readAStFile
A couple of readASTFileSignature improvements (NFC)
* Strength reduce a std::function to a function pointer, * Factor out checking the AST file magic number, * Add a brief doc comment to readAStFileSignature
Thanks to Chandler for spotting these oddities.
llvm-svn: 233050
show more ...
|