| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
need to be emitted. (Also reduces the set of variables that need to be eagerly deserialized when using PCH / modules.)
llvm-svn: 245497
|
|
|
|
|
|
| |
Why do we need a registered target for this?
llvm-svn: 230450
|
|
|
|
| |
llvm-svn: 230447
|
|
|
|
|
|
| |
from a PCH/module.
llvm-svn: 189646
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
these in eagerly if we're not actually processing a translation unit. The added
laziness here also avoids us loading in parts of a CXXRecordDecl earlier than an
upcoming class template specialization merging patch would like.
Ideally, we should mark the vtable as used when we see a definition for the key
function, rather than having a separate pass over dynamic classes at the end of
the TU. The existing approach is pretty bad for PCH/modules, since it forcibly
loads the declarations of all key functions in all imported modules, whether or
not those key functions are defined.
llvm-svn: 189627
|
|
|
|
|
|
|
|
| |
complete declaration context in order to compute it.
Progress for rdar://7260160.
llvm-svn: 116508
|
|
iterate over them,
instead of deserializing the complete declaration context of the record.
Iterating over the fields of a record is very common (e.g to determine the layout), unfortunately we needlessly deserialize every declaration
that the declaration context of the record contains; this can be bad for large C++ classes that contain a lot of methods.
Fix this by allow deserialization of just the fields when we want to iterate over them.
Progress for rdar://7260160.
llvm-svn: 116507
|