[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:

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

2025-07-03 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr updated https://github.com/llvm/llvm-project/pull/146829 >From c193cfbdd9215ee1dbd84e00ecb47a51542da98b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Thu, 3 Jul 2025 09:57:40 +0200 Subject: [PATCH] [clang][test] Avoid some C++14 warnings in discr

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

2025-07-03 Thread Timm Baeder via cfe-commits
tbaederr wrote: yes, done. 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][test] Avoid some C++14 warnings in discrim-union.cpp (PR #146829)

2025-07-03 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/146829 Before this patch, we emitted a bunch of irrelevant (to this test) warnings: ``` ../clang/test/SemaCXX/discrim-union.cpp:49:24: warning: 'constexpr' non-static member function will not be implicitly 'const' i

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

2025-07-03 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/146824 First, don't forget to also activate fields which are bitfields on assignment. Second, when deactivating fields, recurse into records. >From 590c6778439fd1410ce17793ddeb03de055771e0 Mon Sep 17 00:00:00 2001 Fr

[clang] [libcxx] [Clang] Diagnose forming references to nullptr (PR #143667)

2025-07-02 Thread Timm Baeder via cfe-commits
@@ -1662,9 +1662,11 @@ namespace NullptrCast { constexpr A *na = nullptr; constexpr B *nb = nullptr; constexpr A &ra = *nb; // both-error {{constant expression}} \ - // both-note {{cannot access base class of null pointer}} +

[clang] [clang][bytecode] Add back missing initialize call (PR #146589)

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

[clang] [clang][bytecode] Add back missing initialize call (PR #146589)

2025-07-01 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/146589 This was only accidentally dropped, so add it back. >From 6cf4ca471adacf319acf1fb73e60f664540ac88e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Tue, 1 Jul 2025 20:46:18 +0200 Subject: [PA

[clang] [clang][bytecode] Check pointer data type for bitcast eligibility (PR #146552)

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

[clang] [clang][bytecode] Check pointer data type for bitcast eligibility (PR #146552)

2025-07-01 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/146552 So we get the proper type for a heap-allocated value. >From e8209bfa48669fc77e38ed9d20fd15d7795fdd35 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Tue, 1 Jul 2025 17:37:10 +0200 Subject: [

[clang] [clang][bytecode] Allocate operator new data as array (PR #146471)

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

[clang] [clang][bytecode] Remove unused InRange function (PR #146509)

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

[clang] [clang][bytecode] Remove unused InRange function (PR #146509)

2025-07-01 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/146509 None >From 781729955642e65bf245bf36ec7b9de3a406397a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Tue, 1 Jul 2025 13:37:09 +0200 Subject: [PATCH] [clang][bytecode] Remove unused InRange fu

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

2025-07-01 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr updated https://github.com/llvm/llvm-project/pull/146285 >From 58df80ee9d5882739e4a6c30833c28ab3f22ca8b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Sun, 29 Jun 2025 06:58:21 +0200 Subject: [PATCH] asdf --- clang/lib/AST/ByteCode/Interp.h

[clang] [Clang][Bytecode] Implement P1061 structured binding pack (PR #146474)

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

[clang] [Clang][Bytecode] Implement P1061 structured binding pack (PR #146474)

2025-07-01 Thread Timm Baeder via cfe-commits
@@ -17,7 +18,7 @@ struct fake_tuple { int arr[4] = {1, 2, 3, 6}; template - int get() { + constexpr int& get() { tbaederr wrote: Were these two functions never called in a constant context before? https://github.com/llvm/llvm-project/pull/146474 _

[clang] [clang][bytecode] Classify variable initializer, not the decl (PR #146338)

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

[clang] [clang][bytecode] Classify variable initializer, not the decl (PR #146338)

2025-06-30 Thread Timm Baeder via cfe-commits
Timm =?utf-8?q?Bäder?= , Timm =?utf-8?q?Bäder?= Message-ID: In-Reply-To: https://github.com/tbaederr updated https://github.com/llvm/llvm-project/pull/146338 >From d43486a8380dfc1d7287df405b01087a71ae1cdc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Mon, 30 Jun 2025 13:

[clang] [clang][bytecode] Add `Descriptor::hasTrivialDtor()` (PR #146286)

2025-06-30 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/146286 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][bytecode] Classify variable initializer, not the decl (PR #146338)

2025-06-30 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/146338 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][bytecode] Classify variable initializer, not the decl (PR #146338)

2025-06-30 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/146338 >From d43486a8380dfc1d7287df405b01087a71ae1cdc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Mon, 30 Jun 2025 13:43:30 +0200 Subject: [PAT

[clang] [clang][bytecode] Classify variable initializer, not the decl (PR #146338)

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

[clang] [clang] Avoid printing overly large integer/_BitInt numbers in static assertion failure diagnostics #71675 (PR #145053)

2025-06-30 Thread Timm Baeder via cfe-commits
@@ -17575,7 +17576,21 @@ static bool ConvertAPValueToString(const APValue &V, QualType T, break; } } - V.getInt().toString(Str); + + llvm::APSInt vInt = V.getInt(); + if (llvm::APSInt::compareValues( + vInt, llvm::APSInt::get

[clang] [clang][bytecode] Classify varible initializer, not the decl (PR #146338)

2025-06-30 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr updated https://github.com/llvm/llvm-project/pull/146338 >From d43486a8380dfc1d7287df405b01087a71ae1cdc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Mon, 30 Jun 2025 13:43:30 +0200 Subject: [PATCH] [clang][bytecode] Classify varible initializer,

[clang] [clang][bytecode] Classify varible initializer, not the decl (PR #146338)

2025-06-30 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/146338 I'm not attaching a test case because I wasn't able to reproduce. The backtrace looks as follows: ``` frame #10: 0x7fffdedf0b0d libclang-cpp.so.21.0git`clang::interp::Context::evaluateAsInitializer(th

[clang] [clang][bytecode][NFC] Remove some dead code (PR #146287)

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

[clang] [clang][bytecode] Add `Descriptor::hasTrivialDtor()` (PR #146286)

2025-06-29 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/146286 >From a034db206e38bc4473bb47e152a7078e7348649a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Wed, 25 Jun 2025 10:27:56 +0200 Subject: [PAT

[clang] [clang][bytecode][NFC] Remove some dead code (PR #146287)

2025-06-29 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/146287 None >From 7812277876bfa5ac75c110d582dea98924339858 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Sun, 29 Jun 2025 21:19:22 +0200 Subject: [PATCH] [clang][bytecode][NFC] Remove some dead c

[clang] [clang][bytecode] Add `Descriptor::hasTrivialDtor()` (PR #146286)

2025-06-29 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/146286 We sometimes used to have a long list of ``` GetLocalPtr PopPtr [...] ``` ops at the end of scopes, because we first got a pointer to a local variable and only then did we figure out that we didn't ac

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

2025-06-29 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/146285 In the attached test case, one pointer points to the `Derived` class and one to `Base`, but they should compare equal. They didn't because those two bases are saved at different offsets in the block. Use `comp

[clang] [clang] [Sema] Suggest [[noreturn]] for void functions that always throw (PR #146234)

2025-06-29 Thread Timm Baeder via cfe-commits
@@ -1979,6 +1979,13 @@ void clang::inferNoReturnAttr(Sema &S, const Decl *D) { if (!FD->hasAttr() && !FD->hasAttr() && isKnownToAlwaysThrow(FD)) { NonConstFD->addAttr(InferredNoReturnAttr::CreateImplicit(S.Context)); + +// Conditionally, emit the suggestion warn

[clang] [Clang][ByteCode][NFC] Avoid copies by using move in Disasm.cpp (PR #146127)

2025-06-27 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr approved this pull request. https://github.com/llvm/llvm-project/pull/146127 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang][ByteCode][NFC] Misc minor performance fixes (PR #145988)

2025-06-26 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr approved this pull request. https://github.com/llvm/llvm-project/pull/145988 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang] Avoid printing overly large integer/_BitInt numbers in static assertion failure diagnostics #71675 (PR #145053)

2025-06-26 Thread Timm Baeder via cfe-commits
tbaederr wrote: What are the times with the full `__BITINT_MAXWIDTH__` without the right-shift? https://github.com/llvm/llvm-project/pull/145053 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe

[clang] [Serialization] Remove delta encoding optimization (PR #145670)

2025-06-25 Thread Timm Baeder via cfe-commits
@@ -733,16 +731,14 @@ class ASTWriter : public ASTDeserializationListener, void AddFileID(FileID FID, RecordDataImpl &Record); /// Emit a source location. - void AddSourceLocation(SourceLocation Loc, RecordDataImpl &Record, - LocSeq *Seq = nullptr)

[clang] [clang][bytecode] Fix IntegralAP::{isMin,isMax} (PR #145339)

2025-06-24 Thread Timm Baeder via cfe-commits
tbaederr wrote: Yes, you need https://github.com/llvm/llvm-project/commit/0e461d1781f1c67cc2724150c6da848f6ea75f3a as well https://github.com/llvm/llvm-project/pull/145339 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org

[clang] [clang][bytecode] Fix IntegralAP::{isMin,isMax} (PR #145339)

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

[clang] [clang][bytecode] Remove incorrect assertion (PR #145341)

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

[clang] [clang][bytecode] Remove incorrect assertion (PR #145341)

2025-06-23 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/145341 P.block() will assert that P is a block pointer, which it doesn't have to be here. >From 598d2a9d4c5e31749e79c35802d4b3b3ca8773be Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Mon, 23 Jun

[clang] [clang][bytecode] Fix IntegralAP::{isMin,isMax} (PR #145339)

2025-06-23 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/145339 We need to take signeness into account here. >From fade41f6df27da0c20751276aa8586bb1540bbf7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Mon, 23 Jun 2025 17:10:20 +0200 Subject: [PATCH] [

[clang] [clang][bytecode] Fix assignInteger() with allocated primtypes (PR #145302)

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

[clang] [clang][bytecode] Fix shifts with an allocated RHS (PR #145280)

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

[clang] [clang][bytecode] Fix shifts with an allocated RHS (PR #145280)

2025-06-23 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/145280 This was broken before because we ended up using a constructor that was disabled via assert(false). Use ShiftAP() if either LHS or RHS is allocated. >From 58751e9c9b5d9c2437c6a3a6f22b16c5aba8b8ab Mon Sep 17 00

[clang] [clang][bytecode] Fix assignInteger() with allocated primtypes (PR #145302)

2025-06-23 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/145302 None >From 33eadba2a8d300be67cab69540537589400f7b96 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Mon, 23 Jun 2025 12:00:20 +0200 Subject: [PATCH] [clang][bytecode] Fix assignInteger() wit

[clang] Reapply "Reapply "[clang][bytecode] Allocate IntegralAP and Floating … (PR #145014)

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

[clang] Reapply "Reapply "[clang][bytecode] Allocate IntegralAP and Floating … (PR #145014)

2025-06-20 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/145014 …types usi… (#144676)" This reverts commit 68471d29eed2c49f9b439e505b3f24d387d54f97. IntegralAP contains a union: union { uint64_t *Memory = nullptr; uint64_t Val; }; On 64bit systems, both Memory

[clang] [clang][bytecode] Allocate IntegralAP and Floating types using an allocator (PR #144246)

2025-06-19 Thread Timm Baeder via cfe-commits
Timm =?utf-8?q?Bäder?= , Timm =?utf-8?q?Bäder?= Message-ID: In-Reply-To: tbaederr wrote: Can you try applying ```diff diff --git i/clang/lib/AST/ByteCode/IntegralAP.h w/clang/lib/AST/ByteCode/IntegralAP.h index 0280ea072ca9..4c1fb61e3e15 100644 --- i/clang/lib/AST/ByteCode/IntegralAP.h +++ w

[clang] [clang][bytecode] Allocate IntegralAP and Floating types using an allocator (PR #144246)

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

[clang] [clang][bytecode] Allocate IntegralAP and Floating types using an allocator (PR #144246)

2025-06-16 Thread Timm Baeder via cfe-commits
Timm =?utf-8?q?Bäder?= , Timm =?utf-8?q?Bäder?= Message-ID: In-Reply-To: @@ -17,63 +17,80 @@ #include "clang/AST/APValue.h" #include "llvm/ADT/APFloat.h" +// XXX This is just a debugging help. Setting this to 1 will heap-allocate ALL +// floating values. +#define ALLOCATE_A

  1   2   3   4   5   6   7   8   9   10   >