Page MenuHomePhabricator

v.g.vassilev (Vassil Vassilev)
User

Projects

User does not belong to any projects.

User Details

User Since
Apr 21 2016, 7:16 AM (168 w, 6 d)

Recent Activity

Yesterday

v.g.vassilev added a comment to D42026: Allow the llvm bindings to be disabled.

Thanks!

Tue, Jul 16, 6:23 AM · Restricted Project

Thu, Jul 4

v.g.vassilev committed rG16de81c15850: [modules] Add PP callbacks for entering and leaving a submodule. (authored by v.g.vassilev).
[modules] Add PP callbacks for entering and leaving a submodule.
Thu, Jul 4, 12:08 PM
v.g.vassilev closed D62293: [modules] Add PP callbacks for entering and leaving a submodule..

r365153.

Thu, Jul 4, 12:08 PM · Restricted Project

Thu, Jun 27

v.g.vassilev updated the diff for D62293: [modules] Add PP callbacks for entering and leaving a submodule..

Add comments, add missing callbacks. Thanks Richard!

Thu, Jun 27, 12:59 PM · Restricted Project

May 23 2019

v.g.vassilev created D62293: [modules] Add PP callbacks for entering and leaving a submodule..
May 23 2019, 2:08 AM · Restricted Project

Mar 25 2019

v.g.vassilev added a comment to D16761: clang-cl: Support loading plugins on Windows.

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.

Mar 25 2019, 5:23 AM

Mar 24 2019

v.g.vassilev updated subscribers of D16761: clang-cl: Support loading plugins on Windows.

@chapuni, you have reverted this patch and the commit message says "investigating". Did you come to a conclusion? Can we reland it?

Mar 24 2019, 1:46 PM

Nov 25 2018

v.g.vassilev created D54880: Ignore gcc's stack-clash-protection flag.
Nov 25 2018, 1:03 PM · Restricted Project

Nov 20 2018

v.g.vassilev added a comment to D35559: [CMake][Modules] Tweak Modules-unfriendly builds.

Is this change still relevant?

Nov 20 2018, 2:01 AM
v.g.vassilev added a comment to D43871: [modules] No longer include stdlib.h from mm_malloc.h..

ping...

Nov 20 2018, 1:59 AM

Nov 17 2018

v.g.vassilev added a comment to D54097: Save memory in ASTReader by using DenseMap instead of vector.

Ping...

Nov 17 2018, 1:13 PM

Oct 31 2018

v.g.vassilev added a reviewer for D53925: [modules] Defer emission of inline key functions.: rjmccall.
Oct 31 2018, 3:48 AM
v.g.vassilev added a comment to D53925: [modules] Defer emission of inline key functions..

@rsmith, @bruno could you verify this patch on your codebases?

Oct 31 2018, 3:47 AM
v.g.vassilev created D53925: [modules] Defer emission of inline key functions..
Oct 31 2018, 3:47 AM

Aug 27 2018

v.g.vassilev updated the diff for D51295: Allow resetting of NumCreatedFIDsForFileID.

Add parens.

Aug 27 2018, 5:35 AM
v.g.vassilev created D51295: Allow resetting of NumCreatedFIDsForFileID.
Aug 27 2018, 4:48 AM

Jun 28 2018

v.g.vassilev added a comment to D47118: [modules] Print input files when -module-file-info file switch is passed..

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?

Jun 28 2018, 8:30 AM
v.g.vassilev retitled D48524: [ODRHash] Do not rely on Type* when computing the hash. from [ODRHash] Rip out the registration of Type* in TypeMap to [ODRHash] Do not rely on Type* when computing the hash..
Jun 28 2018, 12:51 AM

Jun 27 2018

v.g.vassilev added a comment to D48524: [ODRHash] Do not rely on Type* when computing the hash..

@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.

Jun 27 2018, 7:30 AM
v.g.vassilev updated the diff for D48524: [ODRHash] Do not rely on Type* when computing the hash..

Remove the TypeMap

Jun 27 2018, 7:29 AM

Jun 23 2018

