[PATCH] D47118: [modules] Print input files when -module-file-info file switch is passed.

2018-05-20 Thread Vassil Vassilev via Phabricator via cfe-commits
v.g.vassilev created this revision. v.g.vassilev added reviewers: rsmith, bruno, teemperor. This patch improves traceability of duplicated header files which end up in multiple pcms. Repository: rC Clang https://reviews.llvm.org/D47118 Files: lib/Frontend/FrontendActions.cpp test/Module

[PATCH] D47247: Fix unaligned memory access when reading INPUT_FILE_OFFSETS data

2018-05-22 Thread Vassil Vassilev via Phabricator via cfe-commits
v.g.vassilev accepted this revision. v.g.vassilev added a comment. This revision is now accepted and ready to land. LGTM! Repository: rC Clang https://reviews.llvm.org/D47247 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.ll

[PATCH] D51295: Allow resetting of NumCreatedFIDsForFileID

2018-08-27 Thread Vassil Vassilev via Phabricator via cfe-commits
v.g.vassilev created this revision. v.g.vassilev added reviewers: rsmith, akyrtzi. Herald added a subscriber: cfe-commits. Our internal clients implement parsing cache based on FileID. In order for the Preprocessor to reenter the cached FileID it needs to reset its NumCreatedFIDsForFileID. Alte

[PATCH] D51295: Allow resetting of NumCreatedFIDsForFileID

2018-08-27 Thread Vassil Vassilev via Phabricator via cfe-commits
v.g.vassilev updated this revision to Diff 162663. v.g.vassilev added a comment. Add parens. https://reviews.llvm.org/D51295 Files: include/clang/Basic/SourceManager.h Index: include/clang/Basic/SourceManager.h === --- include/

[PATCH] D37797: Fix crash in Sema when wrongly assuming VarDecl init is not value dependent.

2018-02-23 Thread Vassil Vassilev via Phabricator via cfe-commits
v.g.vassilev added a comment. Could you double-check if we can add this to an existing test? Would `test/SemaCXX/pr25181-crash-on-invalid.cpp` fit and potentially rename it. Comment at: test/SemaCXX/cxx11-odr-use-crash-on-invalid.cpp:8 +c : d() { // expected-error {{unexpected

[PATCH] D43696: Reduce hash collisions for reference and pointer types

2018-02-23 Thread Vassil Vassilev via Phabricator via cfe-commits
v.g.vassilev created this revision. v.g.vassilev added reviewers: rtrieu, rsmith. While investigating the work done in D41416 I found out that the hash values for pointer and reference types are the same. Repository: rC Clang https://reviews.llvm.org/D43696

[PATCH] D43696: Reduce hash collisions for reference and pointer types

2018-02-24 Thread Vassil Vassilev via Phabricator via cfe-commits
v.g.vassilev added inline comments. Comment at: lib/AST/ODRHash.cpp:581 + void VisitType(const Type *T) { +ID.AddInteger(T->getTypeClass()); + } rtrieu wrote: > rsmith wrote: > > This looks redundant, the above `Visit(const Type*)` function seems to > > al

[PATCH] D29877: Warn about unused static file scope function template declarations.

2017-05-27 Thread Vassil Vassilev via Phabricator via cfe-commits
v.g.vassilev added inline comments. Comment at: include/clang/Basic/DiagnosticGroups.td:631 // UnusedParameter, (matches GCC's behavior) +// UnusedTemplate, (clean-up libc++ before enabling) // UnusedMember

[PATCH] D29877: Warn about unused static file scope function template declarations.

2017-05-27 Thread Vassil Vassilev via Phabricator via cfe-commits
v.g.vassilev added a comment. In https://reviews.llvm.org/D29877#766301, @rsmith wrote: > In https://reviews.llvm.org/D29877#766196, @EricWF wrote: > > > No. But I can point you to `range-v3` which uses this pattern and I think > > the idiom is somewhat appealing, but that's orthogonal to Clang

[PATCH] D33930: Do not pick up by default the LLVM style if passing -format

2017-06-06 Thread Vassil Vassilev via Phabricator via cfe-commits
v.g.vassilev created this revision. This adds a new flag `-style` which is passed to `clang-apply-replacements` and defaults to `file` meaning it would pick up the closest `.clang-format` file in tree. Repository: rL LLVM https://reviews.llvm.org/D33930 Files: clang-tidy/tool/run-clang-t

[PATCH] D33930: Do not pick up by default the LLVM style if passing -format

2017-06-06 Thread Vassil Vassilev via Phabricator via cfe-commits
v.g.vassilev updated this revision to Diff 101540. v.g.vassilev added a comment. Use string. https://reviews.llvm.org/D33930 Files: clang-tidy/tool/run-clang-tidy.py Index: clang-tidy/tool/run-clang-tidy.py === --- clang-tidy/t

[PATCH] D34022: Repair 2010-05-31-palignr.c test

2017-06-08 Thread Vassil Vassilev via Phabricator via cfe-commits
v.g.vassilev added a comment. Raphael and I work together I can take care of it... https://reviews.llvm.org/D34022 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D33467: Fix LLVM build errors if necent build of GCC 7 is used

2017-06-09 Thread Vassil Vassilev via Phabricator via cfe-commits
v.g.vassilev added a reviewer: rsmith. v.g.vassilev added a subscriber: rsmith. v.g.vassilev added a comment. @rsmith, what's the right way to proceed here? Repository: rL LLVM https://reviews.llvm.org/D33467 ___ cfe-commits mailing list cfe-comm

[PATCH] D29951: Load lazily the template specialization in multi-module setups.

2017-06-09 Thread Vassil Vassilev via Phabricator via cfe-commits
v.g.vassilev updated this revision to Diff 102045. v.g.vassilev marked 2 inline comments as done. v.g.vassilev added a comment. Address comments. https://reviews.llvm.org/D29951 Files: include/clang/Serialization/ASTReader.h lib/Serialization/ASTReaderDecl.cpp Index: lib/Serialization/ASTR

[PATCH] D34059: Get the file name for the symbol from the Module, not the SourceManager.

2017-06-09 Thread Vassil Vassilev via Phabricator via cfe-commits
v.g.vassilev created this revision. This allows multi-module / incremental compilation environments to have unique initializer symbols. Patch by Axel Naumann! Repository: rL LLVM https://reviews.llvm.org/D34059 Files: lib/CodeGen/CGDeclCXX.cpp Index: lib/CodeGen/CGDeclCXX.cpp =

[PATCH] D34022: Repair 2010-05-31-palignr.c test

2017-06-09 Thread Vassil Vassilev via Phabricator via cfe-commits
v.g.vassilev closed this revision. v.g.vassilev added a comment. Landed in r305089. https://reviews.llvm.org/D34022 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D33366: Fix that global delete operator get's assigned to a submodule.

2017-06-09 Thread Vassil Vassilev via Phabricator via cfe-commits
v.g.vassilev closed this revision. v.g.vassilev added a comment. r305118. https://reviews.llvm.org/D33366 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D29951: Load lazily the template specialization in multi-module setups.

2017-06-09 Thread Vassil Vassilev via Phabricator via cfe-commits
v.g.vassilev closed this revision. v.g.vassilev added a comment. r305120. https://reviews.llvm.org/D29951 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D33930: Do not pick up by default the LLVM style if passing -format

2017-06-09 Thread Vassil Vassilev via Phabricator via cfe-commits
v.g.vassilev closed this revision. v.g.vassilev added a comment. Changing the default of clang-apply-replacements makes sense to me. This one landed in r305125. https://reviews.llvm.org/D33930 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[PATCH] D33467: Fix LLVM build errors if necent build of GCC 7 is used

2017-06-13 Thread Vassil Vassilev via Phabricator via cfe-commits
v.g.vassilev added a comment. Waiting on resolution to: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79162 Repository: rL LLVM https://reviews.llvm.org/D33467 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/m

[PATCH] D34182: [analyzer] Performance optimizations for the CloneChecker

2017-06-14 Thread Vassil Vassilev via Phabricator via cfe-commits
v.g.vassilev added inline comments. Comment at: include/clang/Analysis/CloneDetection.h:263 +public: + void constrain(std::vector &Sequences); +}; Could we typedef `std::vector` into `CloneDetector::CloneGroups`? https://reviews.llvm.org/D34182 ___

