llvm-project/clang/test/PCH
Douglas Gregor 57756eabc9 When performing typo correction, look through the set of known
identifiers to determine good typo-correction candidates. Once we've
identified those candidates, we perform name lookup on each of them
and the consider the results. 

This optimization makes typo correction > 2x faster on a benchmark
example using a single typo (NSstring) in a tiny file that includes
Cocoa.h from a precompiled header, since we are deserializing far less
information now during typo correction.

There is a semantic change here, which is interesting. The presence of
a similarly-named entity that is not visible can now affect typo
correction. This is both good (you won't get weird corrections if the
thing you wanted isn't in scope) and bad (you won't get good
corrections if there is a similarly-named-but-completely-unrelated
thing). Time will tell whether it was a good choice or not.

llvm-svn: 116528
2010-10-14 22:11:03 +00:00
..
Inputs When performing typo correction, look through the set of known 2010-10-14 22:11:03 +00:00
libroot/usr/include Introduce the notion of "Relocatable" precompiled headers, which are built 2009-07-07 00:12:59 +00:00
asm.c Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'. 2009-12-15 20:14:24 +00:00
asm.h PCH support for inline assembly statements. 2009-04-17 20:57:14 +00:00
attrs.c Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'. 2009-12-15 20:14:24 +00:00
attrs.h Fix PCH issue. Attributes of a declaration were truncated to just one when the decl was read from a PCH file. 2010-06-11 23:09:25 +00:00
blocks.c Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'. 2009-12-15 20:14:24 +00:00
blocks.h PCH support for blocks 2009-04-17 19:21:43 +00:00
builtins.c Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'. 2009-12-15 20:14:24 +00:00
builtins.h Lazy deserialization of the declaration chains associated with 2009-04-21 22:25:48 +00:00
chain-cxx.cpp AST writer support for having specializations of templates from earlier in the chain. This ought to finish C++ chained PCH support. 2010-08-24 22:50:24 +00:00
chain-decls.c Query only the latest version of an identifier in the PCH chain. Make sure this version holds the entire declaration chain. This is a much saner solution than trying to merge the info from all elements, and makes redeclarations work properly. Expand the declarations test case to cover more compliated cases. 2010-08-02 18:30:12 +00:00
chain-ext_vector.c Support extended vector types in chained PCH. 2010-07-28 21:38:49 +00:00
chain-external-defs.c Add a test case for tentative definitions in chained PCH. Fix a bug that completely messed up source locations and thus caused a crash whenever a diagnostic was emitted in chained PCH files. 2010-07-28 21:07:02 +00:00
chain-macro-override.c Implement chained PCH support for the macro definitions stored within 2010-10-02 19:29:26 +00:00
chain-macro.c Implement chained PCH support for the macro definitions stored within 2010-10-02 19:29:26 +00:00
chain-predecl.h Instead of modifying the ObjC AST to not modify existing declarations, teach chained PCH to overwrite declarations from earlier PCH files in dependent ones. Tell Sema to note when it changes AST nodes so that they have to be reserialized. Finally, the ObjCProtocolDecls created in forward decls, like the ObjCInterfaceDecls in @class forward decls, are not lexically part of the decl context; only the definition is. 2010-08-13 00:28:03 +00:00
chain-predecl.m Instead of modifying the ObjC AST to not modify existing declarations, teach chained PCH to overwrite declarations from earlier PCH files in dependent ones. Tell Sema to note when it changes AST nodes so that they have to be reserialized. Finally, the ObjCProtocolDecls created in forward decls, like the ObjCInterfaceDecls in @class forward decls, are not lexically part of the decl context; only the definition is. 2010-08-13 00:28:03 +00:00
chain-remap-types.m Fix a marvelous chained AST writing bug, where we end up with the 2010-10-05 18:37:06 +00:00
chain-selectors.m When we insert a category (or class extension) into an interface, mark 2010-10-02 21:06:43 +00:00
chain-trivial.c Thread bitstream cursors all the way through the AST reading stuff. This way, reading a trivial 2-element chained file actually works. 2010-07-22 22:43:28 +00:00
changed-files.c Use Daniel's trick for XFAIL'd tests 2010-03-25 16:40:13 +00:00
check-deserializations.cpp Store in PCH the key function of C++ class to avoid deserializing the complete declaration context in order to compute it. 2010-10-14 20:14:38 +00:00
cmdline-include.c Add test case I forgot for r115159 (support implicit includes along with PCH). 2010-10-01 00:00:18 +00:00
cmdline-include1.h Add test case I forgot for r115159 (support implicit includes along with PCH). 2010-10-01 00:00:18 +00:00
cmdline-include2.h Add test case I forgot for r115159 (support implicit includes along with PCH). 2010-10-01 00:00:18 +00:00
cxx-friends.cpp Support C++ friend declarations for PCH. 2010-06-29 22:47:00 +00:00
cxx-friends.h Support C++ friend declarations for PCH. 2010-06-29 22:47:00 +00:00
cxx-method.cpp Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'. 2009-12-15 20:14:24 +00:00
cxx-namespaces.cpp When setting the anonymous namespace at PCH reading, it may still be initializing so avoid 2010-07-03 07:57:53 +00:00
cxx-namespaces.h When setting the anonymous namespace at PCH reading, it may still be initializing so avoid 2010-07-03 07:57:53 +00:00
cxx-offsetof-base.cpp Implement PCH support for offsetof(base-specifier). 2010-07-29 18:16:10 +00:00
cxx-offsetof-base.h Implement PCH support for offsetof(base-specifier). 2010-07-29 18:16:10 +00:00
cxx-required-decls.cpp Make sure C++ variable definitions are actually passed to the consumer when loaded from PCH. 2010-08-05 09:47:59 +00:00
cxx-required-decls.h Make sure C++ variable definitions are actually passed to the consumer when loaded from PCH. 2010-08-05 09:47:59 +00:00
cxx-static_assert.cpp Read/write C++0x static_assert for PCH. 2010-07-22 17:28:12 +00:00
cxx-static_assert.h Read/write C++0x static_assert for PCH. 2010-07-22 17:28:12 +00:00
cxx-templates.cpp Fix a C++ PCH problem which was exposed by r113019. CXXBaseOrMemberInitializer's IsWritten and source order is not set. 2010-09-06 19:04:27 +00:00
cxx-templates.h Fix C++ PCH issue. 2010-09-13 11:45:48 +00:00
cxx-traits.cpp -Make TokenID of IdentifierInfo read-only, remove setTokenID(). 2010-08-11 22:55:12 +00:00
cxx-traits.h -Make TokenID of IdentifierInfo read-only, remove setTokenID(). 2010-08-11 22:55:12 +00:00
cxx-typeid.cpp tests: Add a missing -Xclang. 2010-08-11 02:32:03 +00:00
cxx-typeid.h Read/write in PCH Sema's StdNamespace and StdBadAlloc and use a LazyDeclPtr for them that will deserialize them when needed. 2010-08-02 07:14:54 +00:00
cxx-using.cpp Support PCH emitting/reading of using declarations. 2010-06-20 14:40:59 +00:00
cxx-using.h Support PCH emitting/reading of using declarations. 2010-06-20 14:40:59 +00:00
cxx_exprs.cpp Fix broken de/serialization for a couple of C++ Exprs. 2010-06-24 08:57:09 +00:00
cxx_exprs.h Read/write CXXDeleteExpr from/to PCH. 2010-06-22 17:07:59 +00:00
enum.c Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'. 2009-12-15 20:14:24 +00:00
enum.h Add PCH support for ImplicitCastExprs. This is the first expression 2009-04-14 23:32:43 +00:00
exprs.c Modify the way sub-statements are stored and retrieved from PCH. 2010-06-28 22:28:35 +00:00
exprs.h Modify the way sub-statements are stored and retrieved from PCH. 2010-06-28 22:28:35 +00:00
ext_vector.c Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'. 2009-12-15 20:14:24 +00:00
ext_vector.h Add Sema::ExtVectorDecls and Sema::ObjCCategoryImpls to the PCH file. Since these vectors are very, very rarely used and, when used in headers, and even when used are relatively small, we load them eagerly. 2009-04-27 20:06:05 +00:00
external-defs.c Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'. 2009-12-15 20:14:24 +00:00
external-defs.h Clean up and de-XFAIL-ify PCH test for external definitions 2009-04-22 22:09:39 +00:00
functions.c Whenever we complain about a failed initialization of a function or 2010-04-22 00:20:18 +00:00
functions.h Whenever we complain about a failed initialization of a function or 2010-04-22 00:20:18 +00:00
fuzzy-pch.c Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'. 2009-12-15 20:14:24 +00:00
fuzzy-pch.h Allow some differences between the predefines buffer used to build a 2009-04-28 18:58:38 +00:00
headermap.h Fix header-search problems with precompiled headers, where the 2010-03-16 16:35:32 +00:00
headermap.m Fix header-search problems with precompiled headers, where the 2010-03-16 16:35:32 +00:00
line-directive.c Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'. 2009-12-15 20:14:24 +00:00
line-directive.h Include the SourceManager's line table in the PCH file. We can now 2009-04-13 16:31:14 +00:00
method_pool.h Prep for new warning. 2009-07-21 22:54:02 +00:00
method_pool.m Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'. 2009-12-15 20:14:24 +00:00
multiple_decls.c Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'. 2009-12-15 20:14:24 +00:00
multiple_decls.h Fix two embarrassing PCH bugs: 2009-04-17 21:46:47 +00:00
namespaces.cpp Serialize the "inline" bit for namespaces. Fixes <rdar://problem/8515069>. 2010-10-05 20:41:58 +00:00
nonvisible-external-defs.c Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'. 2009-12-15 20:14:24 +00:00
nonvisible-external-defs.h Support locally-declared external declarations in PCH files 2009-04-22 22:18:58 +00:00
objc_exprs.h Add PCH read/write support for Objective-C Selectors. 2009-04-23 10:39:46 +00:00
objc_exprs.m Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'. 2009-12-15 20:14:24 +00:00
objc_import.h Add PCH support for #import. 2009-04-24 20:03:17 +00:00
objc_import.m Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'. 2009-12-15 20:14:24 +00:00
objc_methods.h More PushOnScopeChain() FIXME's. 2009-04-23 16:00:56 +00:00
objc_methods.m Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'. 2009-12-15 20:14:24 +00:00
objc_property.h PCH support for Objective-C property declarations (UNTESTED!) 2009-04-22 23:20:34 +00:00
objc_property.m Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'. 2009-12-15 20:14:24 +00:00
objc_stmts.h Improve the AST representation of Objective-C @try/@catch/@finally 2010-04-23 22:50:49 +00:00
objc_stmts.m Improve the AST representation of Objective-C @try/@catch/@finally 2010-04-23 22:50:49 +00:00
objcxx-ivar-class.h Complete PCH support for ObjCPropertyImplDecl. 2010-08-09 10:54:37 +00:00
objcxx-ivar-class.mm Complete PCH support for ObjCPropertyImplDecl. 2010-08-09 10:54:37 +00:00
pchpch.c Make PCHReader cope with PCH files containing more than one predefines buffer. 2010-07-14 17:49:11 +00:00
pchpch1.h Make PCHReader cope with PCH files containing more than one predefines buffer. 2010-07-14 17:49:11 +00:00
pchpch2.h Make PCHReader cope with PCH files containing more than one predefines buffer. 2010-07-14 17:49:11 +00:00
pr4489.c Forcibly disable test/PCH/pr4489.c, it is flaky on one of the buildbots. 2010-04-09 15:30:57 +00:00
pragma-weak.c Support #pragma weak for PCH. 2010-08-05 09:48:08 +00:00
pragma-weak.h Support #pragma weak for PCH. 2010-08-05 09:48:08 +00:00
preamble.c Introduce basic support for loading a precompiled preamble while 2010-07-26 21:36:20 +00:00
preprocess.c Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'. 2009-12-15 20:14:24 +00:00
preprocess.h Make precompiled headers work with -E. When we're only preprocessing 2009-05-12 01:31:05 +00:00
pth.c Add PTH test case for <rdar://problem/8227989>. 2010-07-27 23:06:03 +00:00
pth.h Add PTH test case for <rdar://problem/8227989>. 2010-07-27 23:06:03 +00:00
reinclude.cpp Fix an issue with writing to PCH another included PCH, introduced by the "using an AST on-disk hash table for name lookup" commit. 2010-08-20 23:35:55 +00:00
reinclude1.h Fix an issue with writing to PCH another included PCH, introduced by the "using an AST on-disk hash table for name lookup" commit. 2010-08-20 23:35:55 +00:00
reinclude2.h Fix an issue with writing to PCH another included PCH, introduced by the "using an AST on-disk hash table for name lookup" commit. 2010-08-20 23:35:55 +00:00
reloc.c Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'. 2009-12-15 20:14:24 +00:00
selector-warning.h Test for selector-warning PCH patch. 2010-07-23 20:32:57 +00:00
selector-warning.m Test for selector-warning PCH patch. 2010-07-23 20:32:57 +00:00
source-manager-stack.c Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'. 2009-12-15 20:14:24 +00:00
stmts.c Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'. 2009-12-15 20:14:24 +00:00
stmts.h Test PCH support for VLAs 2009-04-22 00:21:21 +00:00
struct.c Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'. 2009-12-15 20:14:24 +00:00
struct.h PCH support for a few very, very simple kinds of expressions. Hook up 2009-04-14 21:18:50 +00:00
tentative-defs.c Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'. 2009-12-15 20:14:24 +00:00
tentative-defs.h Support tentative definitions in precompiled headers. This isn't likely 2009-04-22 22:02:47 +00:00
types.c Fix a regression of a previous commit of mine (rdar://8158953). 2010-07-04 21:44:47 +00:00
types.h Fix a regression of a previous commit of mine (rdar://8158953). 2010-07-04 21:44:47 +00:00
typo.m When performing typo correction, look through the set of known 2010-10-14 22:11:03 +00:00
va_arg.c Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'. 2009-12-15 20:14:24 +00:00
va_arg.cpp Register the __builtin_va_list_type node when we parse it, rather than 2010-10-05 14:55:45 +00:00
va_arg.h PCH tests for va_arg expressions. Verified that the blocks test does create a BlockDeclRefExpr 2009-04-17 20:06:59 +00:00
variables.c Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'. 2009-12-15 20:14:24 +00:00
variables.h Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'. 2009-12-15 20:14:24 +00:00