[clang] [CIR] Call code gen; create empty cir.func op (PR #113483)

2024-11-05 Thread Bruno Cardoso Lopes via cfe-commits
https://github.com/bcardosolopes approved this pull request. Thanks David! https://github.com/llvm/llvm-project/pull/113483 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [CIR] Call code gen; create empty cir.func op (PR #113483)

2024-11-05 Thread Bruno Cardoso Lopes via cfe-commits
bcardosolopes wrote: > Again though, a `FIXME: at one point we should capture macro expansions here > so we can diagnose expansions more thoroughly` is perhaps not a bad addition > here. +1 https://github.com/llvm/llvm-project/pull/113483 ___ cfe-co

[clang] [CIR] Call code gen; create empty cir.func op (PR #113483)

2024-11-05 Thread Bruno Cardoso Lopes via cfe-commits
@@ -52,10 +62,33 @@ class CIRGenModule : public CIRGenTypeCache { /// A "module" matches a c/cpp source file: containing a list of functions. mlir::ModuleOp theModule; + clang::DiagnosticsEngine &diags; + const clang::TargetInfo ⌖ public: + mlir::ModuleOp getModule

[clang] [CIR] Build out AST consumer patterns to reach the entry point into CIRGen (PR #91007)

2024-08-28 Thread Bruno Cardoso Lopes via cfe-commits
https://github.com/bcardosolopes approved this pull request. Seems like all issues have been addressed? Anything remaining @AaronBallman ? Thanks everyone for all the reviews! https://github.com/llvm/llvm-project/pull/91007 ___ cfe-commits mailing lis

[clang] [CIR] Build out AST consumer patterns to reach the entry point into CIRGen (PR #91007)

2024-05-21 Thread Bruno Cardoso Lopes via cfe-commits
bcardosolopes wrote: Thanks @AaronBallman > But again, the important thing is to at least be self-consistent. e.g., It's a good point to reinforce, updated. > I just don't think it benefits anyone to do so other than to make it easier > to land the initial patches, which doesn't seem like a

[clang] [CIR] Build out AST consumer patterns to reach the entry point into CIRGen (PR #91007)

2024-05-20 Thread Bruno Cardoso Lopes via cfe-commits
bcardosolopes wrote: I encoded the discussion in our clangir.org page, with some speculation on Aaron's pending replies, happy to change and fix anything. In the future we'll upstream that too, but for the time being it's here: https://llvm.github.io/clangir/GettingStarted/coding-guideline.htm

[clang] [CIR] Build out AST consumer patterns to reach the entry point into CIRGen (PR #91007)

2024-05-20 Thread Bruno Cardoso Lopes via cfe-commits
bcardosolopes wrote: > What is obvious in the MLIR space is not necessarily what's obvious in Clang; Sure. > I have no idea whether that returns a `SourceLocation`, a `PresumedLoc`, a > `FullSourceLoc`, etc, so I don't think that is a use of `auto` I would want > to have to reason about as a

[clang] [CIR] Build out AST consumer patterns to reach the entry point into CIRGen (PR #91007)

2024-05-13 Thread Bruno Cardoso Lopes via cfe-commits
bcardosolopes wrote: Thanks for everyone's input so far. Let me try to summarize two discussions in this PR so we can set on an approach and give advice to our CIR community (and encode on our webpage) on how to move forward in upcoming patches. Useful resources: - [LLVM Coding Standard](http

[clang] [CIR] Build out AST consumer patterns to reach the entry point into CIRGen (PR #91007)

2024-05-13 Thread Bruno Cardoso Lopes via cfe-commits
@@ -42,6 +47,14 @@ CreateFrontendBaseAction(CompilerInstance &CI) { StringRef Action("unknown"); (void)Action; + auto UseCIR = CI.getFrontendOpts().UseClangIRPipeline; bcardosolopes wrote: Right, it's a different discussion than naming. @joker-eph: what'

[clang] [CIR] Build out AST consumer patterns to reach the entry point into CIRGen (PR #91007)

2024-05-13 Thread Bruno Cardoso Lopes via cfe-commits
@@ -0,0 +1,61 @@ +//===--- CIRGenModule.h - Per-Module state for CIR gen --*- 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: Apa

[clang] [CIR] Build out AST consumer patterns to reach the entry point into CIRGen (PR #91007)

2024-05-13 Thread Bruno Cardoso Lopes via cfe-commits
@@ -0,0 +1,88 @@ +//===--- CIRGenAction.cpp - LLVM Code generation Frontend Action -===// +// +// 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: Apach

[clang] [CIR] Build out AST consumer patterns to reach the entry point into CIRGen (PR #91007)

2024-05-03 Thread Bruno Cardoso Lopes via cfe-commits
@@ -0,0 +1,61 @@ +//=== CIRGenAction.h - CIR Code Generation Frontend Action -*- 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: Apa

[clang] [CIR] Build out AST consumer patterns to reach the entry point into CIRGen (PR #91007)

2024-05-03 Thread Bruno Cardoso Lopes via cfe-commits
https://github.com/bcardosolopes edited https://github.com/llvm/llvm-project/pull/91007 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [CIR] Build out AST consumer patterns to reach the entry point into CIRGen (PR #91007)

2024-05-03 Thread Bruno Cardoso Lopes via cfe-commits
@@ -0,0 +1,61 @@ +//===--- CIRGenModule.h - Per-Module state for CIR gen --*- 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: Apa

[clang] [CIR] Build out AST consumer patterns to reach the entry point into CIRGen (PR #91007)

2024-05-03 Thread Bruno Cardoso Lopes via cfe-commits
@@ -42,6 +47,14 @@ CreateFrontendBaseAction(CompilerInstance &CI) { StringRef Action("unknown"); (void)Action; + auto UseCIR = CI.getFrontendOpts().UseClangIRPipeline; bcardosolopes wrote: Should this be the case for actual lib/CIR/CodeGen too? MLIR uses

[clang] [CIR] Build out AST consumer patterns to reach the entry point into CIRGen (PR #91007)

2024-05-03 Thread Bruno Cardoso Lopes via cfe-commits
@@ -0,0 +1,4 @@ +// RUN: %clang_cc1 -triple x86_64-unknown-linux-gnu -fclangir -emit-cir %s bcardosolopes wrote: We don't have any IR to test just yet. @lanza you could use `FileCheck` with `--allow-empty` here for now. You could also rename this test `emit-cir.

[clang] [CIR] Add CIRGenerator and plug it via CIRGenAction (PR #90831)

2024-05-03 Thread Bruno Cardoso Lopes via cfe-commits
@@ -2900,7 +2900,7 @@ defm clangir : BoolFOption<"clangir", PosFlag, NegFlag LLVM pipeline to compile">, BothFlags<[], [ClangOption, CC1Option], "">>; -def emit_cir : Flag<["-"], "emit-cir">, Visibility<[CC1Option]>, +def emit_cir : Flag<["-"], "emit-cir">, Visibility<[C

[clang] [CIR] Add CIRGenerator and plug it via CIRGenAction (PR #90831)

2024-05-03 Thread Bruno Cardoso Lopes via cfe-commits
@@ -0,0 +1,5 @@ +// RUN: %clang_cc1 -triple x86_64-unknown-linux-gnu -fclangir -emit-cir %s | FileCheck %s + +// CHECK: CIRGenModule::buildTopLevelDecl + +void foo() {} bcardosolopes wrote: Oh, I see what you are doing. I was thinking even more simple, no code,

[clang] [CIR] Add CIRGenerator and plug it via CIRGenAction (PR #90831)

2024-05-03 Thread Bruno Cardoso Lopes via cfe-commits
https://github.com/bcardosolopes requested changes to this pull request. https://github.com/llvm/llvm-project/pull/90831 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [CIR] Add CIRGenerator and plug it via CIRGenAction (PR #90831)

2024-05-03 Thread Bruno Cardoso Lopes via cfe-commits
https://github.com/bcardosolopes edited https://github.com/llvm/llvm-project/pull/90831 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [CIR] Add CIRGenerator and plug it via CIRGenAction (PR #90831)

2024-05-03 Thread Bruno Cardoso Lopes via cfe-commits
@@ -0,0 +1,28 @@ +//===--- CIRGenTypeCache.h - Commonly used LLVM types and info -*- 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: Apa

[clang] [CIR] Add CIRGenerator and plug it via CIRGenAction (PR #90831)

2024-05-02 Thread Bruno Cardoso Lopes via cfe-commits
https://github.com/bcardosolopes edited https://github.com/llvm/llvm-project/pull/90831 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] cirgenmodule buildtopleveldecl husk (PR #90831)

2024-05-02 Thread Bruno Cardoso Lopes via cfe-commits
https://github.com/bcardosolopes commented: Perhaps add a `-emit-cir` testcase that doesn't test anything but just proves the wiring works. More comments inline. https://github.com/llvm/llvm-project/pull/90831 ___ cfe-commits mailing list cfe-commits@

[clang] cirgenmodule buildtopleveldecl husk (PR #90831)

2024-05-02 Thread Bruno Cardoso Lopes via cfe-commits
@@ -0,0 +1,28 @@ +//===--- CIRGenTypeCache.h - Commonly used LLVM types and info -*- 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: Apa

[clang] cirgenmodule buildtopleveldecl husk (PR #90831)

2024-05-02 Thread Bruno Cardoso Lopes via cfe-commits
@@ -0,0 +1,62 @@ +//=== CIRGenAction.h - CIR Code Generation Frontend Action -*- 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: Apa

[clang] cirgenmodule buildtopleveldecl husk (PR #90831)

2024-05-02 Thread Bruno Cardoso Lopes via cfe-commits
@@ -0,0 +1,42 @@ +//===--- CIRGenModule.h - Per-Module state for CIR gen --*- 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: Apa

[clang] cirgenmodule buildtopleveldecl husk (PR #90831)

2024-05-02 Thread Bruno Cardoso Lopes via cfe-commits
@@ -0,0 +1,62 @@ +//=== CIRGenAction.h - CIR Code Generation Frontend Action -*- 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: Apa

[clang] cirgenmodule buildtopleveldecl husk (PR #90831)

2024-05-02 Thread Bruno Cardoso Lopes via cfe-commits
https://github.com/bcardosolopes edited https://github.com/llvm/llvm-project/pull/90831 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang] Fix finding instantiated decls for class template specializations during instantiation (PR #72346)

2023-11-17 Thread Bruno Cardoso Lopes via cfe-commits
bcardosolopes wrote: I'm not 100% confident here but the fix makes sense and seems good (nice testcase!). https://github.com/llvm/llvm-project/pull/72346 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/li

[clang-tools-extra] [clang-apply-replacements] Apply format only if --format is specified (PR #70801)

2023-11-06 Thread Bruno Cardoso Lopes via cfe-commits
https://github.com/bcardosolopes commented: Can you please add a testcase? https://github.com/llvm/llvm-project/pull/70801 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[llvm] [libc] [clang-tools-extra] [lld] [libcxx] [clang] [flang] [lldb] [OpenACC] Initial commits to support OpenACC (PR #70234)

2023-11-03 Thread Bruno Cardoso Lopes via cfe-commits
@@ -0,0 +1,14 @@ +// RUN: %clang -S -### -fopenacc %s 2>&1 | FileCheck %s --check-prefix=CHECK-DRIVER +// CHECK-DRIVER: "-cc1" {{.*}} "-fopenacc" bcardosolopes wrote: Thanks for the explanation! https://github.com/llvm/llvm-project/pull/70234 __

[clang] [clang-tools-extra] [llvm] [RFC] Perform lifetime bound checks for arguments to coroutine (PR #69360)

2023-11-01 Thread Bruno Cardoso Lopes via cfe-commits
@@ -7584,11 +7584,22 @@ static void visitLifetimeBoundArguments(IndirectLocalPath &Path, Expr *Call, if (ObjectArg && implicitObjectParamIsLifetimeBound(Callee)) VisitLifetimeBoundArg(Callee, ObjectArg); - + bool checkCoroCall = false; + if (const auto *RD = Callee->g

[clang] [libc] [flang] [lldb] [libcxx] [llvm] [lld] [clang-tools-extra] [OpenACC] Initial commits to support OpenACC (PR #70234)

2023-11-01 Thread Bruno Cardoso Lopes via cfe-commits
@@ -605,6 +605,17 @@ static void InitializeStandardPredefinedMacros(const TargetInfo &TI, Builder.defineMacro("HIP_API_PER_THREAD_DEFAULT_STREAM"); } } + + if (LangOpts.OpenACC) { +// FIXME: When we have full support for OpenACC, we should set this to the +

[flang] [clang] [llvm] [libc] [lld] [libcxx] [clang-tools-extra] [lldb] [OpenACC] Initial commits to support OpenACC (PR #70234)

2023-11-01 Thread Bruno Cardoso Lopes via cfe-commits
@@ -0,0 +1,14 @@ +// RUN: %clang -S -### -fopenacc %s 2>&1 | FileCheck %s --check-prefix=CHECK-DRIVER +// CHECK-DRIVER: "-cc1" {{.*}} "-fopenacc" bcardosolopes wrote: How does the interaction between using both `-fopenmp` and `-fopenacc` at the same time should

[libcxx] [lld] [flang] [clang] [llvm] [lldb] [clang-tools-extra] [libc] [OpenACC] Initial commits to support OpenACC (PR #70234)

2023-11-01 Thread Bruno Cardoso Lopes via cfe-commits
https://github.com/bcardosolopes commented: The changes in this patch looks pretty straightforward! Left some inline comments. https://github.com/llvm/llvm-project/pull/70234 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.o

[libcxx] [llvm] [lld] [clang] [libc] [flang] [lldb] [clang-tools-extra] [OpenACC] Initial commits to support OpenACC (PR #70234)

2023-11-01 Thread Bruno Cardoso Lopes via cfe-commits
https://github.com/bcardosolopes edited https://github.com/llvm/llvm-project/pull/70234 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[libc] [clang] [lld] [llvm] [lldb] [libcxx] [clang-tools-extra] [flang] [OpenACC] Initial commits to support OpenACC (PR #70234)

2023-11-01 Thread Bruno Cardoso Lopes via cfe-commits
@@ -1342,6 +1342,15 @@ def err_opencl_logical_exclusive_or : Error< def err_openclcxx_virtual_function : Error< "virtual functions are not supported in C++ for OpenCL">; +// OpenACC Support. +def warn_pragma_acc_ignored : Warning< + "unexpected '#pragma acc ...' in program"

[clang] [Clang] Preserve coroutine parameter referenced state (PR #70973)

2023-11-01 Thread Bruno Cardoso Lopes via cfe-commits
https://github.com/bcardosolopes approved this pull request. LGTM. @ChuanqiXu9 should give the final blessing though. https://github.com/llvm/llvm-project/pull/70973 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin

[clang] [Clang] Preserve coroutine parameter referenced state (PR #70973)

2023-11-01 Thread Bruno Cardoso Lopes via cfe-commits
@@ -1965,9 +1965,15 @@ bool Sema::buildCoroutineParameterMoves(SourceLocation Loc) { if (PD->getType()->isDependentType()) continue; +// Preserve the referenced state for unused parameter diagnostics. +bool DeclReferenced = PD->isReferenced(); + ExprRes

[clang] [Clang] Preserve coroutine parameter referenced state (PR #70973)

2023-11-01 Thread Bruno Cardoso Lopes via cfe-commits
https://github.com/bcardosolopes edited https://github.com/llvm/llvm-project/pull/70973 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang] Preserve coroutine parameter referenced state (PR #70973)

2023-11-01 Thread Bruno Cardoso Lopes via cfe-commits
https://github.com/bcardosolopes edited https://github.com/llvm/llvm-project/pull/70973 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang] Preserve coroutine parameter referenced state (PR #70973)

2023-11-01 Thread Bruno Cardoso Lopes via cfe-commits
@@ -1965,9 +1965,15 @@ bool Sema::buildCoroutineParameterMoves(SourceLocation Loc) { if (PD->getType()->isDependentType()) continue; +// Preserve the referenced state for unused parameter diagnostics. +bool DeclReferenced = PD->isReferenced(); + ExprRes

[clang] [Clang] Preserve coroutine parameter referenced state (PR #70973)

2023-11-01 Thread Bruno Cardoso Lopes via cfe-commits
https://github.com/bcardosolopes commented: Thanks for improving this! I haven't looked at your previous review of this PR, but I like the simplicity of this one. https://github.com/llvm/llvm-project/pull/70973 ___ cfe-commits mailing list cfe-commit

[clang] [Clang][LLVM][Coroutines] Prevent __coro_gro from outliving __promise (PR #66706)

2023-09-21 Thread Bruno Cardoso Lopes via cfe-commits
https://github.com/bcardosolopes closed https://github.com/llvm/llvm-project/pull/66706 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang][LLVM][Coroutines] Prevent __coro_gro from outliving __promise (PR #66706)

2023-09-21 Thread Bruno Cardoso Lopes via cfe-commits
bcardosolopes wrote: Applied suggested changes and updated PR. https://github.com/llvm/llvm-project/pull/66706 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang][LLVM][Coroutines] Prevent __coro_gro from outliving __promise (PR #66706)

2023-09-21 Thread Bruno Cardoso Lopes via cfe-commits
https://github.com/bcardosolopes resolved https://github.com/llvm/llvm-project/pull/66706 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang][LLVM][Coroutines] Prevent __coro_gro from outliving __promise (PR #66706)

2023-09-21 Thread Bruno Cardoso Lopes via cfe-commits
@@ -104,3 +105,5 @@ invoker g() { // CHECK: call void @_ZN7invoker15invoker_promise17get_return_objectEv({{.*}} %[[AggRes]] co_return; } + +// CHECK: ![[OutFrameMetadata]] = !{} bcardosolopes wrote: Done https://github.com/llvm/llvm-project/pull/66706 __

[clang] [Clang][LLVM][Coroutines] Prevent __coro_gro from outliving __promise (PR #66706)

2023-09-21 Thread Bruno Cardoso Lopes via cfe-commits
https://github.com/bcardosolopes resolved https://github.com/llvm/llvm-project/pull/66706 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang][LLVM][Coroutines] Prevent __coro_gro from outliving __promise (PR #66706)

2023-09-21 Thread Bruno Cardoso Lopes via cfe-commits
@@ -6691,6 +6691,22 @@ sections that the user does not want removed after linking. ... !0 = !{} +'``coro.outside.frame``' Metadata +^^ + +``coro.outside.frame`` metadata may be attached to an alloca instruction to +to signify that it shouldn't be promo

[clang] [Clang][LLVM][Coroutines] Prevent __coro_gro from outliving __promise (PR #66706)

2023-09-21 Thread Bruno Cardoso Lopes via cfe-commits
https://github.com/bcardosolopes updated https://github.com/llvm/llvm-project/pull/66706 >From 6312dd56ed3a2f47e7291ae32ca044622a317259 Mon Sep 17 00:00:00 2001 From: Bruno Cardoso Lopes Date: Wed, 20 Sep 2023 15:00:06 -0700 Subject: [PATCH 1/2] [Clang][LLVM][Coroutines] Prevent __coro_gro from

[clang] [Clang][LLVM][Coroutines] Prevent __coro_gro from outliving __promise (PR #66706)

2023-09-20 Thread Bruno Cardoso Lopes via cfe-commits
bcardosolopes wrote: Thanks for the clarifications > By forcing the GRO not living on the coroutine frames, it shouldn't be a > problem if the lifetime of `__coro_gro` outlives the `__promise`. The only > limit is that the initialization of `__coro_gro` should be in the lifetime of > `__promi

[clang] [Clang][LLVM][Coroutines] Prevent __coro_gro from outliving __promise (PR #66706)

2023-09-20 Thread Bruno Cardoso Lopes via cfe-commits
https://github.com/bcardosolopes edited https://github.com/llvm/llvm-project/pull/66706 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang][Coroutines] Improve GRO handling to better fit scopes and cleanups (PR #66706)

2023-09-20 Thread Bruno Cardoso Lopes via cfe-commits
https://github.com/bcardosolopes edited https://github.com/llvm/llvm-project/pull/66706 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang][Coroutines] Improve GRO handling to better fit scopes and cleanups (PR #66706)

2023-09-20 Thread Bruno Cardoso Lopes via cfe-commits
https://github.com/bcardosolopes updated https://github.com/llvm/llvm-project/pull/66706 >From 6312dd56ed3a2f47e7291ae32ca044622a317259 Mon Sep 17 00:00:00 2001 From: Bruno Cardoso Lopes Date: Wed, 20 Sep 2023 15:00:06 -0700 Subject: [PATCH] [Clang][LLVM][Coroutines] Prevent __coro_gro from out

[clang] [Clang][Coroutines] Improve GRO handling to better fit scopes and cleanups (PR #66706)

2023-09-19 Thread Bruno Cardoso Lopes via cfe-commits
bcardosolopes wrote: Updated the patch to account for failing libcxx tests, and to not change current codegen when GRO allocas are not involved. https://github.com/llvm/llvm-project/pull/66706 ___ cfe-commits mailing list cfe-commits@lists.llvm.org ht

[clang] [Clang][Coroutines] Improve GRO handling to better fit scopes and cleanups (PR #66706)

2023-09-19 Thread Bruno Cardoso Lopes via cfe-commits
https://github.com/bcardosolopes updated https://github.com/llvm/llvm-project/pull/66706 >From f9d54b81d4c3c10c3dd26193d9bef52785826f21 Mon Sep 17 00:00:00 2001 From: Bruno Cardoso Lopes Date: Fri, 15 Sep 2023 15:40:20 -0700 Subject: [PATCH 1/3] [Clang][Coroutines] Improve GRO handling to bette

[clang] [Clang][Coroutines] Improve GRO handling to better fit scopes and cleanups (PR #66706)

2023-09-19 Thread Bruno Cardoso Lopes via cfe-commits
https://github.com/bcardosolopes updated https://github.com/llvm/llvm-project/pull/66706 >From f9d54b81d4c3c10c3dd26193d9bef52785826f21 Mon Sep 17 00:00:00 2001 From: Bruno Cardoso Lopes Date: Fri, 15 Sep 2023 15:40:20 -0700 Subject: [PATCH 1/2] [Clang][Coroutines] Improve GRO handling to bette

[clang] [Clang][Coroutines] Improve GRO handling to better fit scopes and cleanups (PR #66706)

2023-09-19 Thread Bruno Cardoso Lopes via cfe-commits
bcardosolopes wrote: Thanks for the fast reply @ChuanqiXu9 > I remember that there is a defect that we may place the GRO on the coroutine > frame. Can you point me to such defect? I had no luck searching for it. > And my instinct reaction is that would this patch be covered by forcing GRO >

[clang] [Clang][Coroutines] Improve GRO handling to better fit scopes and cleanups (PR #66706)

2023-09-18 Thread Bruno Cardoso Lopes via cfe-commits
https://github.com/bcardosolopes created https://github.com/llvm/llvm-project/pull/66706 When dealing with short-circuiting coroutines (e.g. `expected`), the deferred calls that resolve the `get_return_object` are currently being emitted *after* we delete the coroutine frame. This was caught

[clang] 07ef7b1 - [Builtins] Add __builtin_assume_separate_storage

2023-03-23 Thread Bruno Cardoso Lopes via cfe-commits
Author: Bruno Cardoso Lopes Date: 2023-03-23T16:35:30-07:00 New Revision: 07ef7b1ff21e8e3faaf8279b8ec6a7f0ac252fad URL: https://github.com/llvm/llvm-project/commit/07ef7b1ff21e8e3faaf8279b8ec6a7f0ac252fad DIFF: https://github.com/llvm/llvm-project/commit/07ef7b1ff21e8e3faaf8279b8ec6a7f0ac252fad

[clang] fa0d4e1 - [Coroutines] Implement fix for cwg2563 issue and enable RVO under certain conditions

2023-03-21 Thread Bruno Cardoso Lopes via cfe-commits
Author: Bruno Cardoso Lopes Date: 2023-03-21T21:42:31-07:00 New Revision: fa0d4e1f12a3f69dd0afb07c0928c867ab921537 URL: https://github.com/llvm/llvm-project/commit/fa0d4e1f12a3f69dd0afb07c0928c867ab921537 DIFF: https://github.com/llvm/llvm-project/commit/fa0d4e1f12a3f69dd0afb07c0928c867ab921537

[clang] 43f5085 - [Coroutines] Fix premature conversion of return object

2023-03-21 Thread Bruno Cardoso Lopes via cfe-commits
Author: Bruno Cardoso Lopes Date: 2023-03-21T21:42:25-07:00 New Revision: 43f5085fa80f716acf93870618b1d93ec85c1d01 URL: https://github.com/llvm/llvm-project/commit/43f5085fa80f716acf93870618b1d93ec85c1d01 DIFF: https://github.com/llvm/llvm-project/commit/43f5085fa80f716acf93870618b1d93ec85c1d01

[clang] 54225c4 - [Coroutines] Fix premature conversion of return object

2023-03-09 Thread Bruno Cardoso Lopes via cfe-commits
Author: Bruno Cardoso Lopes Date: 2023-03-09T14:18:26-08:00 New Revision: 54225c457a336b1609c6d064b2b606a9238a28b9 URL: https://github.com/llvm/llvm-project/commit/54225c457a336b1609c6d064b2b606a9238a28b9 DIFF: https://github.com/llvm/llvm-project/commit/54225c457a336b1609c6d064b2b606a9238a28b9

Re: [clang] 6ed67cc - [Coroutines] Remove -fcoroutines-ts

2023-03-01 Thread Bruno Cardoso Lopes via cfe-commits
Makes total sense, thank you for the clarification. On Mon, Feb 27, 2023 at 6:24 PM chuanqi.xcq wrote: > > Hi Bruno, > > We talked about removing `-fcoroutines-ts` in > https://github.com/llvm/llvm-project/issues/59110 > and https://reviews.llvm.org/D108697. I raised the example you used her

Re: [clang] 6ed67cc - [Coroutines] Remove -fcoroutines-ts

2023-02-27 Thread Bruno Cardoso Lopes via cfe-commits
> I understand that the name "coroutines-ts" isn't meaningful these > days, but it also sounds like this commit does more than remove the > flag, it caps useful functionality. How are users supposed to use > c++17 with coroutines now? It's very common in our codebase and we > have users relying on

Re: [clang] 6ed67cc - [Coroutines] Remove -fcoroutines-ts

2023-02-27 Thread Bruno Cardoso Lopes via cfe-commits
Hi Chuanqi, I know the warning mentions it to be removed in clang-17, but a heads up "landing in a week" or so would have been great :) I understand that the name "coroutines-ts" isn't meaningful these days, but it also sounds like this commit does more than remove the flag, it caps useful functi

[clang] 0b8daee - [Clang][SemaCXX][Coroutines] Fix misleading diagnostics with -Wunsequenced

2023-02-03 Thread Bruno Cardoso Lopes via cfe-commits
Author: Bruno Cardoso Lopes Date: 2023-02-03T15:37:29-08:00 New Revision: 0b8daee028a87ab8a6f8fe54d2eb2d5b5c2babd4 URL: https://github.com/llvm/llvm-project/commit/0b8daee028a87ab8a6f8fe54d2eb2d5b5c2babd4 DIFF: https://github.com/llvm/llvm-project/commit/0b8daee028a87ab8a6f8fe54d2eb2d5b5c2babd4

[clang] f4a13c9 - [Clang][ScanDeps] Change multiple-commands.c test to use -fmodules-cache-path on implicit builds

2022-09-09 Thread Bruno Cardoso Lopes via cfe-commits
Author: Bruno Cardoso Lopes Date: 2022-09-09T16:20:04-07:00 New Revision: f4a13c9c0a049d40e0365477c58c2a5369eda6dc URL: https://github.com/llvm/llvm-project/commit/f4a13c9c0a049d40e0365477c58c2a5369eda6dc DIFF: https://github.com/llvm/llvm-project/commit/f4a13c9c0a049d40e0365477c58c2a5369eda6dc

[clang] e6a76a4 - [Clang][CoverageMapping] Fix compile time explosions by adjusting only appropriated skipped ranges

2022-06-08 Thread Bruno Cardoso Lopes via cfe-commits
Author: Bruno Cardoso Lopes Date: 2022-06-08T23:13:39-07:00 New Revision: e6a76a49356efd11f5f36690181f0f60cecb2e01 URL: https://github.com/llvm/llvm-project/commit/e6a76a49356efd11f5f36690181f0f60cecb2e01 DIFF: https://github.com/llvm/llvm-project/commit/e6a76a49356efd11f5f36690181f0f60cecb2e01

[clang] ce54b22 - [Clang][CoverageMapping] Fix switch counter codegen compile time explosion

2022-05-26 Thread Bruno Cardoso Lopes via cfe-commits
Author: Bruno Cardoso Lopes Date: 2022-05-26T11:05:15-07:00 New Revision: ce54b22657f01d1c40de4941ceb6e7119848aecf URL: https://github.com/llvm/llvm-project/commit/ce54b22657f01d1c40de4941ceb6e7119848aecf DIFF: https://github.com/llvm/llvm-project/commit/ce54b22657f01d1c40de4941ceb6e7119848aecf

[clang] c9aaf34 - [SemaCXX] Handle lack of TypeSourceInfo on special member functions in templated lambdas

2021-06-22 Thread Bruno Cardoso Lopes via cfe-commits
Author: Bruno Cardoso Lopes Date: 2021-06-22T17:26:05-07:00 New Revision: c9aaf34b8db884faa3d3ced4d2fb88fd45697408 URL: https://github.com/llvm/llvm-project/commit/c9aaf34b8db884faa3d3ced4d2fb88fd45697408 DIFF: https://github.com/llvm/llvm-project/commit/c9aaf34b8db884faa3d3ced4d2fb88fd45697408

[clang] 819e0d1 - [CGAtomic] Lift strong requirement for remaining compare_exchange combinations

2021-05-06 Thread Bruno Cardoso Lopes via cfe-commits
Author: Bruno Cardoso Lopes Date: 2021-05-06T21:05:20-07:00 New Revision: 819e0d105e84c6081cfcfa0e38fd257b6124553a URL: https://github.com/llvm/llvm-project/commit/819e0d105e84c6081cfcfa0e38fd257b6124553a DIFF: https://github.com/llvm/llvm-project/commit/819e0d105e84c6081cfcfa0e38fd257b6124553a

[clang] 431e313 - [CGAtomic] Lift stronger requirements on cmpxch and support acquire failure mode

2021-03-23 Thread Bruno Cardoso Lopes via cfe-commits
Author: Bruno Cardoso Lopes Date: 2021-03-23T16:45:37-07:00 New Revision: 431e3138a1f3fd2bb7b25e1f4766d935058136f8 URL: https://github.com/llvm/llvm-project/commit/431e3138a1f3fd2bb7b25e1f4766d935058136f8 DIFF: https://github.com/llvm/llvm-project/commit/431e3138a1f3fd2bb7b25e1f4766d935058136f8

[clang] cffb0dd - [SemaTemplate] Stop passing insertion position around during VarTemplate instantiation

2020-10-12 Thread Bruno Cardoso Lopes via cfe-commits
Author: Bruno Cardoso Lopes Date: 2020-10-12T16:48:50-07:00 New Revision: cffb0dd54d41d8e249d2009467c4beb5b681ba26 URL: https://github.com/llvm/llvm-project/commit/cffb0dd54d41d8e249d2009467c4beb5b681ba26 DIFF: https://github.com/llvm/llvm-project/commit/cffb0dd54d41d8e249d2009467c4beb5b681ba26

[clang] d892eec - Reapply: Make header inclusion order from umbrella dirs deterministic

2020-04-21 Thread Bruno Cardoso Lopes via cfe-commits
Author: Bruno Cardoso Lopes Date: 2020-04-21T15:45:54-07:00 New Revision: d892eec710caae84099f38fdb89d32ca15a23c1a URL: https://github.com/llvm/llvm-project/commit/d892eec710caae84099f38fdb89d32ca15a23c1a DIFF: https://github.com/llvm/llvm-project/commit/d892eec710caae84099f38fdb89d32ca15a23c1a

[clang] 90f58ea - [ODRHash] Factor out functionality for CXXRecord ODR diagnostics (NFCI)

2020-01-22 Thread Bruno Cardoso Lopes via cfe-commits
Author: Bruno Cardoso Lopes Date: 2020-01-22T13:33:17-08:00 New Revision: 90f58eaeff5f1d5017e7b689fac79180cdfa0160 URL: https://github.com/llvm/llvm-project/commit/90f58eaeff5f1d5017e7b689fac79180cdfa0160 DIFF: https://github.com/llvm/llvm-project/commit/90f58eaeff5f1d5017e7b689fac79180cdfa0160

[clang] 3466ceb - Add a test to cover structural match for recursive data types

2019-11-14 Thread Bruno Cardoso Lopes via cfe-commits
Author: Bruno Cardoso Lopes Date: 2019-11-14T18:32:27-08:00 New Revision: 3466cebe94ba461b296bb1314e76118cc2823dfb URL: https://github.com/llvm/llvm-project/commit/3466cebe94ba461b296bb1314e76118cc2823dfb DIFF: https://github.com/llvm/llvm-project/commit/3466cebe94ba461b296bb1314e76118cc2823dfb

r374895 - Reapply: [Modules][PCH] Hash input files content

2019-10-15 Thread Bruno Cardoso Lopes via cfe-commits
Author: bruno Date: Tue Oct 15 07:23:55 2019 New Revision: 374895 URL: http://llvm.org/viewvc/llvm-project?rev=374895&view=rev Log: Reapply: [Modules][PCH] Hash input files content Summary: When files often get touched during builds, the mtime based validation leads to different problems in impli

Re: r374841 - [Modules][PCH] Hash input files content

2019-10-14 Thread Bruno Cardoso Lopes via cfe-commits
mitting file data ..done > Committing transaction... > Committed revision 374842. > Committed 175b1b856ea to svn. > > Sorry for the inconvenience! > > -eric > > On Mon, Oct 14, 2019 at 3:59 PM Bruno Cardoso Lopes via cfe-commits > wrote: > > > > Aut

r374841 - [Modules][PCH] Hash input files content

2019-10-14 Thread Bruno Cardoso Lopes via cfe-commits
Author: bruno Date: Mon Oct 14 16:02:03 2019 New Revision: 374841 URL: http://llvm.org/viewvc/llvm-project?rev=374841&view=rev Log: [Modules][PCH] Hash input files content Summary: When files often get touched during builds, the mtime based validation leads to different problems in implicit modul

r372039 - [Modules][Objective-C] Use complete decl from module when diagnosing missing import

2019-09-16 Thread Bruno Cardoso Lopes via cfe-commits
Author: bruno Date: Mon Sep 16 15:00:29 2019 New Revision: 372039 URL: http://llvm.org/viewvc/llvm-project?rev=372039&view=rev Log: [Modules][Objective-C] Use complete decl from module when diagnosing missing import Summary: Otherwise the definition (first found) for ObjCInterfaceDecl's might pr

r370422 - [Modules] Make ReadModuleMapFileBlock errors reliable

2019-08-29 Thread Bruno Cardoso Lopes via cfe-commits
Author: bruno Date: Thu Aug 29 16:14:08 2019 New Revision: 370422 URL: http://llvm.org/viewvc/llvm-project?rev=370422&view=rev Log: [Modules] Make ReadModuleMapFileBlock errors reliable This prevents a crash when an error should be emitted instead. During implicit module builds, there are cases

r348789 - [constexpr][c++2a] Try-catch blocks in constexpr functions

2018-12-10 Thread Bruno Cardoso Lopes via cfe-commits
Author: bruno Date: Mon Dec 10 11:03:12 2018 New Revision: 348789 URL: http://llvm.org/viewvc/llvm-project?rev=348789&view=rev Log: [constexpr][c++2a] Try-catch blocks in constexpr functions Implement support for try-catch blocks in constexpr functions, as proposed in http://wg21.link/P1002 and v

r342499 - [Modules] Add platform and environment features to requires clause

2018-09-18 Thread Bruno Cardoso Lopes via cfe-commits
Author: bruno Date: Tue Sep 18 10:11:13 2018 New Revision: 342499 URL: http://llvm.org/viewvc/llvm-project?rev=342499&view=rev Log: [Modules] Add platform and environment features to requires clause Allows module map writers to add build requirements based on platform/os. This helps when target f

r341902 - [Modules] Add imported modules to the output of -module-file-info

2018-09-10 Thread Bruno Cardoso Lopes via cfe-commits
Author: bruno Date: Mon Sep 10 22:17:13 2018 New Revision: 341902 URL: http://llvm.org/viewvc/llvm-project?rev=341902&view=rev Log: [Modules] Add imported modules to the output of -module-file-info Fix a bug in the deserialization of IMPORTS section and allow for imported modules to also be print

Re: r340114 - [analyzer] [NFC] Split up RetainSummaryManager from RetainCountChecker

2018-08-17 Thread Bruno Cardoso Lopes via cfe-commits
Hi George, This broke the modules build, reverted in r340117 for now. I can help you figure out any module map change if necessary next week. Thanks, On Fri, Aug 17, 2018 at 6:46 PM George Karpenkov via cfe-commits wrote: > > Author: george.karpenkov > Date: Fri Aug 17 18:45:50 2018 > New Revisi

r340117 - Revert "[analyzer] [NFC] Split up RetainSummaryManager from RetainCountChecker"

2018-08-17 Thread Bruno Cardoso Lopes via cfe-commits
Author: bruno Date: Fri Aug 17 20:22:11 2018 New Revision: 340117 URL: http://llvm.org/viewvc/llvm-project?rev=340117&view=rev Log: Revert "[analyzer] [NFC] Split up RetainSummaryManager from RetainCountChecker" This reverts commit a786521fa66c72edd308baff0c08961b6d964fb1. Bots haven't caught up

r337555 - [www] Add CodeCompass and CodeChecker to Clang Related Projects page

2018-07-20 Thread Bruno Cardoso Lopes via cfe-commits
Author: bruno Date: Fri Jul 20 07:46:10 2018 New Revision: 337555 URL: http://llvm.org/viewvc/llvm-project?rev=337555&view=rev Log: [www] Add CodeCompass and CodeChecker to Clang Related Projects page Modified: cfe/trunk/www/related.html Modified: cfe/trunk/www/related.html URL: http://llvm

r337447 - [PCH+Modules] Load -fmodule-map-file content before including PCHs

2018-07-19 Thread Bruno Cardoso Lopes via cfe-commits
Author: bruno Date: Thu Jul 19 05:32:06 2018 New Revision: 337447 URL: http://llvm.org/viewvc/llvm-project?rev=337447&view=rev Log: [PCH+Modules] Load -fmodule-map-file content before including PCHs Consider: 1) Generate PCH with -fmodules and -fmodule-map-file 2) Use PCH with -fmodules and the s

r337430 - Reapply r336660: [Modules] Autoload subdirectory modulemaps with specific LangOpts

2018-07-18 Thread Bruno Cardoso Lopes via cfe-commits
Author: bruno Date: Wed Jul 18 16:21:19 2018 New Revision: 337430 URL: http://llvm.org/viewvc/llvm-project?rev=337430&view=rev Log: Reapply r336660: [Modules] Autoload subdirectory modulemaps with specific LangOpts Summary: Reproducer and errors: https://bugs.llvm.org/show_bug.cgi?id=37878 look

r336920 - Revert "[modules] Fix 37878; Autoload subdirectory modulemaps with specific LangOpts"

2018-07-12 Thread Bruno Cardoso Lopes via cfe-commits
Author: bruno Date: Thu Jul 12 10:38:48 2018 New Revision: 336920 URL: http://llvm.org/viewvc/llvm-project?rev=336920&view=rev Log: Revert "[modules] Fix 37878; Autoload subdirectory modulemaps with specific LangOpts" This reverts commit f40124d4f05ecf4f880cf4e8f26922d861f705f3 / r336660. This

r336031 - Add protocol redefinition to the current scope/context

2018-06-29 Thread Bruno Cardoso Lopes via cfe-commits
Author: bruno Date: Fri Jun 29 17:49:27 2018 New Revision: 336031 URL: http://llvm.org/viewvc/llvm-project?rev=336031&view=rev Log: Add protocol redefinition to the current scope/context Not doing so causes the AST writter to assert since the decl in question never gets emitted. This is fine when

r335780 - [Modules][ObjC] Warn on the use of '@import' in framework headers

2018-06-27 Thread Bruno Cardoso Lopes via cfe-commits
Author: bruno Date: Wed Jun 27 13:29:36 2018 New Revision: 335780 URL: http://llvm.org/viewvc/llvm-project?rev=335780&view=rev Log: [Modules][ObjC] Warn on the use of '@import' in framework headers Using @import in framework headers inhibit the use of such headers when not using modules, this is

r335543 - Fix tests from r335542 to use %hmaptool

2018-06-25 Thread Bruno Cardoso Lopes via cfe-commits
Author: bruno Date: Mon Jun 25 15:25:48 2018 New Revision: 335543 URL: http://llvm.org/viewvc/llvm-project?rev=335543&view=rev Log: Fix tests from r335542 to use %hmaptool Modified: cfe/trunk/test/Modules/framework-public-includes-private.m Modified: cfe/trunk/test/Modules/framework-public-i

r335542 - Warning for framework include violation from Headers to PrivateHeaders

2018-06-25 Thread Bruno Cardoso Lopes via cfe-commits
Author: bruno Date: Mon Jun 25 15:24:17 2018 New Revision: 335542 URL: http://llvm.org/viewvc/llvm-project?rev=335542&view=rev Log: Warning for framework include violation from Headers to PrivateHeaders Framework vendors usually layout their framework headers in the following way: Foo.framework/

Re: r335375 - Re-apply: Warning for framework headers using double quote includes

2018-06-22 Thread Bruno Cardoso Lopes via cfe-commits
Hi Nico, > Why not enable it by default, or put it in -Wall at least? We don't like > off-by-default warnings :-) Thanks for double checking. There's an explanation/discussion in the review: https://reviews.llvm.org/D47157, let me know if you have additional questions. Cheers, -- Bruno Cardos

r335375 - Re-apply: Warning for framework headers using double quote includes

2018-06-22 Thread Bruno Cardoso Lopes via cfe-commits
Author: bruno Date: Fri Jun 22 11:05:17 2018 New Revision: 335375 URL: http://llvm.org/viewvc/llvm-project?rev=335375&view=rev Log: Re-apply: Warning for framework headers using double quote includes Introduce -Wquoted-include-in-framework-header, which should fire a warning whenever a quote incl

Re: r335330 - [hmaptool] Turn %hmaptool into a proper substitution

2018-06-22 Thread Bruno Cardoso Lopes via cfe-commits
Thanks Ben! On Fri, Jun 22, 2018 at 2:51 AM Benjamin Kramer via cfe-commits wrote: > > Author: d0k > Date: Fri Jun 22 02:46:40 2018 > New Revision: 335330 > > URL: http://llvm.org/viewvc/llvm-project?rev=335330&view=rev > Log: > [hmaptool] Turn %hmaptool into a proper substitution > > This is stil

r335295 - Re-apply: Add python tool to dump and construct header maps

2018-06-21 Thread Bruno Cardoso Lopes via cfe-commits
Author: bruno Date: Thu Jun 21 14:45:24 2018 New Revision: 335295 URL: http://llvm.org/viewvc/llvm-project?rev=335295&view=rev Log: Re-apply: Add python tool to dump and construct header maps Header maps are binary files used by Xcode, which are used to map header names or paths to other location

r335194 - Revert "Fix hmaptool cmake file to work on Windows"

2018-06-20 Thread Bruno Cardoso Lopes via cfe-commits
Author: bruno Date: Wed Jun 20 18:23:42 2018 New Revision: 335194 URL: http://llvm.org/viewvc/llvm-project?rev=335194&view=rev Log: Revert "Fix hmaptool cmake file to work on Windows" This reverts commit 63711c3cd337a0d22617579a904af07481139611, due to breaking bots: http://lab.llvm.org:8011/bui

  1   2   3   4   5   6   >