History log of /llvm-project/clang/lib/Serialization/ModuleManager.cpp (Results 51 – 75 of 137)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 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 ...


123456