[clang] [clang][bytecode] Error on bitcasts to bool that aren't 0 or 1 (PR #149996)

2025-07-22 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr closed https://github.com/llvm/llvm-project/pull/149996 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang] Fix printing null MemberPointer APValues (PR #149995)

2025-07-22 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr closed https://github.com/llvm/llvm-project/pull/149995 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][bytecode] Activate primitive fields before initializing them (PR #149963)

2025-07-21 Thread Timm Baeder via cfe-commits
Timm =?utf-8?q?Bäder?= Message-ID: In-Reply-To: https://github.com/tbaederr updated https://github.com/llvm/llvm-project/pull/149963 >From 7fa404e88e104eea07f26f4959cf4d6e1768dc14 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Mon, 21 Jul 2025 16:56:27 +0200 Subject: [PAT

[clang] [clang][bytecode] Activate primitive fields before initializing them (PR #149963)

2025-07-21 Thread Timm Baeder via cfe-commits
Timm =?utf-8?q?Bäder?= Message-ID: In-Reply-To: https://github.com/tbaederr updated https://github.com/llvm/llvm-project/pull/149963 >From 08399fdaa0468d9e272a9fdc49871d57a9691529 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Mon, 21 Jul 2025 16:56:27 +0200 Subject: [PAT

[clang] [clang][bytecode] Activate primitive fields before initializing them (PR #149963)

2025-07-21 Thread Timm Baeder via cfe-commits
Timm =?utf-8?q?Bäder?= Message-ID: In-Reply-To: https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/149963 The initializer itself might need the field to be active. >From 08399fdaa0468d9e272a9fdc49871d57a9691529 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A

[clang] [clang][bytecode] Only implicitly start lifetime of trivially-default-constructible union members (PR #149835)

2025-07-21 Thread Timm Baeder via cfe-commits
@@ -25,11 +25,18 @@ using APSInt = llvm::APSInt; namespace clang { namespace interp { +static bool hasTrivialDefaultCtorParent(const FieldDecl *FD) { + assert(FD); + assert(FD->getParent()->isUnion()); + const auto *CXXRD = dyn_cast(FD->getParent()); + return !CXXRD || CXX

[clang] [clang][bytecode] Use OptPrimType instead of std::optional (PR #149812)

2025-07-21 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr closed https://github.com/llvm/llvm-project/pull/149812 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][bytecode] Only implicitly start lifetime of trivially-default-constructible union members (PR #149835)

2025-07-21 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/149835 See https://github.com/llvm/llvm-project/commit/faee39baa87e43f4b746dd77e479268391163658 >From 08399fdaa0468d9e272a9fdc49871d57a9691529 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Mon,

[clang] [clang][bytecode] Use OptPrimType instead of std::optional (PR #149812)

2025-07-21 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/149812 We use this construct a lot. Use something similar to clang's UnsignedOrNone. This results in some slighy compile time improvements: https://llvm-compile-time-tracker.com/compare.php?from=17a4b0399d161a3b89d8f

[clang] [clang][bytecode] Reintroduce Pointer::elem() (PR #149693)

2025-07-20 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr closed https://github.com/llvm/llvm-project/pull/149693 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][bytecode] Reintroduce Pointer::elem() (PR #149693)

2025-07-20 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr updated https://github.com/llvm/llvm-project/pull/149693 >From 52e71459ab39407590ebf92f48e150a0e0f21a5b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Sun, 20 Jul 2025 08:45:47 +0200 Subject: [PATCH] [clang][bytecode] Reintroduce Pointer::elem()

[clang] [clang][bytecode] Reintroduce Pointer::elem() (PR #149693)

2025-07-20 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/149693 As a way of writing atIndex(I).deref(), which creates an intermediate Pointer, which in turn adds (and removes) that pointer from the pointer list of the Block. This way we can avoid that. >From 6b0f913b9f7ef

[clang] [clang][bytecode] Use in Expr::tryEvaluateStrLen() (PR #149677)

2025-07-20 Thread Timm Baeder via cfe-commits
Timm =?utf-8?q?Bäder?= Message-ID: In-Reply-To: https://github.com/tbaederr closed https://github.com/llvm/llvm-project/pull/149677 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][bytecode] Use in Expr::tryEvaluateStrLen() (PR #149677)

2025-07-19 Thread Timm Baeder via cfe-commits
Timm =?utf-8?q?Bäder?= Message-ID: In-Reply-To: https://github.com/tbaederr edited https://github.com/llvm/llvm-project/pull/149677 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][bytecode] Use in Expr::tryEvaluateStrLen() (PR #149677)

2025-07-19 Thread Timm Baeder via cfe-commits
Timm =?utf-8?q?Bäder?= Message-ID: In-Reply-To: https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/149677 None >From 9db49be1f605ec039b984bd7df3e29c127df1866 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Sat, 19 Jul 2025 23:02:13 +0200 Subject

[clang] [clang][bytecode] Diagnose dereferencing a null pointer (PR #149330)

2025-07-19 Thread Timm Baeder via cfe-commits
Timm =?utf-8?q?Bäder?= Message-ID: In-Reply-To: https://github.com/tbaederr closed https://github.com/llvm/llvm-project/pull/149330 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][bytecode] Diagnose dereferencing a null pointer (PR #149330)

2025-07-19 Thread Timm Baeder via cfe-commits
Timm =?utf-8?q?Bäder?= Message-ID: In-Reply-To: https://github.com/tbaederr updated https://github.com/llvm/llvm-project/pull/149330 >From 452950ede23a7a21ca88db3600297d67935ddf51 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Thu, 17 Jul 2025 17:04:18 +0200 Subject: [PAT

[clang] [Clang] Be less strict about diagnosing null pointer dereference. (PR #149648)

2025-07-19 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr approved this pull request. Other than the small nit, LGTM https://github.com/llvm/llvm-project/pull/149648 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang] Be less strict about diagnosing null pointer dereference. (PR #149648)

2025-07-19 Thread Timm Baeder via cfe-commits
@@ -9346,9 +9346,12 @@ bool LValueExprEvaluator::VisitUnaryDeref(const UnaryOperator *E) { // [C++26][expr.unary.op] // If the operand points to an object or function, the result // denotes that object or function; otherwise, the behavior is undefined. - return Success

[clang] [clang][bytecode] Use bytecode interpreter in isPotentialConstantExprU… (PR #149462)

2025-07-18 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr closed https://github.com/llvm/llvm-project/pull/149462 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][bytecode] Use bytecode interpreter in isPotentialConstantExprU… (PR #149462)

2025-07-18 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr updated https://github.com/llvm/llvm-project/pull/149462 >From 909309e681b9bb917bd76979aff6c874369980ef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Fri, 18 Jul 2025 08:24:49 +0200 Subject: [PATCH] [clang][bytecode] Use bytecode interprete in i

[clang] [clang][bytecode] Use bytecode interpreter in isPotentialConstantExprU… (PR #149462)

2025-07-18 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr updated https://github.com/llvm/llvm-project/pull/149462 >From 13e2505f6c51c00e3fcfe7174ea4dc75865e0c9b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Fri, 18 Jul 2025 08:24:49 +0200 Subject: [PATCH] [clang][bytecode] Use bytecode interprete in i

[clang] [clang][bytecode] Use bytecode interpreter in isPotentialConstantExprU… (PR #149462)

2025-07-18 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr updated https://github.com/llvm/llvm-project/pull/149462 >From b944301437294502a1b5dc371ae60fe32437a6c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Fri, 18 Jul 2025 08:24:49 +0200 Subject: [PATCH] [clang][bytecode] Use bytecode interprete in i

[clang] [clang][bytecode] Fix const-in-mutable fields (PR #149286)

2025-07-18 Thread Timm Baeder via cfe-commits
Timm =?utf-8?q?Bäder?= Message-ID: In-Reply-To: https://github.com/tbaederr closed https://github.com/llvm/llvm-project/pull/149286 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][bytecode] Use bytecode interpreter in isPotentialConstantExprU… (PR #149462)

2025-07-18 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr updated https://github.com/llvm/llvm-project/pull/149462 >From 375d69e31f9c6cb4037fa643e368637cef755daf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Fri, 18 Jul 2025 08:24:49 +0200 Subject: [PATCH] [clang][bytecode] Use bytecode interprete in i

[clang] [clang][bytecode] Report mutable reads when copying unions (PR #149320)

2025-07-18 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr closed https://github.com/llvm/llvm-project/pull/149320 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][bytecode] Use bytecode interpreter in isPotentialConstantExprU… (PR #149462)

2025-07-18 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr updated https://github.com/llvm/llvm-project/pull/149462 >From 216f90bd097904c4f12f7a493b2b0eaeba6b9261 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Fri, 18 Jul 2025 08:24:49 +0200 Subject: [PATCH] [clang][bytecode] Use bytecode interprete in i

[clang] [clang][bytecode][NFC] Remove unused include (PR #149460)

2025-07-17 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr updated https://github.com/llvm/llvm-project/pull/149460 >From 8ff2f60e3a117bab546a441daa0ca8f3055ff890 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Fri, 18 Jul 2025 08:00:49 +0200 Subject: [PATCH] [clang][bytecode][NFC] Remove unused includes

[clang] [clang][bytecode][NFC] Remove unused include (PR #149460)

2025-07-17 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/149460 None >From 8de2c28e2743f1bf840b46dc8d88501f1f59f070 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Fri, 18 Jul 2025 08:00:49 +0200 Subject: [PATCH] [clang][bytecode][NFC] Remove unused incl

[clang] [clang][bytecode] Diagnose dereferencing a null pointer (PR #149330)

2025-07-17 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/149330 None >From ccea1fcbd2a848e679bca4d75a67b51795b468c5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Thu, 17 Jul 2025 17:04:18 +0200 Subject: [PATCH] [clang][bytecode] Diagnose dereferencing

[clang] [clang][bytecode] Fix const-in-mutable fields (PR #149286)

2025-07-17 Thread Timm Baeder via cfe-commits
Timm =?utf-8?q?Bäder?= Message-ID: In-Reply-To: https://github.com/tbaederr updated https://github.com/llvm/llvm-project/pull/149286 >From 34201c4031f90a09f4e4d8295f7fb4a261bbb864 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Thu, 17 Jul 2025 12:31:01 +0200 Subject: [PAT

[clang] [clang][bytecode] Report mutable reads when copying unions (PR #149320)

2025-07-17 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/149320 None >From 896c606f240e302f12a891aa9ddabba70f2e6364 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Thu, 17 Jul 2025 16:28:15 +0200 Subject: [PATCH] [clang][bytecode] Report mutable reads wh

[clang] [clang][bytecode] Fix const-in-mutable fields (PR #149286)

2025-07-17 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr updated https://github.com/llvm/llvm-project/pull/149286 >From 34201c4031f90a09f4e4d8295f7fb4a261bbb864 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Thu, 17 Jul 2025 12:31:01 +0200 Subject: [PATCH] [clang][bytecode] Fix const-in-mutable fields

[clang] [clang][bytecode] Fix const-in-mutable fields (PR #149286)

2025-07-17 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr updated https://github.com/llvm/llvm-project/pull/149286 >From 3ff796f7b6f09143de36746ea3e024a2903e26f2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Thu, 17 Jul 2025 12:31:01 +0200 Subject: [PATCH] [clang][bytecode] Fix const-in-mutable fields

[clang] [clang][bytecode] Fix const-in-mutable fields (PR #149286)

2025-07-17 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/149286 For mutable and const fields, we have two bits in InlineDescriptor, which both get inherited down the hierarchy. When a field is both const and mutable, we CAN read from it if it is a mutable-in-const field, b

[clang] [clang][bytecode] Fix contains check using llvm::find (PR #149050)

2025-07-16 Thread Timm Baeder via cfe-commits
Timm =?utf-8?q?Bäder?= Message-ID: In-Reply-To: https://github.com/tbaederr closed https://github.com/llvm/llvm-project/pull/149050 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][bytecode] Fix contains check using llvm::find (PR #149050)

2025-07-16 Thread Timm Baeder via cfe-commits
Timm =?utf-8?q?Bäder?= Message-ID: In-Reply-To: @@ -575,7 +575,8 @@ bool CheckConst(InterpState &S, CodePtr OpPC, const Pointer &Ptr) { // The This pointer is writable in constructors and destructors, // even if isConst() returns true. - if (llvm::find(S.InitializingB

[clang] [clang][bytecode] Fix contains check using llvm::find (PR #149050)

2025-07-16 Thread Timm Baeder via cfe-commits
Timm =?utf-8?q?Bäder?= Message-ID: In-Reply-To: https://github.com/tbaederr updated https://github.com/llvm/llvm-project/pull/149050 >From 361077f6389b7764f1b9ea3084a6caeb51d4cd52 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Wed, 16 Jul 2025 11:40:07 +0200 Subject: [PAT

[clang] [clang][bytecode] Fix contains check using llvm::find (PR #149050)

2025-07-16 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/149050 We need to compare to the end() interator. >From 361077f6389b7764f1b9ea3084a6caeb51d4cd52 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Wed, 16 Jul 2025 11:40:07 +0200 Subject: [PATCH] [cl

[clang] [clang][bytecode][NFC] Remove unused function prototypes (PR #149031)

2025-07-16 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr closed https://github.com/llvm/llvm-project/pull/149031 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][bytecode][NFC] Remove unused function prototypes (PR #149031)

2025-07-16 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/149031 None >From 1f241f7aba6f82fe2d4b12725e4ccdd3642a37ba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Wed, 16 Jul 2025 09:44:14 +0200 Subject: [PATCH] [clang][bytecode][NFC] Remove unused func

[clang] [clang][bytecode] Make union activation more granular (PR #148835)

2025-07-16 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr closed https://github.com/llvm/llvm-project/pull/148835 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][bytecode] Make union activation more granular (PR #148835)

2025-07-15 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr updated https://github.com/llvm/llvm-project/pull/148835 >From 373b27e386ce9b04f4fb9333b890e17295ce8833 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Tue, 15 Jul 2025 13:14:57 +0200 Subject: [PATCH] [clang][bytecode] Make union activation more gr

[clang] [clang][bytecode] Make union activation more granular (PR #148835)

2025-07-15 Thread Timm Baeder via cfe-commits
tbaederr wrote: A little better: https://llvm-compile-time-tracker.com/compare.php?from=952f225a7b575f1a431f8eed391605e7acc0d072&to=7b226fba8d1ff31356b6a6a62ee810ed8d7f98fd&stat=instructions:u https://github.com/llvm/llvm-project/pull/148835 ___ cfe-c

[clang] [clang][bytecode] Make union activation more granular (PR #148835)

2025-07-15 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr updated https://github.com/llvm/llvm-project/pull/148835 >From 49c3bd4e218ffeb3b8ccf4131da84fb4a70c7325 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Tue, 15 Jul 2025 13:14:57 +0200 Subject: [PATCH] [clang][bytecode] Make union activation more gr

[clang] [clang][bytecode] Make union activation more granular (PR #148835)

2025-07-15 Thread Timm Baeder via cfe-commits
tbaederr wrote: Unfortunately some negative impact on compile times: https://llvm-compile-time-tracker.com/compare.php?from=8fb3c271dafd158d36a17212ab609294d725c230&to=51547a1e34c8377d16090930b6af5509dd164a05&stat=instructions:u https://github.com/llvm/llvm-project/pull/148835 _

[clang] [clang][bytecode] Make union activation more granular (PR #148835)

2025-07-15 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/148835 Only activate things if the syntactical structure suggests so. This adds a bunch of new opcodes to control whether to activate in stores, etc. Fixes #134789 >From c3f688f6808ad1b36d0c11cc1cd14e8d7422998d Mon

[clang] [Clang] Do not treat Foo -> const Foo conversion sequences as perfect (PR #148613)

2025-07-14 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr edited https://github.com/llvm/llvm-project/pull/148613 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][bytecode] Remove needless global check (PR #148163)

2025-07-11 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr closed https://github.com/llvm/llvm-project/pull/148163 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][bytecode] Remove needless global check (PR #148163)

2025-07-11 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/148163 Remove the call to D->hasGlobalStorage(), since we never reach this point for local variables. >From 39bd7c5dff416b3ae4c156835aa27aadcaea704c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date:

[clang] [clang][bytecode] Check lambda captures before binding decls (PR #148130)

2025-07-11 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr closed https://github.com/llvm/llvm-project/pull/148130 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][bytecode] Allocate Record fields and bases via Program (PR #147909)

2025-07-11 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr edited https://github.com/llvm/llvm-project/pull/147909 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][bytecode] Keep a list of initializing blocks in InterpState (PR #148120)

2025-07-11 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr closed https://github.com/llvm/llvm-project/pull/148120 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][bytecode] Keep a list of initializing blocks in InterpState (PR #148120)

2025-07-10 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/148120 So we can know what blocks we're currently running constructors or destructors for. >From 047fa0e0bc313548227c724b5b32ce862199f301 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Thu, 10 Ju

[clang] [clang][bytecode][NFC] Move Pointer::StorageKind above the union (PR #147942)

2025-07-10 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr closed https://github.com/llvm/llvm-project/pull/147942 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][bytecode][NFC] Move Pointer::StorageKind above the union (PR #147942)

2025-07-10 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr updated https://github.com/llvm/llvm-project/pull/147942 >From 86d5da314fd23bd135549773badc9893b5aee85a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Thu, 10 Jul 2025 13:52:10 +0200 Subject: [PATCH] [clang][bytecode][NFC] Move Pointer::StorageKin

[clang] [clang][bytecode][NFC] Move Pointer::StorageKind above the union (PR #147942)

2025-07-10 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/147942 This is easier to read in debuggers and more common. >From c2f5d0eb65d0f6b291ccfa41603f9800fda6a756 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Thu, 10 Jul 2025 13:52:10 +0200 Subject: [

[clang] [clang][bytecode] Allocate Record Fields and bases via Program (PR #147909)

2025-07-10 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr updated https://github.com/llvm/llvm-project/pull/147909 >From b23c75ff781875da10baa9e6f033ed5358c0cf02 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Thu, 10 Jul 2025 09:21:57 +0200 Subject: [PATCH] [clang][bytecode] Allocate Record Fields and ba

[clang] [clang][bytecode] Allocate Record Fields and bases via Program (PR #147909)

2025-07-10 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/147909 Records have Program-lifetime, but we used to allocate their fields, bases and virtual bases using llvm::SmallVector. However, after creating a Record, it doesn't change and we know all the number of elements

[clang] [clang][bytecode] Implement missing elementwise builtins (PR #147892)

2025-07-09 Thread Timm Baeder via cfe-commits
Timm =?utf-8?q?Bäder?= Message-ID: In-Reply-To: https://github.com/tbaederr closed https://github.com/llvm/llvm-project/pull/147892 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][bytecode] Check new/delete mismatch earlier (PR #147732)

2025-07-09 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr closed https://github.com/llvm/llvm-project/pull/147732 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][bytecode] Implement missing elementwise builtins (PR #147892)

2025-07-09 Thread Timm Baeder via cfe-commits
Timm =?utf-8?q?Bäder?= Message-ID: In-Reply-To: https://github.com/tbaederr updated https://github.com/llvm/llvm-project/pull/147892 >From 8cfa60433b285accc0fb58531ad9ee5c74fe46d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Thu, 10 Jul 2025 07:25:15 +0200 Subject: [PAT

[clang] [clang][bytecode] Implement missing elementwise builtins (PR #147892)

2025-07-09 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/147892 None >From 8cfa60433b285accc0fb58531ad9ee5c74fe46d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Thu, 10 Jul 2025 07:25:15 +0200 Subject: [PATCH] [clang][bytecode] Implement missing eleme

[clang] [clang][bytecode] Check new/delete mismatch earlier (PR #147732)

2025-07-09 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/147732 This fixes a mismatch in diagnostic output with the current intepreter. >From 5d9464124dc09bde2b697d7bfc0f224b030a0bab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Wed, 9 Jul 2025 15:17:2

[clang] [clang][bytecode] Devirtualize calls during con- and destruction (PR #147685)

2025-07-09 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr closed https://github.com/llvm/llvm-project/pull/147685 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][bytecode] Devirtualize calls during con- and destruction (PR #147685)

2025-07-09 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/147685 When compiliung compiling a ctor or dtor, we need to devirtualize the virtual function calls so we always call the implementation of the current class. >From f90b3cc2aecf0d882b3a93719ad05ddfceadc513 Mon Sep 17

[clang] [clang][bytecode] Diagnose constexpr-unknown dummy pointers differently (PR #147660)

2025-07-09 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr closed https://github.com/llvm/llvm-project/pull/147660 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][bytecode][NFC] Don't push anything in OffsetHelper (PR #147550)

2025-07-09 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr closed https://github.com/llvm/llvm-project/pull/147550 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][test] Fix RUN lines in cxx2a-constexpr-dynalloc.cpp (PR #147590)

2025-07-08 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr closed https://github.com/llvm/llvm-project/pull/147590 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][bytecode] Create a temporary for discarded CXXBindTemporaryExprs (PR #147303)

2025-07-08 Thread Timm Baeder via cfe-commits
@@ -3,6 +3,11 @@ // RUN: %clang_cc1 -std=c++2a -verify=expected,cxx20 %s "-DNEW=::operator new" "-DDELETE=::operator delete" // RUN: %clang_cc1 -std=c++2c -verify=expected,cxx26 %s "-DNEW=::operator new" "-DDELETE=::operator delete" +// RUN: %clang_cc1 -std=c++2a -verify=exp

[clang] [clang][test] Fix RUN lines in cxx2a-constexpr-dynalloc.cpp (PR #147590)

2025-07-08 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/147590 These were added in https://github.com/llvm/llvm-project/pull/147303, but the -fexperimental-new-constant-interpreter was missing. >From d37db46dd55d3948cd6c7d002c9e9dd5edc2568c Mon Sep 17 00:00:00 2001 From:

[clang] [clang][bytecode][NFC] Don't push anything in OffsetHelper (PR #147550)

2025-07-08 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/147550 Instead, return the new Pointer. This was weird before because some callers had to get the value from the stack again to perform further operations. >From e0dc4095477f345470a37e3b826385822448078e Mon Sep 17 00

[clang] [clang][bytecode] Fix __builtin_is_within_lifetime in initializers (PR #147480)

2025-07-08 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr closed https://github.com/llvm/llvm-project/pull/147480 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][bytecode] Don't crash on erroneous switch conditions (PR #147533)

2025-07-08 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr closed https://github.com/llvm/llvm-project/pull/147533 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][bytecode] Don't crash on erroneous switch conditions (PR #147533)

2025-07-08 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/147533 Not attaching a test since I've only seen this when compiling a large c++26 test case as c++17. >From fe3d8b287ddeff8730ee3c235aaa7f237703faaf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date

[clang] [clang][bytecode] Fix __builtin_is_within_lifetime in initializers (PR #147480)

2025-07-08 Thread Timm Baeder via cfe-commits
@@ -2208,15 +2208,27 @@ static bool interp__builtin_is_within_lifetime(InterpState &S, CodePtr OpPC, if (Ptr.isOnePastEnd()) return Error(1); - bool Result = true; + bool Result = Ptr.getLifetime() != Lifetime::Ended; if (!Ptr.isActive()) { Result = false;

[clang] [clang][bytecode] Fix __builtin_is_within_lifetime in initializers (PR #147480)

2025-07-08 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr updated https://github.com/llvm/llvm-project/pull/147480 >From 65064c550da607bc4550c5764932d0160d53c3ce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Tue, 8 Jul 2025 09:32:37 +0200 Subject: [PATCH] [clang][bytecode] Fix __builtin_is_within_lifeti

[clang] [clang][test] Avoid some C++14 warnings in discrim-union.cpp (PR #146829)

2025-07-08 Thread Timm Baeder via cfe-commits
tbaederr wrote: Ping https://github.com/llvm/llvm-project/pull/146829 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][bytecode] Fix __builtin_is_within_lifetime in initializers (PR #147480)

2025-07-08 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/147480 None >From e064acdb14edeb4e70463ccdb1726317e81a1a18 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Tue, 8 Jul 2025 09:32:37 +0200 Subject: [PATCH] [clang][bytecode] Fix __builtin_is_within_

[clang] [clang][bytecode] Fix activating nested unions (PR #147338)

2025-07-07 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr updated https://github.com/llvm/llvm-project/pull/147338 >From 8b42dbd7659ce5e424fb107a0d375f449a8d44a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Mon, 7 Jul 2025 18:06:04 +0200 Subject: [PATCH] [clang][bytecode] Fix activating nested unions

[clang] [clang][bytecode] Create a temporary for discarded CXXBindTemporaryExprs (PR #147303)

2025-07-07 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr closed https://github.com/llvm/llvm-project/pull/147303 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][bytecode] Fix activating nested unions (PR #147338)

2025-07-07 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/147338 When activating the new pointer, we need to de-activate pointers of all parent unions, not just the topmost one. >From 2e4627dbde65aecbde9080c0edff5805d2c60890 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B

[clang] [clang][bytecode] Create a temporary for discarded CXXBindTemporaryExprs (PR #147303)

2025-07-07 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/147303 So we run the destructor. >From c567da7e6be38496e428015af6fb2a5daf60b450 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Mon, 7 Jul 2025 15:48:14 +0200 Subject: [PATCH] [clang][bytecode] Cre

[clang] [clang][bytecode] Fix APValue generation for RValueReferenceType (PR #147207)

2025-07-06 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr closed https://github.com/llvm/llvm-project/pull/147207 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][bytecode] Fix APValue generation for RValueReferenceType (PR #147207)

2025-07-06 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/147207 We need to ignore the lvalue path, just like we do for lvalue reference types. >From aaa42f44c12a10070c1ad94965e2f63574600b1e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Sun, 6 Jul 2025

[clang] [clang][bytecode] Fix visiting for-range loop variable (PR #147188)

2025-07-06 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr closed https://github.com/llvm/llvm-project/pull/147188 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][bytecode] Fix visiting for-range loop variable (PR #147188)

2025-07-06 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr updated https://github.com/llvm/llvm-project/pull/147188 >From 62b8ba3e78eaeb1b3d68778443a8ae21a0f6769b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Sun, 6 Jul 2025 15:07:47 +0200 Subject: [PATCH] [clang][bytecode] Fix visiting for-range loop va

[clang] [clang][bytecode] Fix a crash in overflow builtins (PR #147189)

2025-07-06 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr closed https://github.com/llvm/llvm-project/pull/147189 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][bytecode] Fix a crash in overflow builtins (PR #147189)

2025-07-06 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/147189 Only initialize pointers that can be initialized. >From 3a2009eb23c0ffab62103c0097a9cb273d315efe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Sun, 6 Jul 2025 15:19:09 +0200 Subject: [PATC

[clang] [clang][bytecode] Fix visiting for-range loop variable (PR #147188)

2025-07-06 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/147188 Make sure we're properly registering DecompositionDecls. >From 30dc7c787428bb601c6740d969e16ff8ea345d43 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Sun, 6 Jul 2025 15:07:47 +0200 Subject

[clang] [clang][bytecode] Misc union fixes (PR #146824)

2025-07-06 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr closed https://github.com/llvm/llvm-project/pull/146824 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][bytecode] Narrow allocated single-array Pointer (PR #147160)

2025-07-05 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr closed https://github.com/llvm/llvm-project/pull/147160 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][bytecode] Narrow allocated single-array Pointer (PR #147160)

2025-07-05 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/147160 Since the result should not be an array element. >From 231e1c5de7aef91d176da018fc44735bb62d76c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Sat, 5 Jul 2025 20:27:19 +0200 Subject: [PATCH

[clang] [clang][bytecode] Fix comparing pointers pointing to base classes (PR #146285)

2025-07-05 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr closed https://github.com/llvm/llvm-project/pull/146285 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][bytecode] Misc union fixes (PR #146824)

2025-07-05 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr updated https://github.com/llvm/llvm-project/pull/146824 >From 26b5446d582e1dade9aea0091be36cf813effb4b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Thu, 3 Jul 2025 09:07:08 +0200 Subject: [PATCH] [clang][bytecode] Misc union fixes First, don't

[clang] [clang][bytecode] Misc union fixes (PR #146824)

2025-07-05 Thread Timm Baeder via cfe-commits
Timm =?utf-8?q?Bäder?= Message-ID: In-Reply-To: https://github.com/tbaederr updated https://github.com/llvm/llvm-project/pull/146824 >From df7c4f770e726efacf3a70328b31936add017eea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Sat, 5 Jul 2025 18:10:38 +0200 Subject: [PATC

[clang] [clang][bytecode] Misc union fixes (PR #146824)

2025-07-05 Thread Timm Baeder via cfe-commits
Timm =?utf-8?q?Bäder?= Message-ID: In-Reply-To: https://github.com/tbaederr updated https://github.com/llvm/llvm-project/pull/146824 >From e84fcfaecf9ed2352bb18592d47e57e53ab3729f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Sat, 5 Jul 2025 18:10:38 +0200 Subject: [PATC

[clang] [clang][bytecode] Fix copy constructors for empty unions (PR #147050)

2025-07-04 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr closed https://github.com/llvm/llvm-project/pull/147050 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][bytecode] Fix copy constructors for empty unions (PR #147050)

2025-07-04 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/147050 Nothing to do in that case. >From bf0977ba63cee20938dccb1d39e9c53891180a18 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Fri, 4 Jul 2025 15:13:20 +0200 Subject: [PATCH] [clang][bytecode] F

[clang] [Clang] Fix evaluation context of lambdas appearing in discarded statements (PR #146857)

2025-07-03 Thread Timm Baeder via cfe-commits
@@ -18252,6 +18252,11 @@ static bool isImplicitlyDefinableConstexprFunction(FunctionDecl *Func) { if (Func->isImplicitlyInstantiable() || !Func->isUserProvided()) return true; + + // Lambda conversion operators are never user provided tbaederr wrote:

  1   2   3   4   5   6   7   8   9   10   >