[clang] [clang][bytecode] Start implementing __builtin_bit_cast (PR #112126)

2024-10-16 Thread Timm Baeder via cfe-commits
tbaederr wrote: Also, I've removed the logic for tracking uninitialized/indeterminate bits for now since it can be added later. https://github.com/llvm/llvm-project/pull/112126 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm

[clang] [clang][bytecode] Start implementing __builtin_bit_cast (PR #112126)

2024-10-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/112126 >From 1cf8a3bd76adfd5595c000e2ad86fb1db5b96a8d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Sun, 13 Oct 2024 08:57:48 +0200 Subject: [PAT

[clang] [clang][bytecode] Start implementing __builtin_bit_cast (PR #112126)

2024-10-16 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr updated https://github.com/llvm/llvm-project/pull/112126 >From 1cf8a3bd76adfd5595c000e2ad86fb1db5b96a8d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Sun, 13 Oct 2024 08:57:48 +0200 Subject: [PATCH] [clang][bytecode] Start implementing __builtin_

[clang] [clang][bytecode] Start implementing __builtin_bit_cast (PR #112126)

2024-10-16 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr ready_for_review https://github.com/llvm/llvm-project/pull/112126 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang] Implement constexpr __builtin_bit_cast for complex types (PR #109981)

2024-10-16 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr updated https://github.com/llvm/llvm-project/pull/109981 >From 8a987510829abcba7bdb3572db418f71f33bbd69 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Wed, 25 Sep 2024 15:45:06 +0200 Subject: [PATCH] [clang] Implement constexpr __builtin_bit_cast

[clang] [clang][bytecode] Start implementing __builtin_bit_cast (PR #112126)

2024-10-16 Thread Timm Baeder via cfe-commits
Timm =?utf-8?q?Bäder?= , 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/112126 >From 1cf8a3bd76adfd5595c000e2ad86fb1db5b96a8d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= D

[clang] [clang][bytecode] Start implementing __builtin_bit_cast (PR #112126)

2024-10-16 Thread Timm Baeder via cfe-commits
Timm =?utf-8?q?Bäder?= , 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/112126 >From 1cf8a3bd76adfd5595c000e2ad86fb1db5b96a8d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= D

[clang] [clang][bytecode] Start implementing __builtin_bit_cast (PR #112126)

2024-10-16 Thread Timm Baeder via cfe-commits
Timm =?utf-8?q?Bäder?= , 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/112126 >From 1cf8a3bd76adfd5595c000e2ad86fb1db5b96a8d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= D

[clang] [clang] constexpr built-in fma function. (PR #113020)

2024-10-19 Thread Timm Baeder via cfe-commits
@@ -15314,6 +15314,22 @@ bool FloatExprEvaluator::VisitCallExpr(const CallExpr *E) { Result.changeSign(); return true; + case Builtin::BI__builtin_fma: + case Builtin::BI__builtin_fmaf: + case Builtin::BI__builtin_fmal: + case Builtin::BI__builtin_fmaf128: { +

[clang] [clang][bytecode] Narrow pointer in UO_Deref unary operators (PR #113089)

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

[clang] [clang][bytecode] Allow ArrayElemPtr ops on null pointers (PR #113132)

2024-10-21 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/113132 None >From 8a60b9fc2990708eb8ac34d2f7d53ed8f6fcda6a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Mon, 21 Oct 2024 08:59:44 +0200 Subject: [PATCH] [clang][bytecode] Allow ArrayElemPtr ops

[clang] [clang][bytecode] Check ai32_bextr builtins for integer args (PR #113128)

2024-10-20 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/113128 None >From 89a268bbdbc0194c9d46abf7607b458320cd27ae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Mon, 21 Oct 2024 07:42:40 +0200 Subject: [PATCH] [clang][bytecode] Check ai32_bextr builti

[clang] Remove support for RenderScript (PR #112916)

2024-10-20 Thread Timm Baeder via cfe-commits
tbaederr wrote: I think this reference should go as well: https://github.com/llvm/llvm-project/blob/main/clang/www/index.html#L20 ? https://github.com/llvm/llvm-project/pull/112916 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.

[clang] [clang][bytecode] Check ai32_bextr builtins for integer args (PR #113128)

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

[clang] [clang][bytecode] Allow ArrayElemPtr ops on null pointers (PR #113132)

2024-10-21 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr edited https://github.com/llvm/llvm-project/pull/113132 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][bytecode] Allow ArrayElemPtr ops on null pointers (PR #113132)

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

[clang] [clang][bytecode] Check ia32_{pext, pdep} builtins for integer args (PR #113091)

2024-10-20 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr updated https://github.com/llvm/llvm-project/pull/113091 >From 19bd55a4150c39fc29758c20fb31ac76d20beddc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Sun, 20 Oct 2024 18:08:08 +0200 Subject: [PATCH] [clang][bytecode] Check ia32_{pext,pdep} builti

[clang] [clang][bytecode] Check ia32_{pext, pdep} builtins for integer args (PR #113091)

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

[clang] [clang][NFC] Pass const ASTContext& to CXXTypeidExpr API (PR #113083)

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

[clang] [clang][bytecode] Narrow pointer in UO_Deref unary operators (PR #113089)

2024-10-20 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/113089 Otherwise we treat this like an array element even though we should treat it as a single object. >From 9ad54bebfd5c3572b3338e30c6a3047fb922c057 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Dat

[clang] [clang][bytecode] Diagnose invalid declrefs differently if we've... (PR #113140)

2024-10-21 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/113140 ... tried their initializer already. In that case, diagnose the non-const initializer instead of the reference to a non-constexpr variable later. This is used in a lot of openmp tests. >From afe1760a2f572cae3

[clang] [clang][bytecode] Diagnose invalid declrefs differently if we've... (PR #113140)

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

[clang] [clang][bytecode] Check ia32_{pext, pdep} builtins for integer args (PR #113091)

2024-10-20 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/113091 None >From f9e95ab2ffe38ec1ade35681b24b5ed095adb8e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Sun, 20 Oct 2024 18:08:08 +0200 Subject: [PATCH] [clang][bytecode] Check ia32_{pext,pdep}

[clang] [clang][bytecode] Check ia32_{pext, pdep} builtins for integer args (PR #113091)

2024-10-20 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr updated https://github.com/llvm/llvm-project/pull/113091 >From e947bb4ef9a80f2ba730238e668d9ea732bf40fd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Sun, 20 Oct 2024 18:08:08 +0200 Subject: [PATCH] [clang][bytecode] Check ia32_{pext,pdep} builti

[clang] [clang][bytecode] Start implementing __builtin_bit_cast (PR #112126)

2024-10-20 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr updated https://github.com/llvm/llvm-project/pull/112126 >From 81d236ada5a300f425de447d5802714af65c98f0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Sun, 13 Oct 2024 08:57:48 +0200 Subject: [PATCH] [clang][bytecode] Start implementing __builtin_

[clang] [clang][bytecode] Narrow pointer in UO_Deref unary operators (PR #113089)

2024-10-20 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr updated https://github.com/llvm/llvm-project/pull/113089 >From 6942291d0f529baa323cfd35e2f5d9b4f818c0f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Sun, 20 Oct 2024 13:57:49 +0200 Subject: [PATCH] [clang][bytecode] Narrow pointer in UO_Deref un

[clang] [clang][bytecode] Create dummy pointers for non-reference DeclRefExprs (PR #113202)

2024-10-21 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/113202 ... with non-constant initializers. >From c7bf46114ffe0b35c3e73e4c956d84e71b2db14f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Mon, 21 Oct 2024 18:36:37 +0200 Subject: [PATCH] [clang][by

[clang] [clang][NFC] Pass const ASTContext& to CXXTypeidExpr API (PR #113083)

2024-10-20 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/113083 None >From c72b3ea5ef4e1e51f5832886a722d310e6b98498 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Sat, 19 Oct 2024 12:04:17 +0200 Subject: [PATCH] [clang][NFC] Pass const ASTContext& to CX

[clang] [clang][bytecode] Explicitly truncate in IntegralAP::from() (PR #112683)

2024-10-17 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/112683 Add Integral::toAPInt(), which truncates to the given BitWidth, similar to the toAPSInt() we already have. >From eeef15e2121a4bfa520f93037b4f04eb1e3dffa1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4

[clang] [clang][bytecode] Explicitly truncate in IntegralAP::from() (PR #112683)

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

[clang] [clang] constexpr built-in abs function. (PR #112539)

2024-10-17 Thread Timm Baeder via cfe-commits
@@ -265,6 +265,15 @@ namespace fpclassify { char classify_subnorm [__builtin_fpclassify(-1, -1, -1, +1, -1, 1.0e-38f)]; } +namespace abs { +static_assert(__builtin_abs(14) == 14, ""); +static_assert(__builtin_labs(14L) == 14L, ""); +static_assert(__builtin_llabs(14LL) == 14L

[clang] [clang] constexpr built-in abs function. (PR #112539)

2024-10-17 Thread Timm Baeder via cfe-commits
@@ -563,6 +563,19 @@ static bool interp__builtin_fabs(InterpState &S, CodePtr OpPC, return true; } +static bool interp__builtin_abs(InterpState &S, CodePtr OpPC, +const InterpFrame *Frame, const Function *Func, +

[clang] [clang][bytecode] Ignore explicit calls to trivial dtors (PR #112841)

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

[clang] [Clang] Fix handling of immediate escalation for inherited constructors (PR #112860)

2024-10-18 Thread Timm Baeder via cfe-commits
@@ -3284,6 +3284,13 @@ bool FunctionDecl::isImmediateEscalating() const { // consteval specifier, if (isDefaulted() && !isConsteval()) return true; + + if (auto *CD = dyn_cast(this); tbaederr wrote: ```suggestion if (const auto *CD = dyn_cast(this);

[clang] [clang][bytecode] Activate pointers in Init{, Pop} (PR #112832)

2024-10-17 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/112832 None >From 28b0023196a895a6b02c5990196bcca394fb8d28 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Fri, 18 Oct 2024 05:57:34 +0200 Subject: [PATCH] [clang][bytecode] Activate pointers in In

[clang] [clang][bytecode] Activate pointers in Init{, Pop} (PR #112832)

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

[clang] [clang][bytecode] Ignore explicit calls to trivial dtors (PR #112841)

2024-10-17 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/112841 This is what the current interpreter does as well. >From 349cda342a9febd60419ea53ea34cdf8a7b2523f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Fri, 18 Oct 2024 06:25:29 +0200 Subject: [PA

[clang] [Clang] Fix handling of immediate escalation for inherited constructors (PR #112860)

2024-10-18 Thread Timm Baeder via cfe-commits
@@ -3304,6 +3311,12 @@ bool FunctionDecl::isImmediateFunction() const { if (isImmediateEscalating() && BodyContainsImmediateEscalatingExpressions()) return true; + if (auto *CD = dyn_cast(this); tbaederr wrote: ```suggestion if (const auto *CD = dyn_

[clang] [clang][bytecode] Check for memory leaks after destroying global scope (PR #112868)

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

[clang] [clang][bytecode] Diagnose class-specific operator delete calls (PR #111700)

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

[clang] [clang][bytecode] Check new builtins for integer types (PR #111801)

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

[clang] [clang][bytecode] Return an lvalue path for dummy pointers (PR #111862)

2024-10-10 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/111862 Not doing this is wrong in general and we need to reject expressions where it would matter differently. >From e8234dcd00de79f3aa8a333b7dbb5c5cb08bf61e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der

[clang] [clang][bytecode] Check new builtins for integer types (PR #111801)

2024-10-10 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/111801 These might also be called with vectors, but we don't support that. >From f04ea10e1fd1a42e7108f0dcf1575e4a51877d60 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Thu, 10 Oct 2024 09:50:03 +

[clang] [clang][bytecode] Change isArrayElement() for narrowed composite arrays (PR #111110)

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

[clang] [clang][docs] Add documentation for APValue constructors (PR #109994)

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

[clang] [clang][bytecode] Change isArrayElement() for narrowed composite arrays (PR #111110)

2024-10-04 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr updated https://github.com/llvm/llvm-project/pull/10 >From 42942dae406eb795c2fdc5db0db536099a224686 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Fri, 4 Oct 2024 08:37:16 +0200 Subject: [PATCH] [clang][bytecode] Change isArrayElement() for na

[clang] [clang][bytecode] Save a per-Block IsWeak bit (PR #111248)

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

[clang] [clang][bytecode] Handle UETT_OpenMPRequiredSimdAlign (PR #111259)

2024-10-05 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/111259 None >From f1313fbe249a8375aba9d5ead9440aef8b3fa9a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Sat, 5 Oct 2024 17:45:27 +0200 Subject: [PATCH] [clang][bytecode] Handle UETT_OpenMPRequir

[clang] [clang][bytecode] Handle UETT_OpenMPRequiredSimdAlign (PR #111259)

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

[clang] [clang][bytecode] Diagnose non-const initialiers in diagnoseUnknownDecl (PR #113276)

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

[clang] [clang][bytecode] Start implementing __builtin_bit_cast (PR #112126)

2024-10-13 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr updated https://github.com/llvm/llvm-project/pull/112126 >From 17c346706a58342097170bdfac0aabd8c095994e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Sun, 13 Oct 2024 08:57:48 +0200 Subject: [PATCH] [clang][bytecode] Start implementing __builtin_

[clang] [clang][bytecode] Fix discarding block expressions (PR #112185)

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

[clang] [clang][bytecode] Diagnose reference to non-constexpr variable of const type in C23 constexpr (PR #112211)

2024-10-14 Thread Timm Baeder via cfe-commits
@@ -348,6 +348,12 @@ bool CheckConstant(InterpState &S, CodePtr OpPC, const Descriptor *Desc) { if (D->isConstexpr()) return true; + if (const auto *VD = dyn_cast_if_present(S.EvaluatingDecl); + VD && VD->isConstexpr() && S.getLangOpts().C23) { +S.FFDiag(S.Cur

[clang] [clang][bytecode] Diagnose reference to non-constexpr variable of const type in C23 constexpr (PR #112211)

2024-10-14 Thread Timm Baeder via cfe-commits
@@ -348,6 +348,12 @@ bool CheckConstant(InterpState &S, CodePtr OpPC, const Descriptor *Desc) { if (D->isConstexpr()) return true; + if (const auto *VD = dyn_cast_if_present(S.EvaluatingDecl); tbaederr wrote: ```suggestion // If we're evaluating the

[clang] [clang][bytecode] Diagnose reference to non-constexpr variable of const type in C23 constexpr (PR #112211)

2024-10-14 Thread Timm Baeder via cfe-commits
@@ -348,6 +348,12 @@ bool CheckConstant(InterpState &S, CodePtr OpPC, const Descriptor *Desc) { if (D->isConstexpr()) return true; + if (const auto *VD = dyn_cast_if_present(S.EvaluatingDecl); tbaederr wrote: Why are you checking `EvaluatingDecl` here

[clang] [clang][bytecode] Fix __builtin_convertvector with float-cast (PR #112238)

2024-10-14 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/112238 Comparing their PrimTypes isn't enough in this case. We can have a floating cast here as well. >From 7c9ea06f6bda11c3c41477028fd39453acfd8954 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date:

[clang] [clang][bytecode][NFC] Remove Pointer::elem() (PR #114046)

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

[clang] [clang][bytecode] Diagnose placement-new construction to inactive field (PR #114047)

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

[clang] [clang][bytecode] Implement __builtin_arithmetic_fence (PR #113937)

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

[clang] [clang][ExprConst] Reject field access with nullptr base (PR #113885)

2024-10-28 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr edited https://github.com/llvm/llvm-project/pull/113885 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] Nominate Erich Keane for OpenACC (PR #114041)

2024-10-29 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr approved this pull request. https://github.com/llvm/llvm-project/pull/114041 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][bytecode][NFC] Remove Pointer::elem() (PR #114046)

2024-10-29 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/114046 Unused. >From 2c6f0fa434d770b258d75660767390af4dfb8ebd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Tue, 29 Oct 2024 08:15:36 +0100 Subject: [PATCH] [clang][bytecode][NFC] Remove Pointer:

[clang] [clang][bytecode] Diagnose placement-new construction to inactive field (PR #114047)

2024-10-29 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/114047 We can reuse CheckActive() for this. >From fb465ee7a9d4cd299b780ae49e2208051488ee46 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Tue, 29 Oct 2024 13:29:17 +0100 Subject: [PATCH] [clang][b

[clang] [clang][bytecode] Diagnose non-const initialiers in diagnoseUnknownDecl (PR #113276)

2024-10-22 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/113276 This is more similar to the diagnostic output of the current interpreter >From 73e6cd0e877f635f071e0fbbccc4c087e638a549 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Tue, 22 Oct 2024 09:54

[clang] [clang][bytecode] Create dummy pointers for non-reference DeclRefExprs (PR #113202)

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

[clang] [clang][bytecode] Create dummy pointers for non-reference DeclRefExprs (PR #113202)

2024-10-22 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr updated https://github.com/llvm/llvm-project/pull/113202 >From 92e2b7ac0510a2355bddb8f1feb09a9bd954310a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Mon, 21 Oct 2024 18:36:37 +0200 Subject: [PATCH] [clang][bytecode] Create dummy pointers for non

[clang] [clang][bytecode] Diagnose non-const initialiers in diagnoseUnknownDecl (PR #113276)

2024-10-22 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr updated https://github.com/llvm/llvm-project/pull/113276 >From 093e6ee76698bf091eab46e8b73eb97d7a19544b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Tue, 22 Oct 2024 09:54:35 +0200 Subject: [PATCH] [clang][bytecode] Diagnose non-const initialier

[clang] [clang][ExprConst] Reject field access with nullptr base (PR #113885)

2024-10-29 Thread Timm Baeder via cfe-commits
@@ -1703,7 +1703,7 @@ namespace { bool checkNullPointerDiagnosingWith(const GenDiagType &GenDiag) { if (Designator.Invalid) return false; - if (IsNullPtr) { + if (getLValueBase().isNull()) { tbaederr wrote: Looks like the check here

[clang] [clang][ExprConst] Reject field access with nullptr base (PR #113885)

2024-10-29 Thread Timm Baeder via cfe-commits
@@ -1703,7 +1703,7 @@ namespace { bool checkNullPointerDiagnosingWith(const GenDiagType &GenDiag) { if (Designator.Invalid) return false; - if (IsNullPtr) { + if (getLValueBase().isNull()) { tbaederr wrote: The offset is added in `a

[clang] [clang][bytecode] Implement bitcasts to floating-point values (PR #114485)

2024-11-01 Thread Timm Baeder via cfe-commits
tbaederr wrote: Sorry, reverted. https://github.com/llvm/llvm-project/pull/114485 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][bytecode][NFC] Fix a possible build warning (PR #114800)

2024-11-04 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr closed https://github.com/llvm/llvm-project/pull/114800 ___ 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 parameter from pushData() (PR #114801)

2024-11-04 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr closed https://github.com/llvm/llvm-project/pull/114801 ___ 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 parameter from pushData() (PR #114801)

2024-11-04 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/114801 None >From 503dd989be6406fafb3ebcf4ed99e8c5d81c11d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Mon, 4 Nov 2024 15:16:20 +0100 Subject: [PATCH] [clang][bytecode][NFC] Remove unused param

[clang] [clang][bytecode][NFC] Fix a possible build warning (PR #114800)

2024-11-04 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/114800 InterpBuiltinBitCast.cpp:95:3: warning: non-void function does not return a value in all control paths [-Wreturn-type] 95 | } | ^ 1 warning generated. >From 6dd415de97a46f77bb7999d4df9e3cb4bc942a8

[clang] [clang] Warn on mismatched RequiresCapability attributes (PR #67520)

2024-11-04 Thread Timm Baeder via cfe-commits
@@ -2249,7 +2249,7 @@ void fooF1(Foo *f) EXCLUSIVE_LOCKS_REQUIRED(f->mu_) { f->a = 1; } -void fooF2(Foo *f); +void fooF2(Foo *f); // expected-warning {{attribute mismatch between function declarations of 'fooF2'}} void fooF2(Foo *f) EXCLUSIVE_LOCKS_REQUIRED(f->mu_) { -

[clang] Add Mariya as maintainer for constant expressions & Sema (PR #114974)

2024-11-05 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr approved this pull request. https://github.com/llvm/llvm-project/pull/114974 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][bytecode] Fix bitcasting packed bool vectors (PR #114937)

2024-11-04 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/114937 This is a special case we need to handle. We don't do bitcasting _into_ such vectors yet though. >From 762974afcfe2ba3e667f5362eddef0902ca23e97 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Dat

[clang] [clang][bytecode] Fix discarding __builtin_bit_cast calls (PR #114926)

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

[clang] [clang][ExprConst] Reject field access with nullptr base (PR #113885)

2024-11-05 Thread Timm Baeder via cfe-commits
tbaederr wrote: Ping https://github.com/llvm/llvm-project/pull/113885 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang] Make source locations space usage diagnostics numbers easier to read (PR #114999)

2024-11-05 Thread Timm Baeder via cfe-commits
@@ -2227,6 +2227,28 @@ LLVM_DUMP_METHOD void SourceManager::dump() const { } } +static std::string NumberToHumanString(uint64_t number) { + static constexpr std::array, 4> Units = { + {{1'000'000'000'000UL, 'T'}, + {1'000'000'000UL, 'G'}, + {1'000'000UL, 'M

[clang] [clang][bytecode] Fix discarding __builtin_bit_cast calls (PR #114926)

2024-11-04 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/114926 Optionally prepare storage for the result and do the bitcast anyway, to get the right diagnostic output. >From 76e549b6fab3021050148ee0555b7ac6ea20b7ba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4de

[clang] [clang][bytecode] Support bitcasting into float fields (PR #114825)

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

[clang] [clang][bytecode] Fix bitcasting packed bool vectors (PR #114937)

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

[clang] [clang][bytecode][NFC] Switch BitcastBuffer to SmallVector (PR #114677)

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

[clang] [clang][bytecode] Implement bitcasts to floating-point values (#114485) (PR #114712)

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

[clang] [clang][bytecode] Implement bitcasts to floating-point values (#114485) (PR #114712)

2024-11-03 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/114712 This time I tested on big-endian hosts. >From 80bf7b638711a93ee2b9fd86dc5b6139f0f63fee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Sat, 2 Nov 2024 01:56:47 +0100 Subject: [PATCH] [clang]

[clang] [clang][bytecode] Implement bitcasts to floating-point values (#114485) (PR #114712)

2024-11-03 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr updated https://github.com/llvm/llvm-project/pull/114712 >From 662447b6dfaad52d38a66f9fd59f43a0ac61b974 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Sat, 2 Nov 2024 01:56:47 +0100 Subject: [PATCH] [clang][bytecode] Implement bitcasts to floating

[clang] [clang][bytecode][NFC] Make Floating::bitcastToMemory const (PR #114777)

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

[clang] [clang][bytecode] Implement bitcasts to composite types (PR #114776)

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

[clang] [clang][bytecode] Implement bitcasts to composite types (PR #114776)

2024-11-04 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/114776 Only fixed-size, non-bitfield integral fields for now. >From d0d198a55f7925143c34719c1393d004cd95b967 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Sat, 2 Nov 2024 01:53:28 +0100 Subject:

[clang] [clang][bytecode][NFC] Make Floating::bitcastToMemory const (PR #114777)

2024-11-04 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/114777 The other functions like this are also const. >From c64f8e5f8019fd83fd4a5d02c5ac29047b377354 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Mon, 4 Nov 2024 12:49:19 +0100 Subject: [PATCH] [

[clang] [clang][bytecode] Support bitcasting into float fields (PR #114825)

2024-11-04 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/114825 None >From fcc54305a0a953f0d5ecc41d3e411172c17c8c6d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Mon, 4 Nov 2024 16:18:52 +0100 Subject: [PATCH] [clang][bytecode] Support bitcasting into

[clang] [clang] Fix an em/email typo in Maintainers.rst (PR #114385)

2024-10-31 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/114385 Pretty sure this was a mistake, everyone else uses "email". >From cba89dbe6f6c1c24329b945f0d7732b623c222e8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Thu, 31 Oct 2024 11:00:39 +0100 Sub

[clang] [clang][bytecode] Diagnose delete with non-virtual dtor (PR #114373)

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

[clang] [clang][bytecode] Start implementing __builtin_bit_cast (PR #112126)

2024-10-30 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr updated https://github.com/llvm/llvm-project/pull/112126 >From 3e028394eb4f3ce9796359e3122cbc86270e43f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Sun, 13 Oct 2024 08:57:48 +0200 Subject: [PATCH] [clang][bytecode] Start implementing __builtin_

[clang] [clang][bytecode] Start implementing __builtin_bit_cast (PR #112126)

2024-10-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/112126 >From 3e028394eb4f3ce9796359e3122cbc86270e43f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Sun, 13 Oct 2024 08:57:48 +0200 Subject: [PAT

[clang] [clang][bytecode] Start implementing __builtin_bit_cast (PR #112126)

2024-10-30 Thread Timm Baeder via cfe-commits
Timm =?utf-8?q?Bäder?= , Timm =?utf-8?q?Bäder?= Message-ID: In-Reply-To: @@ -0,0 +1,399 @@ +// RUN: %clang_cc1 -verify=ref,both -std=c++2a -fsyntax-only %s +// RUN: %clang_cc1 -verify=ref,both -std=c++2a -fsyntax-only -triple aarch64_be-linux-gnu %s +// RUN: %clang_cc1 -verify

[clang] [clang][bytecode] Start implementing __builtin_bit_cast (PR #112126)

2024-10-30 Thread Timm Baeder via cfe-commits
Timm =?utf-8?q?B=C3=A4der?= , Timm =?utf-8?q?B=C3=A4der?= , Timm =?utf-8?q?B=C3=A4der?= Message-ID: In-Reply-To: tbaederr wrote: > such as derived classes, Got me again :disappointed: https://github.com/llvm/llvm-project/pull/112126 ___ cfe-commit

[clang] [clang][bytecode] Start implementing __builtin_bit_cast (PR #112126)

2024-10-30 Thread Timm Baeder via cfe-commits
Timm =?utf-8?q?Bäder?= , Timm =?utf-8?q?Bäder?= , 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/112126 >From 3e028394eb4f3ce9796359e3122cbc86270e43f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8

[clang] [clang][bytecode] Start implementing __builtin_bit_cast (PR #112126)

2024-10-30 Thread Timm Baeder via cfe-commits
Timm =?utf-8?q?Bäder?= , 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/112126 >From 3e028394eb4f3ce9796359e3122cbc86270e43f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= D

<    11   12   13   14   15   16   17   18   19   20   >