v.g.vassilev created D48524: [ODRHash] Do not rely on Type* when computing the hash..
Jun 23 2018, 2:26 PM

May 22 2018

v.g.vassilev accepted D47247: Fix unaligned memory access when reading INPUT_FILE_OFFSETS data.

LGTM!

May 22 2018, 11:55 PM

May 20 2018

v.g.vassilev created D47118: [modules] Print input files when -module-file-info file switch is passed..
May 20 2018, 8:04 AM
v.g.vassilev added a comment to D42026: Allow the llvm bindings to be disabled.

r332816.

May 20 2018, 1:43 AM · Restricted Project

Apr 19 2018

v.g.vassilev added reviewers for D37475: Make MultiplexASTDeserializationListener part of the API [NFC]: v.g.vassilev, rsmith, bruno.
Apr 19 2018, 1:56 AM

Apr 11 2018

v.g.vassilev added inline comments to D43871: [modules] No longer include stdlib.h from mm_malloc.h..
Apr 11 2018, 12:35 AM

Mar 24 2018

v.g.vassilev abandoned D43696: Reduce hash collisions for reference and pointer types.

Ok, that's great! Sorry for the delay and thanks for landing a similar patch. Btw, we should probably find a more terse way to test the ODRHash, eg. with unittests.

Mar 24 2018, 2:55 PM

Mar 14 2018

v.g.vassilev added inline comments to D44435: CUDA ctor/dtor Module-Unique Symbol Name.
Mar 14 2018, 2:35 PM

Mar 10 2018

v.g.vassilev added a comment to D40731: Integrate CHash into CLang.

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.

Mar 10 2018, 2:41 AM
v.g.vassilev updated the diff for D41416: [modules] [pch] Do not deserialize all lazy template specializations when looking for one..

Add sanity check.

Mar 10 2018, 2:31 AM

Feb 24 2018

v.g.vassilev added inline comments to D43696: Reduce hash collisions for reference and pointer types.
Feb 24 2018, 2:36 AM

Feb 23 2018

v.g.vassilev created D43696: Reduce hash collisions for reference and pointer types.
Feb 23 2018, 2:15 PM
v.g.vassilev added a comment to D42026: Allow the llvm bindings to be disabled.

Reading back the patch, we are turning on the bindings by default ;)

Feb 23 2018, 2:02 PM · Restricted Project
v.g.vassilev added a comment to D37797: Fix crash in Sema when wrongly assuming VarDecl init is not value dependent..

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.

Feb 23 2018, 2:00 PM
v.g.vassilev updated subscribers of D32111: [modules] Attempt to fix PR31905 - #include "stddef.h" breaks module map search paths; causes redefinitions..
Feb 23 2018, 1:52 PM

Feb 21 2018

v.g.vassilev added a comment to D42026: Allow the llvm bindings to be disabled.

ping...

Feb 21 2018, 2:17 AM · Restricted Project
v.g.vassilev added a comment to D34464: lit: Make sure testnames are unicode strings.

ping2...

Feb 21 2018, 2:02 AM

Jan 13 2018

v.g.vassilev created D42026: Allow the llvm bindings to be disabled.
Jan 13 2018, 2:39 AM · Restricted Project

Jan 12 2018

v.g.vassilev accepted D42001: [Driver] Add "did you mean?" suggestions to -cc1as.

LGTM!

Jan 12 2018, 10:53 AM

Jan 10 2018

v.g.vassilev accepted D41912: [Driver] Test for correct '--version' suggestion.

LGMT! We can rely on post-commit reviews for changes like this one.

Jan 10 2018, 11:36 AM

Jan 9 2018

v.g.vassilev accepted D41867: [Frontend] Remove unused FileMgr in pp arg parse.

LGTM!

Jan 9 2018, 12:21 PM

Jan 5 2018

v.g.vassilev added a comment to D41416: [modules] [pch] Do not deserialize all lazy template specializations when looking for one..

Finer grained clang stats can be seen here.

Jan 5 2018, 2:49 PM
v.g.vassilev updated the diff for D41416: [modules] [pch] Do not deserialize all lazy template specializations when looking for one..

