[clang] [clang][bytecode] Handle bitcasts involving bitfields (PR #116843)

2024-12-04 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 edited https://github.com/llvm/llvm-project/pull/116843 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailma

[clang] [clang][bytecode] Handle bitcasts involving bitfields (PR #116843)

2024-12-04 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/116843 >From 1eafc000e5f788a98ec9e4387057d62e509115f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Fri, 8 Nov 2024 14:3

[clang] [clang][bytecode] Handle bitcasts involving bitfields (PR #116843)

2024-12-04 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/116843 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailma

[clang] [clang][bytecode] Initialize bases when bitcasting (PR #117179)

2024-12-04 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr updated https://github.com/llvm/llvm-project/pull/117179 >From 7c6ce4a06c822c59553dc701dc876b71f33397ef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Thu, 21 Nov 2024 16:56:08 +0100 Subject: [PATCH] [clang][bytecode] Initialize bases when bitcast

[clang] [clang][bytecode] Not all null pointers are 0 (PR #118601)

2024-12-04 Thread Timm Baeder via cfe-commits
@@ -0,0 +1,12 @@ +// RUN: %clang_cc1 -no-enable-noundef-analysis %s -cl-std=CL2.0 -include opencl-c.h -triple amdgcn -emit-llvm -o - | FileCheck %s tbaederr wrote: Ah, nice. Thanks https://github.com/llvm/llvm-project/pull/118601 ___

[clang] [clang][bytecode] Not all null pointers are 0 (PR #118601)

2024-12-04 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr updated https://github.com/llvm/llvm-project/pull/118601 >From a929550c4b36001c0c6e2b119fc97ba4e31aa50a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Wed, 4 Dec 2024 08:37:24 +0100 Subject: [PATCH] [clang][bytecode] Not all null pointers are 0 G

[clang] [clang][bytecode] Pass __builtin_memcpy size along (PR #118649)

2024-12-04 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/118649 To DoBitCastPtr, so we know how many bytes we want to read. >From 1430ff275074381f2ce8321e7e6e37aee0588c07 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Wed, 4 Dec 2024 13:30:51 +0100 Subj

[clang] [clang][ExprConst] Add diagnostics for invalid binary arithmetic (PR #118475)

2024-12-04 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/118475 >From ce52d3d0c04fc53b814debdcd2c5019f488eddc0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Tue, 3 Dec 2024 11:54:07 +0100 Subject: [PATC

[clang] [clang][ExprConst] Add diagnostics for invalid binary arithmetic (PR #118475)

2024-12-04 Thread Timm Baeder via cfe-commits
Timm =?utf-8?q?Bäder?= Message-ID: In-Reply-To: @@ -14548,8 +14548,21 @@ bool IntExprEvaluator::VisitBinaryOperator(const BinaryOperator *E) { return Error(E); const Expr *LHSExpr = LHSValue.Base.dyn_cast(); const Expr *RHSExpr = RHSValue.Base.dyn_cast()

[clang] [clang][ExprConst] Add diagnostics for invalid binary arithmetic (PR #118475)

2024-12-04 Thread Timm Baeder via cfe-commits
Timm =?utf-8?q?Bäder?= Message-ID: In-Reply-To: @@ -14548,8 +14548,21 @@ bool IntExprEvaluator::VisitBinaryOperator(const BinaryOperator *E) { return Error(E); const Expr *LHSExpr = LHSValue.Base.dyn_cast(); const Expr *RHSExpr = RHSValue.Base.dyn_cast()

[clang] [clang][bytecode] Initialize bases when bitcasting (PR #117179)

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

[clang] [clang][bytecode] Pass (float) BitWidth to DoBitCast (PR #119119)

2024-12-08 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr updated https://github.com/llvm/llvm-project/pull/119119 >From efb64b914ab2c3cb5c40f1cdf93c34f7c976a554 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Sun, 8 Dec 2024 08:00:14 +0100 Subject: [PATCH] [clang][bytecode] Pass (float) BitWidth to DoBit

[clang] [clang][bytecode] Pass (float) BitWidth to DoBitCast (PR #119119)

2024-12-08 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr updated https://github.com/llvm/llvm-project/pull/119119 >From 3f041d0338c51d3c279f004220b575c913dd1442 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Sun, 8 Dec 2024 08:00:14 +0100 Subject: [PATCH] [clang][bytecode] Pass (float) BitWidth to DoBit

[clang] [clang-tools-extra] [clang] Compute accurate begin location for CallExpr with explicit object parameter (PR #117841)

2024-12-07 Thread Timm Baeder via cfe-commits
tbaederr wrote: I didn't check if any tests fail but here's a version where `CallExpr` saves its `BeginLoc` explicitly: http://llvm-compile-time-tracker.com/compare.php?from=416e4cd332c7421b187844ac9aaf6fe28b575a7d&to=0b6e36fe460409aa59958b79766b4f64a31c97e6&stat=instructions:u https://github.

[clang] [clang][bytecode] Pass (float) BitWidth to DoBitCast (PR #119119)

2024-12-07 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/119119 In certain cases (i.e. long double on x86), the bit with we get from the floating point semantics is different than the type size we compute for the BitCast instruction. Pass this along to DoBitCast, so in the

[clang] [clang][bytecode] Pass (float) BitWidth to DoBitCast (PR #119119)

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

[clang] [clang][bytecode] Check primitive bit casts for indeterminate bits (PR #118954)

2024-12-06 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr updated https://github.com/llvm/llvm-project/pull/118954 >From 265be81d34dfc3f24595ccd60f72a1207b700e06 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Fri, 6 Dec 2024 12:04:47 +0100 Subject: [PATCH] [clang][bytecode] Check primitive bit casts for

[clang] [clang][bytecode] Check primitive bit casts for indeterminate bits (PR #118954)

2024-12-06 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/118954 Record bits ranges of initialized bits and check them in allInitialized(). >From 89cc19bfa6590d49864797ebeda300396110161b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Fri, 6 Dec 2024 12:0

[clang] Switch builtin strings to use string tables (PR #118734)

2024-12-06 Thread Timm Baeder via cfe-commits
@@ -68,23 +69,156 @@ enum ID { FirstTSBuiltin }; +// The info used to represent each builtin. struct Info { - llvm::StringLiteral Name; - const char *Type, *Attributes; - const char *Features; + // Rather than store pointers to the string literals describing these four

[clang] [clang][bytecode] Handle __builtin_wcslen (PR #119187)

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

[clang] [clang][bytecode] Handle __builtin_wcslen (PR #119187)

2024-12-09 Thread Timm Baeder via cfe-commits
@@ -256,15 +256,28 @@ static bool interp__builtin_strlen(InterpState &S, CodePtr OpPC, return false; assert(StrPtr.getFieldDesc()->isPrimitiveArray()); - + unsigned ElemSize = StrPtr.getFieldDesc()->getElemSize(); size_t Len = 0; for (size_t I = StrPtr.getIndex()

[clang] [clang][bytecode] Handle __builtin_wcslen (PR #119187)

2024-12-09 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr updated https://github.com/llvm/llvm-project/pull/119187 >From d5c3e403c6cc30c897e7b8ada981a0d311ea187c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Sun, 8 Dec 2024 19:12:54 +0100 Subject: [PATCH] [clang][bytecode] Handle __builtin_wcslen Handl

[clang] [clang][bytecode] Handle __builtin_wcslen (PR #119187)

2024-12-09 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/119187 Handle different char widths in builtin_strlen. >From 1048d45d72c8b44211e245228e97b83b36b1c1b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Sun, 8 Dec 2024 19:12:54 +0100 Subject: [PATCH]

[clang] [clang][bytecode] Reject memcpy sizes with element size remainder (PR #119209)

2024-12-09 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/119209 None >From 0778f47716355e0916727c0bdb098e1f61b99bd9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Mon, 9 Dec 2024 14:23:51 +0100 Subject: [PATCH] [clang][bytecode] Reject memcpy sizes with

[clang] [clang][bytecode] Handle __builtin_strncmp (PR #119208)

2024-12-09 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/119208 None >From 9dea6213fc6590b24278dbf8b65e23e97a0810f4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Mon, 9 Dec 2024 14:13:00 +0100 Subject: [PATCH] [clang][bytecode] Handle __builtin_strncmp

[clang] [clang][bytecode] Handle __builtin_strncmp (PR #119208)

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

[clang] [clang][bytecode] Reject memcpy sizes with element size remainder (PR #119209)

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

[clang] [clang][bytecode] Check for memcpy/memmove dummy pointers earlier (PR #121453)

2025-01-01 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/121453 None >From 9aeae2efcfb038af30f01a07eb8960a4a59929f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Thu, 2 Jan 2025 06:28:08 +0100 Subject: [PATCH] [clang][bytecode] Check for memcpy/memmove

[clang] [clang][bytecode] Check for memcpy/memmove dummy pointers earlier (PR #121453)

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

[clang] [clang][bytecode] Consider start index when copying composite array (PR #121461)

2025-01-02 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/121461 ... elements. >From 18b6ce8cbff25c647fcb8a3511c4366b5118dc69 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Thu, 2 Jan 2025 10:05:21 +0100 Subject: [PATCH] [clang][bytecode] Consider start

[clang] [clang] Evaluate constant initializers in C as well (PR #121950)

2025-01-07 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/121950 None >From 87176299fcd501ec6f440e61e224b30854920e10 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Tue, 7 Jan 2025 16:18:56 +0100 Subject: [PATCH] [clang] Evaluate constant initializers in

[clang] [clang-tools-extra] [clang] Avoid re-evaluating field bitwidth (PR #117732)

2025-01-07 Thread Timm Baeder via cfe-commits
tbaederr wrote: Yep, that's what I was pinging for :) https://github.com/llvm/llvm-project/pull/117732 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][ExprConst] Add diagnostics for invalid binary arithmetic (PR #118475)

2025-01-07 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: Ping https://github.com/llvm/llvm-project/pull/118475 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://li

[clang] [llvm] [Clang] Add __builtin_assume_dereferenceable to encode deref assumption. (PR #121789)

2025-01-07 Thread Timm Baeder via cfe-commits
@@ -839,6 +839,12 @@ def BuiltinAssumeAligned : Builtin { let Prototype = "void*(void const*, size_t, ...)"; } +def BuiltinAssumeDereferenceable : Builtin { + let Spellings = ["__builtin_assume_dereferenceable"]; + let Attributes = [NoThrow, Const, Constexpr];

[clang] [clang] constexpr atomic builtins (__c11_atomic_OP and __atomic_OP) (PR #98756)

2025-01-06 Thread Timm Baeder via cfe-commits
@@ -1921,6 +1921,22 @@ static bool EvaluateFixedPointOrInteger(const Expr *E, APFixedPoint &Result, static bool EvaluateFixedPoint(const Expr *E, APFixedPoint &Result, EvalInfo &Info); +/// Support for atomic builtins tbaederr w

[clang] [clang] constexpr atomic builtins (__c11_atomic_OP and __atomic_OP) (PR #98756)

2025-01-06 Thread Timm Baeder via cfe-commits
@@ -1921,6 +1921,22 @@ static bool EvaluateFixedPointOrInteger(const Expr *E, APFixedPoint &Result, static bool EvaluateFixedPoint(const Expr *E, APFixedPoint &Result, EvalInfo &Info); +/// Support for atomic builtins +static bool EvaluateAtomic

[clang] [clang] constexpr atomic builtins (__c11_atomic_OP and __atomic_OP) (PR #98756)

2025-01-06 Thread Timm Baeder via cfe-commits
@@ -17893,4 +17996,441 @@ std::optional EvaluateBuiltinIsWithinLifetime(IntExprEvaluator &IEE, IsWithinLifetimeHandler handler{Info}; return findSubobject(Info, E, CO, Val.getLValueDesignator(), handler); } + } // namespace + +static bool EvaluateAtomicOrder(const AtomicE

[clang] [Clang] [NFC] Refactor more AST visitors (PR #116823)

2025-01-06 Thread Timm Baeder via cfe-commits
@@ -427,42 +423,53 @@ class ParentMapContext::ParentMap::ASTVisitor return Result; } - bool TraverseDecl(Decl *DeclNode) { + bool TraverseDecl(Decl *DeclNode) override { return TraverseNode( -DeclNode, DeclNode, [&] { return VisitorBase::TraverseDecl(DeclN

[clang] [clang][bytecode] Add support for typeid pointers (PR #121251)

2024-12-27 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/121251 Add it as another kind of pointer, saving both a `Type*` for the result of the typeid() expression as well as one for the type of the typeid expression. >From aad3e96d970be36964faceec8d0a6df3dd27e5ff Mon Sep 1

[clang] [clang][bytecode] Move a local variable to a later point (PR #121250)

2024-12-27 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/121250 We don't need `E` before. >From 3ecbfa862eee6b6c1f009dfcf6b9791e77af97b4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Sat, 28 Dec 2024 06:38:52 +0100 Subject: [PATCH] [clang][bytecode] Mo

[clang] [clang][bytecode] Add support for typeid pointers (PR #121251)

2024-12-27 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr updated https://github.com/llvm/llvm-project/pull/121251 >From af5d2292249514be8f2d13e92f98eb0df1d7eb32 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Thu, 26 Dec 2024 08:54:48 +0100 Subject: [PATCH] [clang][bytecode] Add support for typeid pointe

[clang] [clang][bytecode] Move a local variable to a later point (PR #121250)

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

[clang] [clang][bytecode] Add support for typeid pointers (PR #121251)

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

[clang] [Clang] Add GCC's __builtin_stack_address() to Clang. (PR #121332)

2024-12-31 Thread Timm Baeder via cfe-commits
@@ -4782,6 +4782,30 @@ RValue CodeGenFunction::EmitBuiltinExpr(const GlobalDecl GD, unsigned BuiltinID, Function *F = CGM.getIntrinsic(Intrinsic::frameaddress, AllocaInt8PtrTy); return RValue::get(Builder.CreateCall(F, Depth)); } + case Builtin::BI__builtin_stack_ad

[clang] [clang][bytecode] Check memove/memcpy for available elements (PR #121383)

2024-12-31 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/121383 Both destination and source pointer need to have at least as many elements as requested. >From 129aa7348398123685a39555dd12c11f7da6d15f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Tue,

[clang] [clang][bytecode] Check memove/memcpy for available elements (PR #121383)

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

[clang] [clang][bytecode] Add special handling for union copy assign operators (PR #125476)

2025-02-03 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/125476 None >From 1b01d45dbb9141d91ddb45344dd977122c19bcd8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Mon, 3 Feb 2025 11:43:05 +0100 Subject: [PATCH] [clang][bytecode] Add special handling for

[clang] [clang][bytecode] Refactor Program::createGlobalString (PR #125467)

2025-02-02 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/125467 Remove unnecesary narrow() calls, rename a variable and initialize the array as a whole instead of each element individually. >From 20c472b39e94f51ed383a265f6c836f2b3276c50 Mon Sep 17 00:00:00 2001 From: =?UTF

[clang] [clang][bytecode] Handle union move assignment operators as well (PR #125516)

2025-02-03 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/125516 None >From c5932a0673b96eb250aa7740dc54f2985a700359 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Mon, 3 Feb 2025 16:17:35 +0100 Subject: [PATCH] [clang][bytecode] Handle union move assign

[clang] [clang][bytecode] Handle union move assignment operators as well (PR #125516)

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

[clang] [clang][bytecode] Add special handling for union copy assign operators (PR #125476)

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

[clang] [Clang][Sema] Add special handling of mfloat8 in initializer lists (PR #125097)

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

[clang] [Clang][Sema] Add special handling of mfloat8 in initializer lists (PR #125097)

2025-01-31 Thread Timm Baeder via cfe-commits
tbaederr wrote: Changes seem fine once the code formatting is fixed. https://github.com/llvm/llvm-project/pull/125097 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][bytecode] Handle invalid temporary descriptors (PR #125033)

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

[clang] [clang][bytecode][NFC] Use RetPC in InterpFrame::getExpr() as well (PR #125200)

2025-01-31 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/125200 Both getLocation() and getRange() use the RetPC if the current function doesn't have a usable body. Using PC here was just a typo. >From 07af7276f1bebc995d26d0c2c24d22e7554a734d Mon Sep 17 00:00:00 2001 From:

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

2025-01-31 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/125201 ... and an unused include. >From 082aa4251b59288275dc08e69ab70024fa9726c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Fri, 31 Jan 2025 12:20:22 +0100 Subject: [PATCH] [clang][bytecode][N

[clang] [clang][bytecode] Destroy local variables in reverse order (PR #125727)

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

[clang] [clang][bytecode] Print desriptor PrimType in dump() (PR #125726)

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

[clang] [clang] Remove an incorrect assertion in ConstantFoldAttrs (PR #105789)

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

[clang] [clang] Remove an incorrect assertion in ConstantFoldAttrs (PR #105789)

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

[clang] [clang] Remove an incorrect assertion in ConstantFoldAttrs (PR #105789)

2025-02-04 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/105789 >From 356b422c59615894767ad3d790d1e7e2f55868a5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Fri, 23 Aug 2024 08:54:12 +0200 Subject: [PAT

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

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

[clang] [clang][bytecode] Stack-allocate bottom function frame (PR #125253)

2025-01-31 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/125253 Instead of heap-allocating it. This is similar to what the current interpeter does. In C, we have no function calls, so the extra heap allocation never makes sense. >From 26c07a4b0b5c85de8fa3ab394ece750dac905

[clang] [clang][bytecode] Stack-allocate bottom function frame (PR #125253)

2025-01-31 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr updated https://github.com/llvm/llvm-project/pull/125253 >From 797ce103eb62d6b41882d8659bc2e7a700d846d1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Fri, 31 Jan 2025 09:34:32 +0100 Subject: [PATCH] [clang][bytecode] Stack-allocate bottom functio

[clang] [clang][bytecode] Return failure for dead non-temporary pointers (PR #125247)

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

[clang] [clang][bytecode] Return failure for dead non-temporary pointers (PR #125247)

2025-01-31 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/125247 ... even when we're not performing a lvalue-to-rvalue conversion. >From 3d42d2f1e9e70f5836e1f10be9b18c986c4394f7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Fri, 31 Jan 2025 17:37:17 +01

[clang] [clang][bytecode] Stack-allocate bottom function frame (PR #125253)

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

[clang] [clang][bytecode] Handle CXXPseudoDestructorExprs (PR #125835)

2025-02-05 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/125835 Make lifetime management more explicit. We're only using this for CXXPseudoDestructorExprs for now but we need this to handle std::construct_at/placement-new after destructor calls later anyway. >From 59093b2

[clang] [clang][bytecode] Destroy local variables in reverse order (PR #125727)

2025-02-04 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/125727 See the attached test case. >From c4eb23f06871536c4df8842b5065fa6f470aa2ea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Tue, 4 Feb 2025 18:08:00 +0100 Subject: [PATCH] [clang][bytecode] D

[clang] [clang][bytecode][NFC] Print desriptor PrimType in dump() (PR #125726)

2025-02-04 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/125726 None >From 2b1e24f4e13511a5f436b6598575f39efed89ac0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Tue, 4 Feb 2025 18:10:32 +0100 Subject: [PATCH] [clang][bytecode][NFC] Print desriptor Pri

[clang] [clang][bytecode] Destroy local variables in reverse order (PR #125727)

2025-02-04 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr updated https://github.com/llvm/llvm-project/pull/125727 >From 58faf5d42f02fc570a72c9af2d90282bae9fe834 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Tue, 4 Feb 2025 18:08:00 +0100 Subject: [PATCH] [clang][bytecode] Destroy local variables in rev

[clang] [clang][bytecode] Print desriptor PrimType in dump() (PR #125726)

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

[clang] [clang][bytecode] Print desriptor PrimType in dump() (PR #125726)

2025-02-04 Thread Timm Baeder via cfe-commits
tbaederr wrote: Hm, yeah I guess you're right, thanks. Removed the NFC. https://github.com/llvm/llvm-project/pull/125726 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][bytecode] Support partial initializers for CXXNewExprs (PR #126494)

2025-02-10 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/126494 For `new A[N]{1,2,3}`, we need to allocate N elements of type A, and initialize the first three with the given InitListExpr elements. However, if N is larger than 3, we need to initialize the remaining element

[clang] [clang][bytecode] Support partial initializers for CXXNewExprs (PR #126494)

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

[clang] [clang][bytecode][NFC] Discard all CastExprs uniformly (PR #126511)

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

[clang] [clang][bytecode][NFC] Discard all CastExprs uniformly (PR #126511)

2025-02-10 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/126511 None >From 8efb8e1a4cad3e5499164741634c4c8c3ad315af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Mon, 10 Feb 2025 13:56:18 +0100 Subject: [PATCH] [clang][bytecode][NFC] Discard all CastEx

[clang] [clang][bytecode] Mark IndirectFieldDecl chain links as initialized (PR #125869)

2025-02-05 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/125869 We only initialize the final field above, so make sure we're marking the links in the chain on the way there as initialized as well. >From 38c40cb30b5e71260ece1c5aa42748513822fe2a Mon Sep 17 00:00:00 2001 From

[clang] [clang][bytecode] Mark IndirectFieldDecl chain links as initialized (PR #125869)

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

[clang] [clang] handle fp options in __builtin_convertvector (PR #125522)

2025-02-05 Thread Timm Baeder via cfe-commits
tbaederr wrote: > > Are fp options (already) handled in constant evaluation? > > I think they are, there are tests for it in > https://github.com/llvm/llvm-project/blob/main/clang/test/AST/const-fpfeatures.c > and > https://github.com/llvm/llvm-project/blob/main/clang/test/AST/const-fpfeature

[clang] [clang] handle fp options in __builtin_convertvector (PR #125522)

2025-02-05 Thread Timm Baeder via cfe-commits
tbaederr wrote: Are fp options (already) handled in constant evaluation? https://github.com/llvm/llvm-project/pull/125522 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][bytecode] Remove unnecessary if statement (PR #126223)

2025-02-07 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/126223 This doesn't seem to do any good and breaks a few libc++ tests. Remove the special case. >From af446487c0a09760bda3a8bb646b19015b736971 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Fri,

[clang] [clang][bytecode] Remove unnecessary if statement (PR #126223)

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

[clang] [clang][bytecode] Fix diagnosing replaceable global allocator functions (PR #126717)

2025-02-11 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/126717 Don't return true here in InvalidNewDeleteExpr just because we are in C++26 mode. This invalid there as well. Testcase reduced from libcxx/test/std/utilities/smartptr/unique.ptr/unique.ptr.create/make_unique_

[clang] [clang][bytecode] Fix diagnosing replaceable global allocator functions (PR #126717)

2025-02-11 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr updated https://github.com/llvm/llvm-project/pull/126717 >From 111f3018ed7af1acf08fee96f7d474494b4ee9fc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Tue, 11 Feb 2025 12:46:27 +0100 Subject: [PATCH] [clang][bytecode] Fix diagnosing replaceable gl

[clang] [clang][bytecode] Implement __builtin_constant_p differently (PR #122099)

2025-02-11 Thread Timm Baeder via cfe-commits
tbaederr wrote: > Yes, that's the interesting question. Currently we assume that if > __builtin_constant_p(__begin <= __ptr && __ptr < __end) is false, __ptr can't > be within the the range [__begin, __ptr). Thinking about this some more, I'm not sure if this is even true. `__builtin_constant

[clang] [verify] Improve the error messages with multiple active prefixes (PR #126068)

2025-02-11 Thread Timm Baeder via cfe-commits
tbaederr wrote: This all looks like welcome improvements to me, but I'll let someone else make the final call. There are currently C++ meetings though, so some people might not be as available. https://github.com/llvm/llvm-project/pull/126068 ___ cfe

[clang] [clang][bytecode] Fix diagnosing replaceable global allocator functions (PR #126717)

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

[clang] [clang][bytecode] Fix operator new source expression (PR #126870)

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

[clang] [clang][bytecode] Ignore Namespace{Using, Alias}Decls (PR #125387)

2025-02-02 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/125387 These were missing here and are used in a few libc++ tests. >From 7d77e6cdb6bf651b1b19c48e41c7e182e990e5d1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Sun, 2 Feb 2025 10:07:13 +0100 Subj

[clang] [clang][bytecode][NFC] Only get expr when checking for UB (PR #125397)

2025-02-02 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/125397 The Expr and its Type were unused otherwise. >From 928c97292c3528204b56d6d6d2e1524bedf9ca69 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Sun, 2 Feb 2025 11:59:19 +0100 Subject: [PATCH] [c

[clang] [clang][bytecode][NFC] Only get expr when checking for UB (PR #125397)

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

[clang] [clang][bytecode] Handle non-primitive vector element types (PR #124926)

2025-01-29 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/124926 By rejecting them. We would crash before. >From bd1f50f8ef4ea1139f3058b1c24a71e9cbee0823 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Wed, 29 Jan 2025 15:24:51 +0100 Subject: [PATCH] [cla

[clang] [AArch64] Refactor implementation of FP8 types (NFC) (PR #123604)

2025-01-29 Thread Timm Baeder via cfe-commits
tbaederr wrote: Is `__mfp8` a floating type? `isFloatingType()` on it returns `false`, was that the case before as well? https://github.com/llvm/llvm-project/pull/123604 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cg

[clang] Reapply "[clang][bytecode] Stack-allocate bottom function frame" (#12… (PR #125349)

2025-02-01 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/125349 …5325) Move the BottomFrame to InterpState instead. >From 1f491bfbf6dd0bf81c7d531920276c5f6ac2c04d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Sat, 1 Feb 2025 06:55:55 +0100 Subject: [P

[clang] [clang][bytecode] Ignore Namespace{Using, Alias}Decls (PR #125387)

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

[clang] Reapply "[clang][bytecode] Stack-allocate bottom function frame" (#12… (PR #125349)

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

[clang] [clang][bytecode] Refactor Program::createGlobalString (PR #125467)

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

[clang] [clang][bytecode][NFC] Only call getSource() when necessary (PR #125419)

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

[clang] [clang][bytecode][NFC] Add a FunctionKind enum (PR #125391)

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

<    15   16   17   18   19   20   21   22   23   24   >