[PATCH] D31320: [analyzer] Teach CloneDetection about Qt Meta-Object Compiler

2017-06-15 Thread Vassil Vassilev via Phabricator via cfe-commits
v.g.vassilev added a comment. I agree with Raphael. If you need to have more fine grained control over the translation unit (TU) I think we can have suppressing false positives via comments (@Noq would know more). Eg. // File.h defining moc_* yields a lot of false positives // alpha.clo

[PATCH] D29951: Load lazily the template specialization in multi-module setups.

2017-06-15 Thread Vassil Vassilev via Phabricator via cfe-commits
v.g.vassilev added a comment. Reverted in r305460 because broke libcxx modules builds. https://reviews.llvm.org/D29951 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D33383: [GSoC] Flag value completion for clang

2017-06-16 Thread Vassil Vassilev via Phabricator via cfe-commits
v.g.vassilev added inline comments. Comment at: clang/include/clang/Driver/Options.td:2198 def stdlib_EQ : Joined<["-", "--"], "stdlib=">, Flags<[CC1Option]>, - HelpText<"C++ standard library to use">; + HelpText<"C++ standard library to use">, Values<"libc++,libstdc++,platfor

[PATCH] D31320: [analyzer] Teach CloneDetection about Qt Meta-Object Compiler

2017-06-19 Thread Vassil Vassilev via Phabricator via cfe-commits
v.g.vassilev added inline comments. Comment at: cfe/trunk/include/clang/Analysis/CloneDetection.h:324 +struct AutoGeneratedCloneConstraint { + StringRef IgnoredFilesPattern; Shouldn't the name be more generic. What this essentially does is to filter out false

[PATCH] D33383: [GSoC] Flag value completion for clang

2017-06-19 Thread Vassil Vassilev via Phabricator via cfe-commits
v.g.vassilev accepted this revision. v.g.vassilev added a comment. This revision is now accepted and ready to land. LGTM. My comments can be addressed in a separate patch. Comment at: clang/include/clang/Driver/Options.td:496 def cl_std_EQ : Joined<["-"], "cl-std=">, Group, F

[PATCH] D31187: Fix removal of out-of-line definitions.

2017-06-20 Thread Vassil Vassilev via Phabricator via cfe-commits
v.g.vassilev closed this revision. v.g.vassilev added a comment. Landed in r305799. I would like to test it and I think that should be possible as soon as I land some interpreter infrastructure which is on my TODO list. https://reviews.llvm.org/D31187

[PATCH] D34444: Teach codegen to work in incremental processing mode.

2017-06-21 Thread Vassil Vassilev via Phabricator via cfe-commits
v.g.vassilev created this revision. When `isIncrementalProcessingEnabled` is on we might call multiple times `HandleEndOfTranslationUnit`. This would complete the `llvm::Module` CodeGen is writing to. This patch allows the clients to start a new `llvm::Module`, allowing CodeGen to continue wri

[PATCH] D34444: Teach codegen to work in incremental processing mode.

2017-06-21 Thread Vassil Vassilev via Phabricator via cfe-commits
v.g.vassilev updated this revision to Diff 103360. v.g.vassilev added a comment. Fix compilation issue. https://reviews.llvm.org/D3 Files: include/clang/CodeGen/ModuleBuilder.h lib/CodeGen/ModuleBuilder.cpp Index: lib/CodeGen/ModuleBuilder.cpp =

[PATCH] D34444: Teach codegen to work in incremental processing mode.

2017-06-22 Thread Vassil Vassilev via Phabricator via cfe-commits
v.g.vassilev updated this revision to Diff 103560. v.g.vassilev added a comment. Herald added a subscriber: mgorny. Add a test. Patch by Axel Naumann! https://reviews.llvm.org/D3 Files: lib/CodeGen/CGDeclCXX.cpp unittests/CodeGen/CMakeLists.txt unittests/CodeGen/IncrementalProcessing

[PATCH] D34510: Teach clang how to merge typedef over anonymous structs in C mode.

2017-06-22 Thread Vassil Vassilev via Phabricator via cfe-commits
v.g.vassilev created this revision. empty.h makes module A available. textual.h brings the definition of __fsid_t and a.h imports again the definition of __fsid_t. In C mode clang fails to merge the textually included definition with the one imported from a module. The C lookup rules fail to fi

[PATCH] D34444: Teach codegen to work in incremental processing mode.

2017-06-22 Thread Vassil Vassilev via Phabricator via cfe-commits
v.g.vassilev updated this revision to Diff 103565. v.g.vassilev added a comment. Bring back the initial state of this patch. I accidentally uploaded a wrong patch here, instead of its dependee... https://reviews.llvm.org/D3 Files: include/clang/CodeGen/ModuleBuilder.h lib/CodeGen/Modul

[PATCH] D34059: Get the file name for the symbol from the Module, not the SourceManager.

2017-06-22 Thread Vassil Vassilev via Phabricator via cfe-commits
v.g.vassilev updated this revision to Diff 103566. v.g.vassilev added a comment. Herald added a subscriber: mgorny. Add a test case. https://reviews.llvm.org/D34059 Files: lib/CodeGen/CGDeclCXX.cpp unittests/CodeGen/CMakeLists.txt unittests/CodeGen/IncrementalProcessingTest.cpp Index: un

[PATCH] D34059: Get the file name for the symbol from the Module, not the SourceManager.

2017-06-22 Thread Vassil Vassilev via Phabricator via cfe-commits
v.g.vassilev updated this revision to Diff 103572. v.g.vassilev added a comment. Update test file comment. https://reviews.llvm.org/D34059 Files: lib/CodeGen/CGDeclCXX.cpp unittests/CodeGen/CMakeLists.txt unittests/CodeGen/IncrementalProcessingTest.cpp Index: unittests/CodeGen/Incrementa

[PATCH] D40901: Refactor lazy loading of template specializations. NFC

2017-12-14 Thread Vassil Vassilev via Phabricator via cfe-commits
v.g.vassilev closed this revision. v.g.vassilev added a comment. Thanks! Landed in r320763. https://reviews.llvm.org/D40901 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D41416: [modules] [pch] Do not deserialize all lazy template specializations when looking for one.

2017-12-19 Thread Vassil Vassilev via Phabricator via cfe-commits
v.g.vassilev created this revision. v.g.vassilev added reviewers: rsmith, bruno. Currently, we load all lazy template specializations when we search whether there is a suitable template specialization for a template. This is especially suboptimal with modules. If module `B` specializes a templat

[PATCH] D41416: [modules] [pch] Do not deserialize all lazy template specializations when looking for one.

2017-12-19 Thread Vassil Vassilev via Phabricator via cfe-commits
v.g.vassilev updated this revision to Diff 127606. v.g.vassilev added a reviewer: rtrieu. v.g.vassilev added a comment. Fixed a comment typo. Repository: rL LLVM https://reviews.llvm.org/D41416 Files: include/clang/AST/DeclTemplate.h lib/AST/DeclTemplate.cpp lib/Serialization/ASTReader

[PATCH] D41416: [modules] [pch] Do not deserialize all lazy template specializations when looking for one.

2018-01-02 Thread Vassil Vassilev via Phabricator via cfe-commits
v.g.vassilev updated this revision to Diff 128460. v.g.vassilev marked 2 inline comments as done. v.g.vassilev added a comment. Address inline comments: order the read operations. https://reviews.llvm.org/D41416 Files: include/clang/AST/DeclTemplate.h lib/AST/DeclTemplate.cpp lib/Serializ

[PATCH] D41416: [modules] [pch] Do not deserialize all lazy template specializations when looking for one.

2018-01-02 Thread Vassil Vassilev via Phabricator via cfe-commits
v.g.vassilev updated this revision to Diff 128465. v.g.vassilev added a comment. Teach `ASTReader::CompleteRedeclChain` to load only the template specializations with the same template argument list. https://reviews.llvm.org/D41416 Files: include/clang/AST/DeclTemplate.h lib/AST/DeclTempla

[PATCH] D41416: [modules] [pch] Do not deserialize all lazy template specializations when looking for one.

2018-01-02 Thread Vassil Vassilev via Phabricator via cfe-commits
v.g.vassilev added inline comments. Comment at: lib/Serialization/ASTReaderDecl.cpp:92 for (unsigned I = 0, Size = Record.readInt(); I != Size; ++I) -IDs.push_back(ReadDeclID()); +IDs.push_back(LazySpecializationInfo(ReadDeclID(), Record.readInt())); }

