[PATCH] D21675: New ODR checker for modules
Richard Trieu via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Fri Jan 27 15:57:57 PST 2017
rtrieu updated this revision to Diff 86142.
rtrieu added a comment.
Changes made to the ODR hash algorithm:
Separated Decl and Type pointers into their own DenseMap's.
Removed the queue of pointers to process at the end. Instead, process pointers at first use.
Save Boolean values and add them together at the end to reduce bits wasted. Shrinks data from bools 32x.
With these changes, the overhead is now 1-1.5%
https://reviews.llvm.org/D21675
Files:
include/clang/AST/DeclCXX.h
include/clang/AST/ODRHash.h
include/clang/AST/Stmt.h
include/clang/Basic/DiagnosticSerializationKinds.td
lib/AST/CMakeLists.txt
lib/AST/DeclCXX.cpp
lib/AST/ODRHash.cpp
lib/AST/StmtProfile.cpp
lib/Sema/SemaDecl.cpp
lib/Serialization/ASTReader.cpp
lib/Serialization/ASTReaderDecl.cpp
lib/Serialization/ASTWriter.cpp
test/Modules/merge-using-decls.cpp
test/Modules/odr_hash.cpp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D21675.86142.patch
Type: text/x-patch
Size: 99537 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20170127/d6e147fe/attachment-0001.bin>
More information about the cfe-commits
mailing list