Reduce further the deserializations from 451 to 449 by providing a more complete implementation of ODRHash::AddTemplateArgument.

Jan 5 2018, 2:32 PM
v.g.vassilev updated the diff for D41416: [modules] [pch] Do not deserialize all lazy template specializations when looking for one..

Reduce hash collisions for template specializations.

Jan 5 2018, 2:27 PM
v.g.vassilev created D41785: Print the qualified name when dumping deserialized decls..
Jan 5 2018, 2:03 PM
v.g.vassilev added inline comments to D41733: [Driver] Suggest correctly spelled driver options.
Jan 5 2018, 4:46 AM
v.g.vassilev added a comment to D41732: [Option] Add 'findNearest' method to catch typos.

+1 Thanks for working on this. Great to see this happening!

Jan 5 2018, 4:43 AM

Jan 4 2018

v.g.vassilev updated the diff for D41416: [modules] [pch] Do not deserialize all lazy template specializations when looking for one..

Reverse template specialization order.

Jan 4 2018, 2:58 PM
v.g.vassilev updated the diff for D41416: [modules] [pch] Do not deserialize all lazy template specializations when looking for one..

Zero IsPartial and improve comments in assert and free text.

Jan 4 2018, 2:44 PM
v.g.vassilev added a comment to D41416: [modules] [pch] Do not deserialize all lazy template specializations when looking for one..

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 full specializations). The example can be found here. I use a small fraction of them. This patch deserializes (only) 1117 specializations for around 0.2 seconds whereas without it clang deserializes 1905 specializations for 0.4 s.

Jan 4 2018, 2:42 PM
v.g.vassilev updated the diff for D41416: [modules] [pch] Do not deserialize all lazy template specializations when looking for one..

Loading of lazy partial template specializations should not trigger loading of full template specializations.

Jan 4 2018, 1:21 PM

Jan 3 2018

v.g.vassilev updated the diff for D41416: [modules] [pch] Do not deserialize all lazy template specializations when looking for one..

Address comments:

  • Fix style;
  • Do not potentially deserialize a specialization in debug mode.
Jan 3 2018, 3:18 PM

Jan 2 2018

v.g.vassilev added inline comments to D41416: [modules] [pch] Do not deserialize all lazy template specializations when looking for one..
Jan 2 2018, 1:55 PM
v.g.vassilev updated the diff for D41416: [modules] [pch] Do not deserialize all lazy template specializations when looking for one..

Teach ASTReader::CompleteRedeclChain to load only the template specializations with the same template argument list.

Jan 2 2018, 1:54 PM
v.g.vassilev updated the diff for D41416: [modules] [pch] Do not deserialize all lazy template specializations when looking for one..

Address inline comments: order the read operations.

Jan 2 2018, 1:46 PM

Dec 19 2017

v.g.vassilev updated the diff for D41416: [modules] [pch] Do not deserialize all lazy template specializations when looking for one..

Fixed a comment typo.

Dec 19 2017, 2:58 PM
v.g.vassilev created D41416: [modules] [pch] Do not deserialize all lazy template specializations when looking for one..
Dec 19 2017, 2:55 PM

Dec 14 2017

v.g.vassilev closed D40901: Refactor lazy loading of template specializations. NFC.

Thanks! Landed in r320763.

Dec 14 2017, 3:31 PM

Dec 6 2017

v.g.vassilev updated the diff for D40901: Refactor lazy loading of template specializations. NFC.

Fix preexisting comment typo.

Dec 6 2017, 8:41 AM
v.g.vassilev created D40901: Refactor lazy loading of template specializations. NFC.
Dec 6 2017, 8:17 AM

Nov 21 2017

v.g.vassilev added a comment to D29951: Load lazily the template specialization in multi-module setups..

For the record: relanded in r306903.

Nov 21 2017, 2:20 PM

Oct 31 2017

v.g.vassilev accepted D39416: [modules] Correctly overload getModule in the MultiplexExternalSemaSource.

LGTM!

Oct 31 2017, 7:37 AM

Oct 27 2017

