[clang] Introduce paged vector (PR #66430)

2023-09-26 Thread Vassil Vassilev via cfe-commits
@@ -0,0 +1,323 @@ +//===- llvm/ADT/PagedVector.h - 'Lazyly allocated' vectors *- C++ +//-*-===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier

[clang] Introduce paged vector (PR #66430)

2023-09-26 Thread Vassil Vassilev via cfe-commits
@@ -0,0 +1,323 @@ +//===- llvm/ADT/PagedVector.h - 'Lazyly allocated' vectors *- C++ +//-*-===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier

[clang] Introduce paged vector (PR #66430)

2023-09-26 Thread Vassil Vassilev via cfe-commits
@@ -699,7 +700,7 @@ class SourceManager : public RefCountedBase { /// /// Negative FileIDs are indexes into this table. To get from ID to an index, /// use (-ID - 2). - SmallVector LoadedSLocEntryTable; + llvm::PagedVector LoadedSLocEntryTable; vgvassil

[clang] Introduce paged vector (PR #66430)

2023-09-26 Thread Vassil Vassilev via cfe-commits
@@ -501,7 +502,7 @@ class ASTReader /// /// When the pointer at index I is non-NULL, the declaration with ID /// = I + 1 has already been loaded. - std::vector DeclsLoaded; + llvm::PagedVector DeclsLoaded; vgvassilev wrote: @zygoloid, @ChuanqiXu9 shoul

[clang] Introduce paged vector (PR #66430)

2023-09-27 Thread Vassil Vassilev via cfe-commits
@@ -0,0 +1,323 @@ +//===- llvm/ADT/PagedVector.h - 'Lazyly allocated' vectors *- C++ +//-*-===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier

[clang] Introduce paged vector (PR #66430)

2023-09-28 Thread Vassil Vassilev via cfe-commits
@@ -0,0 +1,282 @@ +//===- llvm/ADT/PagedVector.h - 'Lazyly allocated' vectors *- C++ +//-*-===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier

[clang] Introduce paged vector (PR #66430)

2023-09-28 Thread Vassil Vassilev via cfe-commits
@@ -0,0 +1,282 @@ +//===- llvm/ADT/PagedVector.h - 'Lazyly allocated' vectors *- C++ +//-*-===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier

[clang] Introduce paged vector (PR #66430)

2023-09-28 Thread Vassil Vassilev via cfe-commits
@@ -0,0 +1,282 @@ +//===- llvm/ADT/PagedVector.h - 'Lazyly allocated' vectors *- C++ +//-*-===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier

[clang] Introduce paged vector (PR #66430)

2023-09-28 Thread Vassil Vassilev via cfe-commits
@@ -0,0 +1,282 @@ +//===- llvm/ADT/PagedVector.h - 'Lazyly allocated' vectors *- C++ +//-*-===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier

[clang] [clang-repl] Emit const variables only once (PR #65257)

2023-09-28 Thread Vassil Vassilev via cfe-commits
@@ -0,0 +1,29 @@ +// UNSUPPORTED: system-aix +// RUN: cat %s | clang-repl | FileCheck %s +// RUN: cat %s | clang-repl -Xcc -O2 | FileCheck %s + +extern "C" int printf(const char*, ...); + vgvassilev wrote: Can you add a case for a file scope constant? We also sho

[clang] Introduce paged vector (PR #66430)

2023-09-29 Thread Vassil Vassilev via cfe-commits
https://github.com/vgvassilev approved this pull request. LGTM modulo my comments. Before merging could you verify that we still get the expected performance gains on the ROOT side? https://github.com/llvm/llvm-project/pull/66430 ___ cfe-commits maili

[clang] Introduce paged vector (PR #66430)

2023-09-29 Thread Vassil Vassilev via cfe-commits
@@ -0,0 +1,267 @@ +//===- llvm/ADT/PagedVector.h - 'Lazyly allocated' vectors *- C++ +//-*-===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier

[clang] Introduce paged vector (PR #66430)

2023-09-29 Thread Vassil Vassilev via cfe-commits
@@ -0,0 +1,342 @@ +//===- llvm/unittest/ADT/PagedVectorTest.cpp --===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Ap

[clang] Introduce paged vector (PR #66430)

2023-09-29 Thread Vassil Vassilev via cfe-commits
https://github.com/vgvassilev edited https://github.com/llvm/llvm-project/pull/66430 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] Introduce paged vector (PR #66430)

2023-09-29 Thread Vassil Vassilev via cfe-commits
@@ -0,0 +1,342 @@ +//===- llvm/unittest/ADT/PagedVectorTest.cpp --===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Ap

[clang] Introduce paged vector (PR #66430)

2023-09-29 Thread Vassil Vassilev via cfe-commits
@@ -0,0 +1,267 @@ +//===- llvm/ADT/PagedVector.h - 'Lazyly allocated' vectors *- C++ +//-*-===// vgvassilev wrote: ```suggestion //===- llvm/ADT/PagedVector.h - 'Lazily allocated' vectors --*- C++ -*-===// ``` https://github.com/llvm/llvm-project/pull/66

[clang] Introduce paged vector (PR #66430)

2023-09-29 Thread Vassil Vassilev via cfe-commits
@@ -0,0 +1,342 @@ +//===- llvm/unittest/ADT/PagedVectorTest.cpp --===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Ap

[clang] Qualify non-dependent types of a class template with its declaration (PR #67566)

2023-09-29 Thread Vassil Vassilev via cfe-commits
vgvassilev wrote: @diseraluca, thanks for the thorough description. The point of these routines is to produce code that compiles. I am not sure if we change `Foo::Bar` with `Foo::Bar` it will compile. > Due to the way the current codebase is set up, the chosen specialization is > `QFuture` so

[clang] Introduce paged vector (PR #66430)

2023-09-29 Thread Vassil Vassilev via cfe-commits
vgvassilev wrote: I believe we have beaten this PR to death and would propose to merge it when the builds succeed. https://github.com/llvm/llvm-project/pull/66430 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/

[clang] Qualify non-dependent types of a class template with its declaration (PR #67566)

2023-09-29 Thread Vassil Vassilev via cfe-commits
vgvassilev wrote: > I gave it a quick try, and we would still end up with the same result in our > codebase. But, generally, this would not probably be feasible for us as a > solution. do you have an idea why? Can you show the diff of the changes you made? Is the void specialization not expli

[clang] Introduce paged vector (PR #66430)

2023-09-29 Thread Vassil Vassilev via cfe-commits
https://github.com/vgvassilev closed https://github.com/llvm/llvm-project/pull/66430 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] Introduce paged vector (PR #66430)

2023-09-29 Thread Vassil Vassilev via cfe-commits
vgvassilev wrote: @ktf, congrats for your first patch to llvm. Well done! https://github.com/llvm/llvm-project/pull/66430 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] Qualify non-dependent types of a class template with its declaration (PR #67566)

2023-09-29 Thread Vassil Vassilev via cfe-commits
vgvassilev wrote: > > > I gave it a quick try, and we would still end up with the same result in > > > our codebase. But, generally, this would not probably be feasible for us > > > as a solution. > > > > > > do you have an idea why? Can you show the diff of the changes you made? Is > > the

[clang] [clang-repl][CUDA] Move CUDA module registration to beginning of global_ctors (PR #66658)

2023-09-29 Thread Vassil Vassilev via cfe-commits
vgvassilev wrote: cc: @hahnjo https://github.com/llvm/llvm-project/pull/66658 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang-repl][CUDA] Move CUDA module registration to beginning of global_ctors (PR #66658)

2023-09-29 Thread Vassil Vassilev via cfe-commits
@@ -794,7 +794,7 @@ void CodeGenModule::Release() { AddGlobalCtor(ObjCInitFunction); if (Context.getLangOpts().CUDA && CUDARuntime) { if (llvm::Function *CudaCtorFunction = CUDARuntime->finalizeModule()) - AddGlobalCtor(CudaCtorFunction); + AddGlobalCtor(C

[clang] Introduce paged vector (PR #66430)

2023-09-30 Thread Vassil Vassilev via cfe-commits
vgvassilev wrote: > Looks like this causes a compile-time regression: > https://llvm-compile-time-tracker.com/compare.php?from=abcaebfe3aacb13d46be5e949fd6ed9b4321e2f6&to=4ae51570806ba5c5fcabe6d6dcbe52e3a5d5453b&stat=instructions%3Au > About 0.5% at `O0`. It is probably the change in the `Sour

[clang] Qualify non-dependent types of a class template with its declaration (PR #67566)

2023-09-30 Thread Vassil Vassilev via cfe-commits
vgvassilev wrote: > Wouldn't isExplicitSpecializationOrInstantiation be a stronger guarantee than > isExplicitSpecialization, such that it would exclude a superset of what is > excluded by isExplicitSpecialization? If I did not misunderstand their source > code. I wanted to filter out instant

[clang] Introduce paged vector (PR #66430)

2023-09-30 Thread Vassil Vassilev via cfe-commits
vgvassilev wrote: @kuhar, thanks, you overtook me. Here is my diff: ```diff diff --git a/llvm/unittests/ADT/PagedVectorTest.cpp b/llvm/unittests/ADT/PagedVectorTest.cpp index e1b0c62d3395..c45df6d9e7e8 100644 --- a/llvm/unittests/ADT/PagedVectorTest.cpp +++ b/llvm/unittests/ADT/PagedVectorTest.c

[clang] Introduce paged vector (PR #66430)

2023-09-30 Thread Vassil Vassilev via cfe-commits
vgvassilev wrote: > @vgvassilev I've seen other tests use the pattern from my fix. Feel free to > overwrite with your version if that's preferred. Too late in the night in my end and I closed my laptop already. I am fine with your fix - I find the use of the macro I proposed cleaner though.

[clang] Qualify non-dependent types of a class template with its declaration (PR #67566)

2023-10-01 Thread Vassil Vassilev via cfe-commits
vgvassilev wrote: @diseraluca, since this code touches a case where we do some best effort recovery, would it be possible to change that interface to take a lambda/callback function and specialize it in your end to cover the docs case? https://github.com/llvm/llvm-project/pull/67566 _

[clang] Introduce paged vector (PR #66430)

2023-10-02 Thread Vassil Vassilev via cfe-commits
vgvassilev wrote: > > Looks like this causes a compile-time regression: > > https://llvm-compile-time-tracker.com/compare.php?from=abcaebfe3aacb13d46be5e949fd6ed9b4321e2f6&to=4ae51570806ba5c5fcabe6d6dcbe52e3a5d5453b&stat=instructions%3Au > > About 0.5% at `O0`. > > It is probably the change in

[clang] Avoid need for SLocEntryLoaded BitVector (PR #67960)

2023-10-02 Thread Vassil Vassilev via cfe-commits
@@ -103,6 +103,14 @@ template class PagedVector { /// Return the size of the vector. [[nodiscard]] size_t size() const { return Size; } + /// Return true if the element at `Index` belongs to a page which was already + /// materialized, i.e., had at least one element ac

[clang] Avoid need for SLocEntryLoaded BitVector (PR #67960)

2023-10-02 Thread Vassil Vassilev via cfe-commits
https://github.com/vgvassilev edited https://github.com/llvm/llvm-project/pull/67960 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] Avoid need for SLocEntryLoaded BitVector (PR #67960)

2023-10-02 Thread Vassil Vassilev via cfe-commits
@@ -489,6 +490,8 @@ class SLocEntry { bool isExpansion() const { return IsExpansion; } bool isFile() const { return !isExpansion(); } + [[nodiscard]] bool isLoaded() const { return Loaded; } vgvassilev wrote: Do we need to add `[[nodiscard]]` to the inte

[clang] Avoid need for SLocEntryLoaded BitVector (PR #67960)

2023-10-02 Thread Vassil Vassilev via cfe-commits
https://github.com/vgvassilev commented: That's indeed what I was proposing. Do we observe some performance benefits from this PR on the downstream codebase? https://github.com/llvm/llvm-project/pull/67960 ___ cfe-commits mailing list cfe-commits@list

[clang] Qualify non-dependent types of a class template with its declaration (PR #67566)

2023-10-02 Thread Vassil Vassilev via cfe-commits
vgvassilev wrote: > @vgvassilev If that is an acceptable interface for the LLVM interface then, > yes, it would be perfect from our side, and I'm more than happy to update the > PR in the next few days. > > Just to be sure that I understood your proposal. > > `getFullyQualified*` calls will a

[clang] [clang-repl] Emit const variables only once (PR #65257)

2023-10-03 Thread Vassil Vassilev via cfe-commits
@@ -0,0 +1,29 @@ +// UNSUPPORTED: system-aix +// RUN: cat %s | clang-repl | FileCheck %s +// RUN: cat %s | clang-repl -Xcc -O2 | FileCheck %s + +extern "C" int printf(const char*, ...); + vgvassilev wrote: > const A a(1); is a file-scope constant, no? Yes, misse

[clang] [clang-repl] Emit const variables only once (PR #65257)

2023-10-03 Thread Vassil Vassilev via cfe-commits
https://github.com/vgvassilev approved this pull request. LGTM. Let's move forward here and rely on a further post-commit review if necessary. https://github.com/llvm/llvm-project/pull/65257 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http

[clang] [clang-repl] Emit const variables only once (PR #65257)

2023-10-03 Thread Vassil Vassilev via cfe-commits
https://github.com/vgvassilev edited https://github.com/llvm/llvm-project/pull/65257 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] Add Documentation for Execution Results Handling in Clang-Repl (PR #65650)

2023-10-03 Thread Vassil Vassilev via cfe-commits
@@ -213,6 +213,411 @@ concept helps support advanced use cases such as template instantiations on dema automatic language interoperability. It also helps static languages such as C/C++ become apt for data science. +Execution Results Handling in Clang-Repl +==

[clang] Add Documentation for Execution Results Handling in Clang-Repl (PR #65650)

2023-10-03 Thread Vassil Vassilev via cfe-commits
vgvassilev wrote: @Krishna-13-cyber, can you rebase this PR? @gribozavr ping. https://github.com/llvm/llvm-project/pull/65650 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] Avoid need for SLocEntryLoaded BitVector (PR #67960)

2023-10-03 Thread Vassil Vassilev via cfe-commits
@@ -474,9 +474,10 @@ static_assert(sizeof(FileInfo) <= sizeof(ExpansionInfo), /// SourceManager keeps an array of these objects, and they are uniquely /// identified by the FileID datatype. class SLocEntry { - static constexpr int OffsetBits = 8 * sizeof(SourceLocation::UIntTy

[clang] Avoid need for SLocEntryLoaded BitVector (PR #67960)

2023-10-03 Thread Vassil Vassilev via cfe-commits
@@ -489,6 +490,8 @@ class SLocEntry { bool isExpansion() const { return IsExpansion; } bool isFile() const { return !isExpansion(); } + bool isLoaded() const { return Loaded; } + void setLoaded(bool Value) { Loaded = Value; } vgvassilev wrote: ```sugges

[clang] [clang-repl] Disable InterpreterExceptionTest on RISC-V (PR #68216)

2023-10-04 Thread Vassil Vassilev via cfe-commits
https://github.com/vgvassilev approved this pull request. LGTM! https://github.com/llvm/llvm-project/pull/68216 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] eb0e6c3 - [clang-repl] support code completion at a REPL.

2023-08-23 Thread Vassil Vassilev via cfe-commits
Author: Fred Fu Date: 2023-08-23T14:00:59Z New Revision: eb0e6c3134ef6deafe0a4958e9e1a1214b3c2f14 URL: https://github.com/llvm/llvm-project/commit/eb0e6c3134ef6deafe0a4958e9e1a1214b3c2f14 DIFF: https://github.com/llvm/llvm-project/commit/eb0e6c3134ef6deafe0a4958e9e1a1214b3c2f14.diff LOG: [clan

[clang] 3edd338 - [clang-repl] Add Documentation for Execution Results Handling.

2023-08-23 Thread Vassil Vassilev via cfe-commits
Author: Krishna-13-cyber Date: 2023-08-23T14:12:12Z New Revision: 3edd338a6407d9410f6a283c5dc32ba676ac0b8f URL: https://github.com/llvm/llvm-project/commit/3edd338a6407d9410f6a283c5dc32ba676ac0b8f DIFF: https://github.com/llvm/llvm-project/commit/3edd338a6407d9410f6a283c5dc32ba676ac0b8f.diff L

[clang] f94a937 - Revert "[clang-repl] support code completion at a REPL."

2023-08-23 Thread Vassil Vassilev via cfe-commits
Author: Vassil Vassilev Date: 2023-08-23T14:46:15Z New Revision: f94a937cb37a949cca7a084669c634a87b1d2bb1 URL: https://github.com/llvm/llvm-project/commit/f94a937cb37a949cca7a084669c634a87b1d2bb1 DIFF: https://github.com/llvm/llvm-project/commit/f94a937cb37a949cca7a084669c634a87b1d2bb1.diff LO

[clang] 6f9e53a - Revert "[clang-repl] Add Documentation for Execution Results Handling."

2023-08-23 Thread Vassil Vassilev via cfe-commits
Author: Vassil Vassilev Date: 2023-08-23T14:46:57Z New Revision: 6f9e53a4c3344ceedac29b179be1956e9489c684 URL: https://github.com/llvm/llvm-project/commit/6f9e53a4c3344ceedac29b179be1956e9489c684 DIFF: https://github.com/llvm/llvm-project/commit/6f9e53a4c3344ceedac29b179be1956e9489c684.diff LO

[clang] Add Documentation for Execution Results Handling in Clang-Repl (PR #65650)

2023-10-12 Thread Vassil Vassilev via cfe-commits
https://github.com/vgvassilev approved this pull request. LGTM! Let's move forward. https://github.com/llvm/llvm-project/pull/65650 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] Add Documentation for Execution Results Handling in Clang-Repl (PR #65650)

2023-10-12 Thread Vassil Vassilev via cfe-commits
https://github.com/vgvassilev closed https://github.com/llvm/llvm-project/pull/65650 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] Add Documentation for Execution Results Handling in Clang-Repl (PR #65650)

2023-10-12 Thread Vassil Vassilev via cfe-commits
vgvassilev wrote: @AaronBallman, we need to install dot/doxygen on this machine as Sphinx requires graphviz. The PR has a link to the discussion and we could not find the bot owners. https://github.com/llvm/llvm-project/pull/65650 ___ cfe-commits ma

[clang] Add Documentation for Execution Results Handling in Clang-Repl (PR #65650)

2023-10-13 Thread Vassil Vassilev via cfe-commits
vgvassilev wrote: > Actually no, that's not possible as config-ix modules are explicitly private > to their subproject and should not be used outside them. I'm going to revert > this change due to this layering violation. @nikic, can you suggest a particular fix? We saw this approach was done

[clang] Add Documentation for Execution Results Handling in Clang-Repl (PR #65650)

2023-10-13 Thread Vassil Vassilev via cfe-commits
@@ -213,6 +213,411 @@ concept helps support advanced use cases such as template instantiations on dema automatic language interoperability. It also helps static languages such as C/C++ become apt for data science. +Execution Results Handling in Clang-Repl +==

[clang] Add Documentation for Execution Results Handling in Clang-Repl (PR #65650)

2023-10-13 Thread Vassil Vassilev via cfe-commits
vgvassilev wrote: @Krishna-13-cyber, could you implement the suggestion and we can try to recommit the code. https://github.com/llvm/llvm-project/pull/65650 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman

[clang] [clang][repl] fix `new` on Mac M1 (PR #69072)

2023-10-14 Thread Vassil Vassilev via cfe-commits
@@ -20,4 +20,6 @@ auto r2 = printf("S[f=%f, m=0x%llx]\n", s.f, reinterpret_cast vgvassilev wrote: Why do we need this? https://github.com/llvm/llvm-project/pull/69072 ___ cfe-commits mailing list cfe-commits@lists.llv

[clang] [clang][repl] fix `new` on Mac M1 (PR #69072)

2023-10-14 Thread Vassil Vassilev via cfe-commits
@@ -248,7 +248,7 @@ Interpreter::~Interpreter() { // can't find the precise resource directory in unittests so we have to hard // code them. const char *const Runtimes = R"( -void* operator new(__SIZE_TYPE__, void* __p) noexcept; +#include vgvassilev w

[clang] Add Documentation for Execution Results Handling in Clang-Repl (PR #65650)

2023-10-14 Thread Vassil Vassilev via cfe-commits
@@ -103,6 +103,13 @@ function (gen_rst_file_from_td output_file td_option source docs_targets) endfunction() if (LLVM_ENABLE_SPHINX) + llvm_find_program(dot) vgvassilev wrote: @Krishna-13-cyber, could we drop the `llvm_find_program(dot)` and rely on handli

[clang] [clang][repl] fix `new` on Mac M1 (PR #69072)

2023-10-15 Thread Vassil Vassilev via cfe-commits
@@ -275,7 +274,14 @@ Interpreter::create(std::unique_ptr CI) { if (Err) return std::move(Err); - auto PTU = Interp->Parse(Runtimes); + std::string runtimes = ""; + if (llvm::Triple(llvm::sys::getProcessTriple()).isOSDarwin()) +runtimes += "#include \n"; --

[clang] Fix crash with modules and constexpr destructor (PR #69076)

2023-10-16 Thread Vassil Vassilev via cfe-commits
@@ -0,0 +1,65 @@ +// RUN: rm -rf %t +// RUN: mkdir %t +// RUN: split-file %s %t + +// RUN: %clang_cc1 -std=c++20 -emit-obj -fmodules -fimplicit-module-maps -fmodules-cache-path=%t %t/main.cpp -o %t/main.o + +//--- V.h +#ifndef V_H +#define V_H + +class A { +public: + constexpr A

[clang] Fix crash with modules and constexpr destructor (PR #69076)

2023-10-16 Thread Vassil Vassilev via cfe-commits
@@ -0,0 +1,65 @@ +// RUN: rm -rf %t +// RUN: mkdir %t +// RUN: split-file %s %t + +// RUN: %clang_cc1 -std=c++20 -emit-obj -fmodules -fimplicit-module-maps -fmodules-cache-path=%t %t/main.cpp -o %t/main.o vgvassilev wrote: I thought this is a frontend issue -- d

[clang] 5408186 - [clang-repl] Remove redundant subsections from the table of content.

2023-08-03 Thread Vassil Vassilev via cfe-commits
Author: Krishna-13-cyber Date: 2023-08-03T19:16:18Z New Revision: 54081868dd2220c4de77f481648ec7e10a68618b URL: https://github.com/llvm/llvm-project/commit/54081868dd2220c4de77f481648ec7e10a68618b DIFF: https://github.com/llvm/llvm-project/commit/54081868dd2220c4de77f481648ec7e10a68618b.diff L

[clang] Add Documentation for Execution Results Handling in Clang-Repl (PR #65650)

2023-09-07 Thread Vassil Vassilev via cfe-commits
https://github.com/vgvassilev review_requested https://github.com/llvm/llvm-project/pull/65650 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] Add Documentation for Execution Results Handling in Clang-Repl (PR #65650)

2023-09-07 Thread Vassil Vassilev via cfe-commits
vgvassilev wrote: @gribozavr, after this PR we will need to have `dot` for the sphinx documentation for the bots. Could you install it on the bots? Eg, https://lab.llvm.org/buildbot/#/builders/92/builds/49520 Further details: https://discourse.llvm.org/t/any-tool-for-creating-editable-diagram

[clang] [Parse] Split incremental-extensions (PR #65683)

2023-09-08 Thread Vassil Vassilev via cfe-commits
https://github.com/vgvassilev approved this pull request. LGTM! Maybe we can cherry pick it for the patch release 17.0.1. If that’s a critical patch for swift we can try for the 17.0.0 release. https://github.com/llvm/llvm-project/pull/65683 ___ cfe-

[clang] Introduce paged vector (PR #66430)

2023-09-15 Thread Vassil Vassilev via cfe-commits
vgvassilev wrote: > @ChuanqiXu9 I have added a simple unit test, which has 100% code coverage as > far as I can tell and covers the usecase the container will be used for. > > @nikic This is in the context of improving the memory used when loading > modules, in particular my usecase is the run

[clang] Introduce paged vector (PR #66430)

2023-09-15 Thread Vassil Vassilev via cfe-commits
vgvassilev wrote: > @vgvassilev done. > > @ChuanqiXu9 I think I addressed all your additional comments and updated the > PR. Please let me know if you have further ones or if you want me to squash > the commits into one. I think we need to add some test on the clang modules side. I am current

[clang] Re-apply "[Parse] Split incremental-extensions" (PR #66446)

2023-09-15 Thread Vassil Vassilev via cfe-commits
vgvassilev wrote: > Any objections to this @vgvassilev? I have no objections to this if that makes your workflow work. However I think this cures the symptom and not the real cause. It might be worth investigating how to adapt lldb to the incremental processing change more deeply. https://gi

[clang] Introduce paged vector (PR #66430)

2023-09-18 Thread Vassil Vassilev via cfe-commits
@@ -7944,9 +7944,13 @@ void ASTReader::PrintStats() { std::fprintf(stderr, "*** AST File Statistics:\n"); unsigned NumTypesLoaded = - TypesLoaded.size() - llvm::count(TypesLoaded, QualType()); + TypesLoaded.size() - std::count(TypesLoaded.materialisedBegin(), ---

[clang] Introduce paged vector (PR #66430)

2023-09-18 Thread Vassil Vassilev via cfe-commits
@@ -0,0 +1,132 @@ +//===- llvm/ADT/PagedVector.h - 'Lazyly allocated' vectors *- C++ +//-*-===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier

[clang] 1ac3e13 - [clang-repl] Improve the clang-repl documentation.

2023-07-05 Thread Vassil Vassilev via cfe-commits
Author: Krishna-13-cyber Date: 2023-07-05T18:27:22Z New Revision: 1ac3e13c3e4ab6816116a6e6997f81acf1039849 URL: https://github.com/llvm/llvm-project/commit/1ac3e13c3e4ab6816116a6e6997f81acf1039849 DIFF: https://github.com/llvm/llvm-project/commit/1ac3e13c3e4ab6816116a6e6997f81acf1039849.diff L

[clang-tools-extra] 5ab25a4 - Reland "[clang-repl] support code completion at a REPL."

2023-08-28 Thread Vassil Vassilev via cfe-commits
Author: Fred Fu Date: 2023-08-28T19:59:56Z New Revision: 5ab25a42ba70c4b50214b0e78eaaccd30696fa09 URL: https://github.com/llvm/llvm-project/commit/5ab25a42ba70c4b50214b0e78eaaccd30696fa09 DIFF: https://github.com/llvm/llvm-project/commit/5ab25a42ba70c4b50214b0e78eaaccd30696fa09.diff LOG: Relan

[clang-tools-extra] 752f87c - Revert "Reland "[clang-repl] support code completion at a REPL.""

2023-08-28 Thread Vassil Vassilev via cfe-commits
Author: Vassil Vassilev Date: 2023-08-28T20:05:14Z New Revision: 752f87cd6a1a354790f4728848827077467ac15d URL: https://github.com/llvm/llvm-project/commit/752f87cd6a1a354790f4728848827077467ac15d DIFF: https://github.com/llvm/llvm-project/commit/752f87cd6a1a354790f4728848827077467ac15d.diff LO

[clang] 79af92b - Reland "[clang-repl] support code completion at a REPL."

2023-08-28 Thread Vassil Vassilev via cfe-commits
Author: Fred Fu Date: 2023-08-28T20:09:03Z New Revision: 79af92bb99dd86cc36d6a81066063fb9cd77c78a URL: https://github.com/llvm/llvm-project/commit/79af92bb99dd86cc36d6a81066063fb9cd77c78a DIFF: https://github.com/llvm/llvm-project/commit/79af92bb99dd86cc36d6a81066063fb9cd77c78a.diff LOG: Relan

[clang] 196d856 - [clang-repl] Adapt to the recent dylib-related changes in ORC.

2023-08-29 Thread Vassil Vassilev via cfe-commits
Author: Vassil Vassilev Date: 2023-08-29T19:17:18Z New Revision: 196d8569d46dc5200c44e70cdf839b042148b988 URL: https://github.com/llvm/llvm-project/commit/196d8569d46dc5200c44e70cdf839b042148b988 DIFF: https://github.com/llvm/llvm-project/commit/196d8569d46dc5200c44e70cdf839b042148b988.diff LO

[clang] e6cd950 - Revert "[clang-repl] Adapt to the recent dylib-related changes in ORC."

2023-08-29 Thread Vassil Vassilev via cfe-commits
Author: Vassil Vassilev Date: 2023-08-29T19:34:20Z New Revision: e6cd950d1b4a07f8c339b6f55374e4aa229e42f7 URL: https://github.com/llvm/llvm-project/commit/e6cd950d1b4a07f8c339b6f55374e4aa229e42f7 DIFF: https://github.com/llvm/llvm-project/commit/e6cd950d1b4a07f8c339b6f55374e4aa229e42f7.diff LO

[clang] 452cb7f - Reland "[clang-repl] Adapt to the recent dylib-related changes in ORC."

2023-08-29 Thread Vassil Vassilev via cfe-commits
Author: Vassil Vassilev Date: 2023-08-29T19:42:58Z New Revision: 452cb7f20bc7b976eb6fec4ac9f2d902f4175c08 URL: https://github.com/llvm/llvm-project/commit/452cb7f20bc7b976eb6fec4ac9f2d902f4175c08 DIFF: https://github.com/llvm/llvm-project/commit/452cb7f20bc7b976eb6fec4ac9f2d902f4175c08.diff LO

[clang] 92246a9 - [CodeGen] First check the kind and then the llvm::Function properties.

2023-09-01 Thread Vassil Vassilev via cfe-commits
Author: Vassil Vassilev Date: 2023-09-01T19:52:27Z New Revision: 92246a9be0ba47788ada9621bef58ce7819be526 URL: https://github.com/llvm/llvm-project/commit/92246a9be0ba47788ada9621bef58ce7819be526 DIFF: https://github.com/llvm/llvm-project/commit/92246a9be0ba47788ada9621bef58ce7819be526.diff LO

[clang] [clang-repl] Emit const variables only once (PR #65257)

2023-09-04 Thread Vassil Vassilev via cfe-commits
https://github.com/vgvassilev review_requested https://github.com/llvm/llvm-project/pull/65257 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang-repl] Emit const variables only once (PR #65257)

2023-09-04 Thread Vassil Vassilev via cfe-commits
https://github.com/vgvassilev approved this pull request. That looks good to me. Can we backport that to the llvm17 release branch? I know at least one downstream project that jumps through hoops to support this. https://github.com/llvm/llvm-project/pull/65257 __

[clang] 3ae07a4 - [clang-repl] Add basic documentation about clang-repl

2022-11-30 Thread Vassil Vassilev via cfe-commits
Author: Sara Bellei Date: 2022-11-30T12:30:33Z New Revision: 3ae07a4372fca279ed27e0964130e9931f1807e6 URL: https://github.com/llvm/llvm-project/commit/3ae07a4372fca279ed27e0964130e9931f1807e6 DIFF: https://github.com/llvm/llvm-project/commit/3ae07a4372fca279ed27e0964130e9931f1807e6.diff LOG: [

[clang] dc48893 - [clang-repl] Support statements on global scope in incremental mode.

2022-12-02 Thread Vassil Vassilev via cfe-commits
Author: Vassil Vassilev Date: 2022-12-03T07:18:07Z New Revision: dc4889357adb1b909b986b7d2f2a4b9a2cc40c8e URL: https://github.com/llvm/llvm-project/commit/dc4889357adb1b909b986b7d2f2a4b9a2cc40c8e DIFF: https://github.com/llvm/llvm-project/commit/dc4889357adb1b909b986b7d2f2a4b9a2cc40c8e.diff LO

[clang] 0604241 - [clang-repl] Fix ambiguous initializer list.

2022-12-03 Thread Vassil Vassilev via cfe-commits
Author: Vassil Vassilev Date: 2022-12-03T08:16:34Z New Revision: 060424178ae3720eeba6a31b579cf2025d47d852 URL: https://github.com/llvm/llvm-project/commit/060424178ae3720eeba6a31b579cf2025d47d852 DIFF: https://github.com/llvm/llvm-project/commit/060424178ae3720eeba6a31b579cf2025d47d852.diff LO

Re: r315402 - [modules] Only take visible using-directives into account during name lookup.

2017-10-30 Thread Vassil Vassilev via cfe-commits
On 11/10/17 03:19, Richard Smith via cfe-commits wrote: Author: rsmith Date: Tue Oct 10 18:19:11 2017 New Revision: 315402 URL: http://llvm.org/viewvc/llvm-project?rev=315402&view=rev Log: [modules] Only take visible using-directives into account during name lookup. Added: cfe/trunk/test/M

Re: r315402 - [modules] Only take visible using-directives into account during name lookup.

2017-10-30 Thread Vassil Vassilev via cfe-commits
On 30/10/17 23:40, Richard Smith wrote: On 30 October 2017 at 15:12, Vassil Vassilev via cfe-commits mailto:cfe-commits@lists.llvm.org>> wrote: On 11/10/17 03:19, Richard Smith via cfe-commits wrote: Author: rsmith Date: Tue Oct 10 18:19:11 2017 New Re

[clang] c96c5ed - [clang-repl] Enable basic multiline support.

2023-05-20 Thread Vassil Vassilev via cfe-commits
Author: Vassil Vassilev Date: 2023-05-20T14:40:58Z New Revision: c96c5edb58ed29e0fd936bc082ec6cae7082854e URL: https://github.com/llvm/llvm-project/commit/c96c5edb58ed29e0fd936bc082ec6cae7082854e DIFF: https://github.com/llvm/llvm-project/commit/c96c5edb58ed29e0fd936bc082ec6cae7082854e.diff LO

[clang] 159073b - [clang-repl] Support compound statement as a top-level statement.

2023-02-17 Thread Vassil Vassilev via cfe-commits
Author: Vassil Vassilev Date: 2023-02-17T09:09:04Z New Revision: 159073bc0a873b9aa2bc559a8ceba970b049cda2 URL: https://github.com/llvm/llvm-project/commit/159073bc0a873b9aa2bc559a8ceba970b049cda2 DIFF: https://github.com/llvm/llvm-project/commit/159073bc0a873b9aa2bc559a8ceba970b049cda2.diff LO

[clang] 743ff9c - [clang-repl] Do not assert if we have weak references left.

2023-05-08 Thread Vassil Vassilev via cfe-commits
Author: Vassil Vassilev Date: 2023-05-08T09:13:00Z New Revision: 743ff9c8bad375d4cea0c44a89cdcc117ffc9bf3 URL: https://github.com/llvm/llvm-project/commit/743ff9c8bad375d4cea0c44a89cdcc117ffc9bf3 DIFF: https://github.com/llvm/llvm-project/commit/743ff9c8bad375d4cea0c44a89cdcc117ffc9bf3.diff LO

[clang] 2c4620c - [clang-repl] Consider the scope spec in template lookups for deduction guides.

2023-05-08 Thread Vassil Vassilev via cfe-commits
Author: Vassil Vassilev Date: 2023-05-08T17:54:56Z New Revision: 2c4620c1dadc032f968ce0aa835a441f268a8cdb URL: https://github.com/llvm/llvm-project/commit/2c4620c1dadc032f968ce0aa835a441f268a8cdb DIFF: https://github.com/llvm/llvm-project/commit/2c4620c1dadc032f968ce0aa835a441f268a8cdb.diff LO

[clang] 1e4891e - [clang-repl] Enable debugging of JIT-ed code.

2023-04-18 Thread Vassil Vassilev via cfe-commits
Author: Vassil Vassilev Date: 2023-04-18T13:19:42Z New Revision: 1e4891e681c51f3e2a724b4ac4e42380ec4a9be1 URL: https://github.com/llvm/llvm-project/commit/1e4891e681c51f3e2a724b4ac4e42380ec4a9be1 DIFF: https://github.com/llvm/llvm-project/commit/1e4891e681c51f3e2a724b4ac4e42380ec4a9be1.diff LO

[clang] e64fbf2 - Revert "[clang-repl] Enable debugging of JIT-ed code."

2023-04-18 Thread Vassil Vassilev via cfe-commits
Author: Vassil Vassilev Date: 2023-04-18T13:41:38Z New Revision: e64fbf2cca8c4763a058ba59a48ab8e4b8193028 URL: https://github.com/llvm/llvm-project/commit/e64fbf2cca8c4763a058ba59a48ab8e4b8193028 DIFF: https://github.com/llvm/llvm-project/commit/e64fbf2cca8c4763a058ba59a48ab8e4b8193028.diff LO

[clang] 310ee08 - Reland "[clang-repl] Enable debugging of JIT-ed code."

2023-04-18 Thread Vassil Vassilev via cfe-commits
Author: Vassil Vassilev Date: 2023-04-18T18:33:52Z New Revision: 310ee08d5d45d9388333842a79bf4cef761afddf URL: https://github.com/llvm/llvm-project/commit/310ee08d5d45d9388333842a79bf4cef761afddf DIFF: https://github.com/llvm/llvm-project/commit/310ee08d5d45d9388333842a79bf4cef761afddf.diff LO

[clang] 5a9abe8 - [clang-repl] Correctly disambiguate dtor declarations from statements.

2023-04-30 Thread Vassil Vassilev via cfe-commits
Author: Vassil Vassilev Date: 2023-04-30T19:44:52Z New Revision: 5a9abe846617efea4a128134db0915a044d7dd73 URL: https://github.com/llvm/llvm-project/commit/5a9abe846617efea4a128134db0915a044d7dd73 DIFF: https://github.com/llvm/llvm-project/commit/5a9abe846617efea4a128134db0915a044d7dd73.diff LO

[clang] 87ae746 - [clang-repl] Add a test coverage for nested out-of-line dtor disambiguation.

2023-05-02 Thread Vassil Vassilev via cfe-commits
Author: Vassil Vassilev Date: 2023-05-02T09:39:48Z New Revision: 87ae74692456f5ef72dadff508af99371ddc1135 URL: https://github.com/llvm/llvm-project/commit/87ae74692456f5ef72dadff508af99371ddc1135 DIFF: https://github.com/llvm/llvm-project/commit/87ae74692456f5ef72dadff508af99371ddc1135.diff LO

Re: [PATCH] D27180: Testbed and skeleton of a new expression parser

2016-12-19 Thread Vassil Vassilev via cfe-commits
On 19/12/16 17:55, David Blaikie wrote: On Thu, Dec 15, 2016 at 2:18 PM Sean Callanan via Phabricator via cfe-commits > wrote: spyffe updated this revision to Diff 81661. spyffe marked 2 inline comments as done. spyffe added a comment. Heral

Re: r253495 - [Sema] Don't work around a malformed AST

2017-01-10 Thread Vassil Vassilev via cfe-commits
On 18/11/15 20:49, David Majnemer via cfe-commits wrote: Author: majnemer Date: Wed Nov 18 13:49:19 2015 New Revision: 253495 URL: http://llvm.org/viewvc/llvm-project?rev=253495&view=rev Log: [Sema] Don't work around a malformed AST We created a malformed TemplateSpecializationType: it was depe

r291552 - Remove fixme, use ASTContext::getCanonicalTemplateSpecializationType.

2017-01-10 Thread Vassil Vassilev via cfe-commits
Author: vvassilev Date: Tue Jan 10 03:09:09 2017 New Revision: 291552 URL: http://llvm.org/viewvc/llvm-project?rev=291552&view=rev Log: Remove fixme, use ASTContext::getCanonicalTemplateSpecializationType. Reviewed by Richard Smith (D28306). Modified: cfe/trunk/lib/Sema/SemaTemplate.cpp Mod

Re: [PATCH] D22515: [analyzer] Added custom hashing to the CloneDetector.

2016-08-16 Thread Vassil Vassilev via cfe-commits
v.g.vassilev accepted this revision. v.g.vassilev added a comment. LGTM. https://reviews.llvm.org/D22515 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Re: [PATCH] D23555: [analyzer] CloneDetector now checks template arguments of function calls.

2016-08-17 Thread Vassil Vassilev 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 once the @NoQ remarks are addressed. https://reviews.llvm.org/D23555 ___ cfe-commits mailing list cfe-commits@lists.llvm.org htt

Re: [PATCH] D23492: Make function local tags visible.

2016-08-17 Thread Vassil Vassilev via cfe-commits
v.g.vassilev removed rL LLVM as the repository for this revision. v.g.vassilev updated this revision to Diff 68349. v.g.vassilev added a comment. Do not instantiate function declarations which are not visible. https://reviews.llvm.org/D23492 Files: include/clang/Sema/Sema.h lib/Sema/SemaTem

Re: [PATCH] D23492: Make function local tags visible.

2016-08-17 Thread Vassil Vassilev via cfe-commits
v.g.vassilev updated this revision to Diff 68354. v.g.vassilev added a comment. Add forgotten change. https://reviews.llvm.org/D23492 Files: include/clang/Sema/Sema.h lib/Sema/SemaTemplate.cpp lib/Sema/SemaTemplateInstantiate.cpp lib/Sema/SemaTemplateInstantiateDecl.cpp test/Modules/I

<    1   2   3   4   5   6   7   8   9   10   >