[PATCH] D41416: [modules] [pch] Do not deserialize all lazy template specializations when looking for one.

2018-01-03 Thread Vassil Vassilev via Phabricator via cfe-commits
v.g.vassilev updated this revision to Diff 128575. v.g.vassilev marked 4 inline comments as done. v.g.vassilev added a comment. Address comments: - Fix style; - Do not potentially deserialize a specialization in debug mode. https://reviews.llvm.org/D41416 Files: include/clang/AST/DeclTemplat

[PATCH] D41416: [modules] [pch] Do not deserialize all lazy template specializations when looking for one.

2018-01-04 Thread Vassil Vassilev via Phabricator via cfe-commits
v.g.vassilev updated this revision to Diff 128645. v.g.vassilev added a comment. Loading of lazy partial template specializations should not trigger loading of full template specializations. Often during selection process we need to load all partial template specializations. It is very rare to

[PATCH] D41416: [modules] [pch] Do not deserialize all lazy template specializations when looking for one.

2018-01-04 Thread Vassil Vassilev via Phabricator via cfe-commits
v.g.vassilev added a comment. I have created a simple (-ish) benchmark targeted to stress test modules with a good number of template specializations. I use the mp11 library from boost. I am building two modules which contain around 1K specializations (mostly

[PATCH] D41416: [modules] [pch] Do not deserialize all lazy template specializations when looking for one.

2018-01-04 Thread Vassil Vassilev via Phabricator via cfe-commits
v.g.vassilev updated this revision to Diff 128655. v.g.vassilev added a comment. Zero `IsPartial` and improve comments in assert and free text. https://reviews.llvm.org/D41416 Files: include/clang/AST/DeclTemplate.h lib/AST/DeclTemplate.cpp lib/Serialization/ASTReader.cpp lib/Serializat

[PATCH] D41416: [modules] [pch] Do not deserialize all lazy template specializations when looking for one.

2018-01-04 Thread Vassil Vassilev via Phabricator via cfe-commits
v.g.vassilev updated this revision to Diff 128657. v.g.vassilev added a comment. Reverse template specialization order. https://reviews.llvm.org/D41416 Files: include/clang/AST/DeclTemplate.h lib/AST/DeclTemplate.cpp lib/Serialization/ASTReader.cpp lib/Serialization/ASTReaderDecl.cpp

[PATCH] D41733: [Driver] Suggest correctly spelled driver options

2018-01-05 Thread Vassil Vassilev via Phabricator via cfe-commits
v.g.vassilev added inline comments. Comment at: test/Frontend/unknown-arg.c:3 +// RUN: FileCheck %s +// RUN: not %clang_cc1 %s --hel[ -### 2>&1 | \ +// RUN: FileCheck %s --check-prefix=DID-YOU-MEAN Could we also make sure that things passed with `-Xclang` are als

[PATCH] D41785: Print the qualified name when dumping deserialized decls.

2018-01-05 Thread Vassil Vassilev via Phabricator via cfe-commits
v.g.vassilev created this revision. v.g.vassilev added a reviewer: rsmith. This is very useful to understand and debug the lazy template specializations used in pch and modules. Repository: rC Clang https://reviews.llvm.org/D41785 Files: lib/Frontend/FrontendAction.cpp Index: lib/Fronte

[PATCH] D41416: [modules] [pch] Do not deserialize all lazy template specializations when looking for one.

2018-01-05 Thread Vassil Vassilev via Phabricator via cfe-commits
v.g.vassilev updated this revision to Diff 128797. v.g.vassilev added a comment. Reduce hash collisions for template specializations. Currently when we hash a tag type the visitor calls `ODRHash::AddDecl` which mostly relies on the decl name give distinct hash value. The types coming from templ

[PATCH] D41416: [modules] [pch] Do not deserialize all lazy template specializations when looking for one.

2018-01-05 Thread Vassil Vassilev via Phabricator via cfe-commits
v.g.vassilev updated this revision to Diff 128802. v.g.vassilev added a comment. Reduce further the deserializations from 451 to 449 by providing a more complete implementation of `ODRHash::AddTemplateArgument`. Kudos @rtrieu! https://reviews.llvm.org/D41416 Files: include/clang/AST/DeclTem

[PATCH] D41416: [modules] [pch] Do not deserialize all lazy template specializations when looking for one.

2018-01-05 Thread Vassil Vassilev via Phabricator via cfe-commits
v.g.vassilev added a comment. Finer grained clang stats can be seen here . https://reviews.llvm.org/D41416 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/

[PATCH] D41867: [Frontend] Remove unused FileMgr in pp arg parse

2018-01-09 Thread Vassil Vassilev via Phabricator via cfe-commits
v.g.vassilev accepted this revision. v.g.vassilev added a comment. This revision is now accepted and ready to land. LGTM! Repository: rC Clang https://reviews.llvm.org/D41867 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.ll

[PATCH] D41912: [Driver] Test for correct '--version' suggestion

2018-01-10 Thread Vassil Vassilev via Phabricator via cfe-commits
v.g.vassilev accepted this revision. v.g.vassilev added a comment. This revision is now accepted and ready to land. LGMT! We can rely on post-commit reviews for changes like this one. Repository: rC Clang https://reviews.llvm.org/D41912 ___ cfe-c

[PATCH] D41416: [modules] [pch] Do not deserialize all lazy template specializations when looking for one.

2018-03-10 Thread Vassil Vassilev via Phabricator via cfe-commits
v.g.vassilev updated this revision to Diff 137902. v.g.vassilev added a comment. Add sanity check. We assert that the ODR hash of the template arguments should be the same as the one for from the actually found template specialization. This way we managed to catch a few collisions in the ODRHas

[PATCH] D40731: Integrate CHash into CLang

2018-03-10 Thread Vassil Vassilev via Phabricator via cfe-commits
v.g.vassilev added a comment. I am not sure if this is the right time but maybe testing and comparing the behavior of this patch against something such as the ODRHash will help you, me (and probably others) to understand the current patch better. In https://reviews.llvm.org/D41416, I started wo

[PATCH] D44435: Add the module name to __cuda_module_ctor and __cuda_module_dtor for unique function names

2018-03-14 Thread Vassil Vassilev via Phabricator via cfe-commits
v.g.vassilev added inline comments. Comment at: lib/CodeGen/CGCUDANV.cpp:281 + // get name from the module to generate unique ctor name for every module + SmallString<128> ModuleName rjmccall wrote: > SimeonEhrig wrote: > > tra wrote: > > > SimeonEhrig wrote:

[PATCH] D48524: [ODRHash] Do not put elaborated types in the TypeMap

2018-06-23 Thread Vassil Vassilev via Phabricator via cfe-commits
v.g.vassilev created this revision. v.g.vassilev added reviewers: rsmith, rtrieu, bruno. Herald added a subscriber: cfe-commits. r332281 (https://reviews.llvm.org/D45463) teaches the ASTContext to generate different elaborated types if there is an owning tag. This exposed a bug with our odr hash

[PATCH] D53925: [modules] Defer emission of inline key functions.

2018-10-31 Thread Vassil Vassilev via Phabricator via cfe-commits
v.g.vassilev created this revision. v.g.vassilev added reviewers: rsmith, bruno. Herald added a subscriber: cfe-commits. If the ABI supports inline key functions we must emit them eagerly. The generic reason is that CodeGen might assume they are emitted and generate a reference to the vtable. In

[PATCH] D53925: [modules] Defer emission of inline key functions.

2018-10-31 Thread Vassil Vassilev via Phabricator via cfe-commits
v.g.vassilev added a comment. @rsmith, @bruno could you verify this patch on your codebases? Repository: rC Clang https://reviews.llvm.org/D53925 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listin

[PATCH] D54097: Save memory in ASTReader by using DenseMap instead of vector

2018-11-17 Thread Vassil Vassilev via Phabricator via cfe-commits
v.g.vassilev added a comment. Ping... https://reviews.llvm.org/D54097 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D43871: [modules] No longer include stdlib.h from mm_malloc.h.

2018-11-20 Thread Vassil Vassilev via Phabricator via cfe-commits
v.g.vassilev added a comment. ping... https://reviews.llvm.org/D43871 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D35559: [CMake][Modules] Tweak Modules-unfriendly builds

2018-11-20 Thread Vassil Vassilev via Phabricator via cfe-commits
v.g.vassilev added a comment. Is this change still relevant? Repository: rL LLVM https://reviews.llvm.org/D35559 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D54880: Ignore gcc's stack-clash-protection flag

2018-11-25 Thread Vassil Vassilev via Phabricator via cfe-commits
v.g.vassilev created this revision. v.g.vassilev added reviewers: rsmith, bruno. Patch by Mattias Ellert! Repository: rC Clang https://reviews.llvm.org/D54880 Files: include/clang/Driver/Options.td Index: include/clang/Driver/Options.td ===

[PATCH] D16761: clang-cl: Support loading plugins on Windows

2019-03-24 Thread Vassil Vassilev via Phabricator via cfe-commits
v.g.vassilev added subscribers: chapuni, v.g.vassilev. v.g.vassilev added a comment. @chapuni, you have reverted this patch and the commit message says "investigating". Did you come to a conclusion? Can we reland it? CHANGES SINCE LAST ACTION https://reviews.llvm.org/D16761/new/ https://revi

[PATCH] D16761: clang-cl: Support loading plugins on Windows

2019-03-25 Thread Vassil Vassilev via Phabricator via cfe-commits
v.g.vassilev added a comment. Indeed. IIUC, here is no way clang-cl to load plugins if compiled BUILD_SHARED_LIB=0. It is not clear to me if that's a design limitation or something else. I'd love to be able to load plugins on a 'standard' clang-cl instance. CHANGES SINCE LAST ACTION https:/

[PATCH] D34444: Teach codegen to work in incremental processing mode.

2017-08-27 Thread Vassil Vassilev via Phabricator via cfe-commits
v.g.vassilev updated this revision to Diff 112812. v.g.vassilev marked an inline comment as done. v.g.vassilev added a comment. std::string& -> llvm::StringRef. https://reviews.llvm.org/D3 Files: include/clang/CodeGen/ModuleBuilder.h lib/CodeGen/ModuleBuilder.cpp Index: lib/CodeGen/Mo

[PATCH] D34444: Teach codegen to work in incremental processing mode.

2017-08-27 Thread Vassil Vassilev via Phabricator via cfe-commits
v.g.vassilev updated this revision to Diff 112813. v.g.vassilev added a comment. Type& name -> Type &name. https://reviews.llvm.org/D3 Files: include/clang/CodeGen/ModuleBuilder.h lib/CodeGen/ModuleBuilder.cpp Index: lib/CodeGen/ModuleBuilder.cpp ==

[PATCH] D34444: Teach codegen to work in incremental processing mode.

2017-08-27 Thread Vassil Vassilev via Phabricator via cfe-commits
v.g.vassilev added a comment. A version of this landed in r311843. I am keeping in mind this discussion and I'd like to follow up with @rjmccall once I open the more major review item (libInterpreter). https://reviews.llvm.org/D3 ___ cfe-commi

[PATCH] D34059: Get the file name for the symbol from the Module, not the SourceManager.

2017-08-27 Thread Vassil Vassilev via Phabricator via cfe-commits
v.g.vassilev closed this revision. v.g.vassilev added a comment. Landed in r311844. https://reviews.llvm.org/D34059 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D36820: [Bash-autocompletion] Add support for -std=

2017-08-27 Thread Vassil Vassilev via Phabricator via cfe-commits
v.g.vassilev accepted this revision. v.g.vassilev added a comment. LGTM +ping! https://reviews.llvm.org/D36820 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D37180: [modules] Add test for using declaration in classes.

2017-08-27 Thread Vassil Vassilev via Phabricator via cfe-commits
v.g.vassilev accepted this revision. v.g.vassilev added a comment. This revision is now accepted and ready to land. LGTM! I'd reword the commit message, saying that we intended to add a fast path in `DeclContext::removeDecl` which checks if the decl is hidden to avoid addition in the lookup tabl

[PATCH] D34912: Handle cases where the value is too large to fit into the underlying type.

2017-08-27 Thread Vassil Vassilev via Phabricator via cfe-commits
v.g.vassilev added a comment. ping... https://reviews.llvm.org/D34912 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D34912: Handle cases where the value is too large to fit into the underlying type.

2017-08-27 Thread Vassil Vassilev via Phabricator via cfe-commits
v.g.vassilev added a comment. Sorry, undo ping... we have a test case. https://reviews.llvm.org/D34912 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D34912: Handle cases where the value is too large to fit into the underlying type.

2017-08-27 Thread Vassil Vassilev via Phabricator via cfe-commits
v.g.vassilev added a comment. @rsmith ping... https://reviews.llvm.org/D34912 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D22638: Module: add debug_type to dump debugging messages related to modules being out of date

2017-08-27 Thread Vassil Vassilev via Phabricator via cfe-commits
v.g.vassilev added a comment. @bruno, what's the fate of this? https://reviews.llvm.org/D22638 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D34984: Store token literal data in PCH. Avoids disk read on PreProc expansion.

2017-08-27 Thread Vassil Vassilev via Phabricator via cfe-commits
v.g.vassilev updated this revision to Diff 112835. v.g.vassilev added a comment. Add a test case. https://reviews.llvm.org/D34984 Files: include/clang/Serialization/ASTReader.h lib/Serialization/ASTReader.cpp lib/Serialization/ASTWriter.cpp test/PCH/token-literal-data.c Index: test/PC

[PATCH] D37416: Use the VFS from the CompilerInvocation by default

2017-09-04 Thread Vassil Vassilev via Phabricator via cfe-commits
v.g.vassilev added a comment. You should probably update the code creating the vfs before the call to `createFileManager` in `lib/Frontend/FrontendAction.cpp`. Repository: rL LLVM https://reviews.llvm.org/D37416 ___ cfe-commits mailing list cfe-

[PATCH] D37416: Use the VFS from the CompilerInvocation by default

2017-09-11 Thread Vassil Vassilev via Phabricator via cfe-commits
v.g.vassilev accepted this revision. v.g.vassilev added a comment. This revision is now accepted and ready to land. This patch can rely on a post commit review if necessary. https://reviews.llvm.org/D37416 ___ cfe-commits mailing list cfe-commits@li

[PATCH] D62293: [modules] Add PP callbacks for entering and leaving a submodule.

2019-06-27 Thread Vassil Vassilev via Phabricator via cfe-commits
v.g.vassilev updated this revision to Diff 206887. v.g.vassilev marked an inline comment as done. v.g.vassilev added a comment. Add comments, add missing callbacks. Thanks Richard! Repository: rC Clang CHANGES SINCE LAST ACTION https://reviews.llvm.org/D62293/new/ https://reviews.llvm.org/

[PATCH] D62293: [modules] Add PP callbacks for entering and leaving a submodule.

2019-07-04 Thread Vassil Vassilev via Phabricator via cfe-commits
v.g.vassilev closed this revision. v.g.vassilev added a comment. Herald added subscribers: wuzish, MaskRay. r365153. Repository: rC Clang CHANGES SINCE LAST ACTION https://reviews.llvm.org/D62293/new/ https://reviews.llvm.org/D62293 ___ cfe-co

[PATCH] D62293: [modules] Add PP callbacks for entering and leaving a submodule.

2019-05-23 Thread Vassil Vassilev via Phabricator via cfe-commits
v.g.vassilev created this revision. v.g.vassilev added reviewers: rsmith, bruno. Herald added subscribers: jsji, dexonsmith, kbarton, nemanjai. Herald added a project: clang. Our usecase is that we would like to support making some modules visible (without corresponding #includes) while building

[PATCH] D48524: [ODRHash] Rip out the registration of Type* in TypeMap

2018-06-27 Thread Vassil Vassilev via Phabricator via cfe-commits
v.g.vassilev updated this revision to Diff 153086. v.g.vassilev retitled this revision from "[ODRHash] Do not put elaborated types in the TypeMap" to "[ODRHash] Rip out the registration of Type* in TypeMap". v.g.vassilev added a comment. Remove the TypeMap https://reviews.llvm.org/D48524 Files

[PATCH] D48524: [ODRHash] Rip out the registration of Type* in TypeMap

2018-06-27 Thread Vassil Vassilev via Phabricator via cfe-commits
v.g.vassilev added a comment. @rtrieu, your comment was along the lines of what I was thinking of. I have updated the patch. Without testing it on large scale, I the current change seems to work for us. https://reviews.llvm.org/D48524 ___ cfe-comm

[PATCH] D47118: [modules] Print input files when -module-file-info file switch is passed.

2018-06-28 Thread Vassil Vassilev via Phabricator via cfe-commits
v.g.vassilev added a comment. It looks like the diagnostic options and few others were moved out from the control block in r297655 by Manman Ren. The header files are still part of the control block. The best I can do is buffer that information and print it out last. Is that what we want? Rep

[PATCH] D83174: Teach AttachPreviousImpl to inherit MSInheritanceAttr attribute

2020-07-16 Thread Vassil Vassilev via Phabricator via cfe-commits
v.g.vassilev removed a reviewer: aaron.ballman. v.g.vassilev added a comment. >> Also, I would like to add that the current test present in this diff does >> not fail in the existing system but it was the best I and Vassil could come >> up with to replicate our problem. > > Is there a way to

[PATCH] D82169: Don't install clang-import-test

2020-06-22 Thread Vassil Vassilev via Phabricator via cfe-commits
v.g.vassilev accepted this revision. v.g.vassilev added a comment. This revision is now accepted and ready to land. Makes sense to me! Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D82169/new/ https://reviews.llvm.org/D82169 _

[PATCH] D81077: If the identifier is unknown, return false.

2020-06-22 Thread Vassil Vassilev via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG46ea465b5b74: Return false if the identifier is not in the global module index. (authored by v.g.vassilev). Herald added a project: clang. Herald added a subscriber: cfe-commits. Changed prior to commit:

[PATCH] D79290: Update suffix check and cast non-suffix types

2020-05-02 Thread Vassil Vassilev via Phabricator via cfe-commits
v.g.vassilev added a comment. @hubert.reinterpretcast, this patch is part of our internal forks which we would like to put upstream. The author of the previous patch does not have bandwidth to work on it and @reikdas kindly volunteered to take over. I can close the previous one if that's prefer

[PATCH] D40901: Refactor lazy loading of template specializations. NFC

2017-12-06 Thread Vassil Vassilev via Phabricator via cfe-commits
v.g.vassilev created this revision. Unify the loading of lazy template specializations across class, function and variable templates. Repository: rL LLVM https://reviews.llvm.org/D40901 Files: include/clang/AST/DeclTemplate.h lib/AST/DeclTemplate.cpp Index: lib/AST/DeclTemplate.cpp =

[PATCH] D40901: Refactor lazy loading of template specializations. NFC

2017-12-06 Thread Vassil Vassilev via Phabricator via cfe-commits
v.g.vassilev updated this revision to Diff 125738. v.g.vassilev added a comment. Fix preexisting comment typo. https://reviews.llvm.org/D40901 Files: include/clang/AST/DeclTemplate.h lib/AST/DeclTemplate.cpp Index: lib/AST/DeclTemplate.cpp ==

[PATCH] D127284: [clang-repl] Support statements on global scope in incremental mode.

2022-09-01 Thread Vassil Vassilev via Phabricator via cfe-commits
v.g.vassilev added a reviewer: aaron.ballman. v.g.vassilev added a comment. Adding Aaron as a reviewer who hopefully could speed up the review. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D127284/new/ https://reviews.llvm.org/D127284 ___ cfe

[PATCH] D127284: [clang-repl] Support statements on global scope in incremental mode.

2022-09-03 Thread Vassil Vassilev via Phabricator via cfe-commits
v.g.vassilev updated this revision to Diff 457830. v.g.vassilev marked 9 inline comments as done. v.g.vassilev added a comment. Address review comments CHANGES SINCE LAST ACTION https://reviews.llvm.org/D127284/new/ https://reviews.llvm.org/D127284 Files: clang/include/clang/AST/ASTConsume

[PATCH] D127284: [clang-repl] Support statements on global scope in incremental mode.

2022-09-03 Thread Vassil Vassilev via Phabricator via cfe-commits
v.g.vassilev added a subscriber: sunho. v.g.vassilev added inline comments. Comment at: clang/include/clang/AST/ASTConsumer.h:54-59 + /// HandleTopLevelStmts - Handle the specified top-level statements. This is + /// called by the parser to process every top-level Stmt* in incr

[PATCH] D34444: Teach codegen to work in incremental processing mode.

2022-06-27 Thread Vassil Vassilev via Phabricator via cfe-commits
v.g.vassilev abandoned this revision. v.g.vassilev added a comment. Herald added a project: All. This landed slightly modified here: https://github.com/llvm/llvm-project/commit/4d54e543abd5d0a8b0a321f8c292252f4895693a CHANGES SINCE LAST ACTION https://reviews.llvm.org/D3/new/ https://rev

[PATCH] D128319: Survive #pragma once from virtual file.

2022-06-28 Thread Vassil Vassilev via Phabricator via cfe-commits
v.g.vassilev added a comment. Historically, the patch was developed before the extended support of virtual files in Clang. Given that this is very hard to test and it looks like this is not needed on our end anymore. I'd propose to pause this for now. Repository: rG LLVM Github Monorepo CHA

[PATCH] D128853: [Interpreter] Pass target features to JIT

2022-06-29 Thread Vassil Vassilev via Phabricator via cfe-commits
v.g.vassilev added a comment. Looks good to me but can we add a test? Do we have builders with that target? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D128853/new/ https://reviews.llvm.org/D128853 ___

[PATCH] D128853: [Interpreter] Pass target features to JIT

2022-06-29 Thread Vassil Vassilev via Phabricator via cfe-commits
v.g.vassilev accepted this revision. v.g.vassilev added a comment. This revision is now accepted and ready to land. Thanks for the clarification! LGTM. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D128853/new/ https://reviews.llvm.org/D128853

[PATCH] D128782: [CodeGen] Keep track of decls that were deferred and have been emitted.

2022-07-02 Thread Vassil Vassilev via Phabricator via cfe-commits
v.g.vassilev added reviewers: rsmith, rjmccall. v.g.vassilev added a subscriber: rjmccall. v.g.vassilev added a comment. I am adding some more reviewers as I think this patch is ready to go. @rjmccall, could you take a look? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION htt

[PATCH] D129042: Reland "[NFC] Add a missing test for for clang-repl"

2022-07-03 Thread Vassil Vassilev via Phabricator via cfe-commits
v.g.vassilev accepted this revision. v.g.vassilev added a comment. This revision is now accepted and ready to land. Let's move forward and we can remove the XFAIL once https://reviews.llvm.org/D128968 lands. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llv

[PATCH] D126266: Mark the file entry invalid, until reread. Invalidate SLocEntry cache, readd it on reread. Do not use translateFile, because it pulls in parts of the pch.

2022-07-06 Thread Vassil Vassilev via Phabricator via cfe-commits
v.g.vassilev added a comment. In D126266#3629145 , @vsapsai wrote: > Hmm, I'm concerned with the pieces added purely for testing. Specifically, > `FileEntriesToReread` and TestHelper friend functions. Need to think how else > we can test it. I am not t

[PATCH] D129250: [clang-repl][NFC] Split weak symbol test to a new test

2022-07-07 Thread Vassil Vassilev via Phabricator via cfe-commits
v.g.vassilev accepted this revision. v.g.vassilev added a comment. This revision is now accepted and ready to land. LGTM! Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D129250/new/ https://reviews.llvm.org/D129250 __

  1   2   3   4   5   6   7   >