v.g.vassilev added inline comments to D39342: [Bash-autocompletion] Pass all flags in shell command-line to Clang.
Oct 27 2017, 12:30 PM

Oct 20 2017

v.g.vassilev added a comment to D39002: [cmake] Use find_package to discover zlib.

Reverted in r316153...

Oct 20 2017, 8:29 AM

Oct 19 2017

v.g.vassilev added a comment to D39002: [cmake] Use find_package to discover zlib.

Revised patch landed in r316150.

Oct 19 2017, 1:05 AM

Oct 17 2017

v.g.vassilev added a comment to D39002: [cmake] Use find_package to discover zlib.

I assume this would fix it:

Oct 17 2017, 2:11 PM
v.g.vassilev added a comment to D39002: [cmake] Use find_package to discover zlib.

Reverted in r316029 because the bots got angry at me:

Oct 17 2017, 2:02 PM
v.g.vassilev closed D39002: [cmake] Use find_package to discover zlib.

Landed in r316025.

Oct 17 2017, 1:32 PM
v.g.vassilev added inline comments to D39002: [cmake] Use find_package to discover zlib.
Oct 17 2017, 12:15 PM
v.g.vassilev updated the diff for D39002: [cmake] Use find_package to discover zlib.

Address comments.

Oct 17 2017, 12:15 PM
v.g.vassilev updated subscribers of D39002: [cmake] Use find_package to discover zlib.
Oct 17 2017, 8:00 AM
v.g.vassilev created D39002: [cmake] Use find_package to discover zlib.
Oct 17 2017, 7:57 AM

Sep 11 2017

v.g.vassilev accepted D37416: Use the VFS from the CompilerInvocation by default.

This patch can rely on a post commit review if necessary.

Sep 11 2017, 1:56 AM

Sep 4 2017

v.g.vassilev added a comment to D37416: Use the VFS from the CompilerInvocation by default.

You should probably update the code creating the vfs before the call to createFileManager in lib/Frontend/FrontendAction.cpp.

Sep 4 2017, 12:22 PM

Aug 27 2017

v.g.vassilev updated the diff for D34984: Store token literal data in PCH. Avoids disk read on PreProc expansion..

Add a test case.

Aug 27 2017, 1:23 PM
v.g.vassilev added a comment to D22638: Module: add debug_type to dump debugging messages related to modules being out of date.

@bruno, what's the fate of this?

Aug 27 2017, 11:56 AM
v.g.vassilev accepted D33657: Allow libraries to be loaded with RTLD_LOCAL on Unix..
Aug 27 2017, 11:54 AM
v.g.vassilev added a comment to D34912: Handle cases where the value is too large to fit into the underlying type..

@rsmith ping...

Aug 27 2017, 11:49 AM
v.g.vassilev added a comment to D34912: Handle cases where the value is too large to fit into the underlying type..

ping...

Aug 27 2017, 11:48 AM
v.g.vassilev added a comment to D34912: Handle cases where the value is too large to fit into the underlying type..

Sorry, undo ping... we have a test case.

Aug 27 2017, 11:48 AM
v.g.vassilev accepted D37180: [modules] Add test for using declaration in classes..

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 tables. That caused problems with modules, because the modules system extends the definition of visibility and this is a test making sure we do not reintroduce such an issue.

Aug 27 2017, 6:56 AM
v.g.vassilev added a comment to D34464: lit: Make sure testnames are unicode strings.

ping...

Aug 27 2017, 4:30 AM
v.g.vassilev accepted D36820: [Bash-autocompletion] Add support for -std=.

LGTM +ping!

Aug 27 2017, 4:29 AM
v.g.vassilev closed D34059: Get the file name for the symbol from the Module, not the SourceManager..

Landed in r311844.

Aug 27 2017, 4:29 AM
v.g.vassilev added a comment to D34444: Teach codegen to work in incremental processing mode..

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).

Aug 27 2017, 4:00 AM
v.g.vassilev updated the diff for D34444: Teach codegen to work in incremental processing mode..

Type& name -> Type &name.

Aug 27 2017, 3:21 AM
v.g.vassilev updated the diff for D34444: Teach codegen to work in incremental processing mode..

std::string& -> llvm::StringRef.

Aug 27 2017, 3:16 AM

Aug 23 2017

v.g.vassilev updated the diff for D34984: Store token literal data in PCH. Avoids disk read on PreProc expansion..

Fix StringRef allocation.

Aug 23 2017, 1:26 AM

Aug 8 2017

v.g.vassilev added a comment to D35056: GCC ABI incompatibility when passing object with trivial copy ctor, trivial dtor, and non-trivial move ctor.

And thanks for working on this!!

Aug 8 2017, 7:03 AM
v.g.vassilev added a comment to D35056: GCC ABI incompatibility when passing object with trivial copy ctor, trivial dtor, and non-trivial move ctor.

I do not feel qualified enough to review this patch but I added few minor comments.

Aug 8 2017, 7:03 AM

Aug 6 2017

v.g.vassilev updated the diff for D35056: GCC ABI incompatibility when passing object with trivial copy ctor, trivial dtor, and non-trivial move ctor.

We set the record's property denoting whether we can pass the decl by registers as a last step of Sema::CheckCompletedCXXClass. We cannot do it any earlier than that because we have not computed the triviality information.

Aug 6 2017, 12:20 PM

Aug 2 2017

v.g.vassilev added inline comments to D35056: GCC ABI incompatibility when passing object with trivial copy ctor, trivial dtor, and non-trivial move ctor.
Aug 2 2017, 2:09 PM

Jul 27 2017

v.g.vassilev updated the diff for D35056: GCC ABI incompatibility when passing object with trivial copy ctor, trivial dtor, and non-trivial move ctor.

Move back the triviality checks in CGCXXABI. Explain why.

Jul 27 2017, 5:16 PM
v.g.vassilev updated the diff for D35056: GCC ABI incompatibility when passing object with trivial copy ctor, trivial dtor, and non-trivial move ctor.

Put back accidentally removed test case.

Jul 27 2017, 3:51 PM
v.g.vassilev added inline comments to D35056: GCC ABI incompatibility when passing object with trivial copy ctor, trivial dtor, and non-trivial move ctor.
Jul 27 2017, 3:49 PM
v.g.vassilev updated the diff for D35056: GCC ABI incompatibility when passing object with trivial copy ctor, trivial dtor, and non-trivial move ctor.

Address some of the comments.

Jul 27 2017, 3:49 PM
v.g.vassilev updated the diff for D35056: GCC ABI incompatibility when passing object with trivial copy ctor, trivial dtor, and non-trivial move ctor.

Move the checks in Sema.

Jul 27 2017, 11:17 AM

Jul 24 2017

v.g.vassilev added a comment to D35274: [ExternalASTMerger] Import Objective-C classes.

LGTM.

Jul 24 2017, 2:35 PM
v.g.vassilev added a reviewer for D33657: Allow libraries to be loaded with RTLD_LOCAL on Unix.: lhames.

This LGTM but I'd like to hear from @lhames.

Jul 24 2017, 2:02 PM

Jul 22 2017

v.g.vassilev added a comment to D34444: Teach codegen to work in incremental processing mode..

@rjmccall, thanks for the prompt and thorough reply.

Okay. In that case, I see two problems, one major and one potentially major.

This is a very accurate diagnosis which took us 5 years to discover on an empirical basis ;)

You could've asked at any time. :)

True. I am not really sure I knew what to ask, though ;)

We're open to general "I'm trying to do this and having problems" questions on the mailing lists. You probably would've needed to know to CC me specifically, though; sadly, I can't keep up with all the lists I need to.

Good to know. Thanks! I will come back to you once I get rid of our O(100) clang patches to discuss what would be the best way of supporting incremental compilation.

That's quite brittle, because that code is only executed in a code path that only you are using, and you're not adding any tests. I would greatly prefer a change to IRGen's core assumptions, as suggested.

I am open to changing this code as well. That should probably be another review.

I agree. Are you comfortable with blocking this review until that lands? It seems like it would significantly change this.

Jul 22 2017, 12:16 AM