[clang] [llvm] [X86] Add Support for X86 TLSDESC Relocations (PR #83136)

2024-03-06 Thread Phoebe Wang via cfe-commits
https://github.com/phoebewang updated https://github.com/llvm/llvm-project/pull/83136 >From cdc9ee6c322af0ceed162f3f714bcd0a22e020c3 Mon Sep 17 00:00:00 2001 From: Phoebe Wang Date: Tue, 27 Feb 2024 22:16:38 +0800 Subject: [PATCH 1/6] [X86] Add Support for X86 TLSDESC Relocations --- clang/li

[clang] [llvm] [X86] Add Support for X86 TLSDESC Relocations (PR #83136)

2024-03-06 Thread Phoebe Wang via cfe-commits
@@ -0,0 +1,165 @@ +; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 4 +; RUN: llc < %s -mtriple=i686-unknown-unknown --relocation-model=pic -enable-tlsdesc | FileCheck %s --check-prefix=X86 +; RUN: llc < %s -mtriple=x86_64-pc-linu

[clang] [clang-repl] Names declared in if conditions and for-init statements are local to the inner context (C++ 3.3.2p4) (PR #84150)

2024-03-06 Thread Vlad Serebrennikov via cfe-commits
Stefan =?utf-8?q?Gränitz?= , Stefan =?utf-8?q?Gränitz?= , Stefan =?utf-8?q?Gränitz?= , Stefan =?utf-8?q?Gränitz?= , Stefan =?utf-8?q?Gränitz?= Message-ID: In-Reply-To: Endilll wrote: Can you please update your branch with `main`? I'd like to make sure that your new functions in `Sema` doesn't

[clang] [X86] Change target of __builtin_ia32_cmp[p|s][s|d] from avx into sse/sse2 (PR #84136)

2024-03-06 Thread Shengchen Kan via cfe-commits
KanRobert wrote: My understanding is that you change the required feature of __builtin_ia32_cmp[p|s][s|d] from avx to sse for some condition codes. The title is not accurate. https://github.com/llvm/llvm-project/pull/84136 ___ cfe-commits mailing lis

[clang] [X86] Change target of __builtin_ia32_cmp[p|s][s|d] from avx into sse/sse2 (PR #84136)

2024-03-06 Thread Shengchen Kan via cfe-commits
@@ -2613,6 +2614,24 @@ void CGBuilderInserter::InsertHelper( // called function. void CodeGenFunction::checkTargetFeatures(const CallExpr *E, const FunctionDecl *TargetDecl) { + // SemaCheking cannot handle below x86 builtins because t

[clang] 86b6300 - [clang][Interp] Allow getFieldPtr ops on null pointers in C

2024-03-06 Thread Timm Bäder via cfe-commits
Author: Timm Bäder Date: 2024-03-06T12:34:50+01:00 New Revision: 86b630092f9a5139c4c4d627f1e0504e8f549bce URL: https://github.com/llvm/llvm-project/commit/86b630092f9a5139c4c4d627f1e0504e8f549bce DIFF: https://github.com/llvm/llvm-project/commit/86b630092f9a5139c4c4d627f1e0504e8f549bce.diff LO

[clang] a9ff5c0 - [clang][Docs] Add my Discourse + Discord name

2024-03-06 Thread Timm Bäder via cfe-commits
Author: Timm Bäder Date: 2024-03-06T12:34:50+01:00 New Revision: a9ff5c0b75abc3b7aa5c357b226e067b4ddc04bf URL: https://github.com/llvm/llvm-project/commit/a9ff5c0b75abc3b7aa5c357b226e067b4ddc04bf DIFF: https://github.com/llvm/llvm-project/commit/a9ff5c0b75abc3b7aa5c357b226e067b4ddc04bf.diff LO

[clang] [clang-repl] Names declared in if conditions and for-init statements are local to the inner context (C++ 3.3.2p4) (PR #84150)

2024-03-06 Thread Vassil Vassilev via cfe-commits
Stefan =?utf-8?q?Gränitz?= , Stefan =?utf-8?q?Gränitz?= , Stefan =?utf-8?q?Gränitz?= , Stefan =?utf-8?q?Gränitz?= , Stefan =?utf-8?q?Gränitz?= Message-ID: In-Reply-To: https://github.com/vgvassilev commented: Thanks for this PR! I think it is a good idea to make the `TopLevelStmtDecl` a `Decl

[clang] [clang-repl] Names declared in if conditions and for-init statements are local to the inner context (C++ 3.3.2p4) (PR #84150)

2024-03-06 Thread Vassil Vassilev via cfe-commits
Stefan =?utf-8?q?Gränitz?= , Stefan =?utf-8?q?Gränitz?= , Stefan =?utf-8?q?Gränitz?= , Stefan =?utf-8?q?Gränitz?= , Stefan =?utf-8?q?Gränitz?= Message-ID: In-Reply-To: @@ -5676,24 +5676,32 @@ Parser::DeclGroupPtrTy Parser::ParseTopLevelStmtDecl() { // Parse a top-level-stmt.

[clang] [clang-repl] Names declared in if conditions and for-init statements are local to the inner context (C++ 3.3.2p4) (PR #84150)

2024-03-06 Thread Vassil Vassilev via cfe-commits
Stefan =?utf-8?q?Gränitz?= , Stefan =?utf-8?q?Gränitz?= , Stefan =?utf-8?q?Gränitz?= , Stefan =?utf-8?q?Gränitz?= , Stefan =?utf-8?q?Gränitz?= Message-ID: In-Reply-To: @@ -20446,12 +20446,22 @@ Decl *Sema::ActOnFileScopeAsmDecl(Expr *expr, return New; } -Decl *Sema::ActOn

[clang] [clang-repl] Names declared in if conditions and for-init statements are local to the inner context (C++ 3.3.2p4) (PR #84150)

2024-03-06 Thread Vassil Vassilev via cfe-commits
Stefan =?utf-8?q?Gränitz?= , Stefan =?utf-8?q?Gränitz?= , Stefan =?utf-8?q?Gränitz?= , Stefan =?utf-8?q?Gränitz?= , Stefan =?utf-8?q?Gränitz?= Message-ID: In-Reply-To: https://github.com/vgvassilev edited https://github.com/llvm/llvm-project/pull/84150 _

[clang] [X86] Finely handle target of __builtin_ia32_cmp[p|s][s|d] from avx into sse/sse2/avx (PR #84136)

2024-03-06 Thread Freddy Ye via cfe-commits
https://github.com/FreddyLeaf edited https://github.com/llvm/llvm-project/pull/84136 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [X86] Finely handle target of __builtin_ia32_cmp[p|s][s|d] from avx into sse/sse2/avx (PR #84136)

2024-03-06 Thread Freddy Ye via cfe-commits
@@ -462,12 +462,12 @@ TARGET_BUILTIN(__builtin_ia32_blendvps256, "V8fV8fV8fV8f", "ncV:256:", "avx") TARGET_BUILTIN(__builtin_ia32_shufpd256, "V4dV4dV4dIi", "ncV:256:", "avx") TARGET_BUILTIN(__builtin_ia32_shufps256, "V8fV8fV8fIi", "ncV:256:", "avx") TARGET_BUILTIN(__builtin_ia

[clang] [X86] Finely handle target of __builtin_ia32_cmp[p|s][s|d] from avx into sse/sse2/avx (PR #84136)

2024-03-06 Thread Freddy Ye via cfe-commits
@@ -462,12 +462,12 @@ TARGET_BUILTIN(__builtin_ia32_blendvps256, "V8fV8fV8fV8f", "ncV:256:", "avx") TARGET_BUILTIN(__builtin_ia32_shufpd256, "V4dV4dV4dIi", "ncV:256:", "avx") TARGET_BUILTIN(__builtin_ia32_shufps256, "V8fV8fV8fIi", "ncV:256:", "avx") TARGET_BUILTIN(__builtin_ia

[clang] [X86] Finely handle target of __builtin_ia32_cmp[p|s][s|d] from avx into sse/sse2/avx (PR #84136)

2024-03-06 Thread Freddy Ye via cfe-commits
FreddyLeaf wrote: > My understanding is that you change the required feature of > __builtin_ia32_cmp[p|s][s|d] from avx to sse for some condition codes. The > title is not accurate. You are right. Updated. https://github.com/llvm/llvm-project/pull/84136 ___

[clang] [X86] Finely handle target of __builtin_ia32_cmp[p|s][s|d] from avx into sse/sse2/avx (PR #84136)

2024-03-06 Thread Freddy Ye via cfe-commits
@@ -2613,6 +2614,24 @@ void CGBuilderInserter::InsertHelper( // called function. void CodeGenFunction::checkTargetFeatures(const CallExpr *E, const FunctionDecl *TargetDecl) { + // SemaCheking cannot handle below x86 builtins because t

[clang] [X86] Finely handle target of __builtin_ia32_cmp[p|s][s|d] from avx into sse/sse2/avx (PR #84136)

2024-03-06 Thread Freddy Ye via cfe-commits
https://github.com/FreddyLeaf edited https://github.com/llvm/llvm-project/pull/84136 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang-repl] Names declared in if conditions and for-init statements are local to the inner context (C++ 3.3.2p4) (PR #84150)

2024-03-06 Thread Stefan Gränitz via cfe-commits
@@ -5676,24 +5676,32 @@ Parser::DeclGroupPtrTy Parser::ParseTopLevelStmtDecl() { // Parse a top-level-stmt. Parser::StmtVector Stmts; ParsedStmtContext SubStmtCtx = ParsedStmtContext(); - Actions.PushFunctionScope(); + ParseScope FnScope(this, Scope::FnScope | Scope::De

[clang] [clang][analyzer] Model allocation behavior or getdelim/geline (PR #83138)

2024-03-06 Thread via cfe-commits
Alejandro =?utf-8?q?=C3=81lvarez_Ayll=C3=B3n?= Message-ID: In-Reply-To: https://github.com/NagyDonat approved this pull request. Thanks, this seems to be a good improvement! I added some minor remarks, but I didn't notice any serious issues. https://github.com/llvm/llvm-project/pull/83138 ___

[clang] [clang][analyzer] Model allocation behavior or getdelim/geline (PR #83138)

2024-03-06 Thread via cfe-commits
Alejandro =?utf-8?q?Álvarez_Ayllón?Message-ID: In-Reply-To: https://github.com/NagyDonat edited https://github.com/llvm/llvm-project/pull/83138 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe

[clang] [clang][analyzer] Model allocation behavior or getdelim/geline (PR #83138)

2024-03-06 Thread via cfe-commits
Alejandro =?utf-8?q?Álvarez_Ayllón?Message-ID: In-Reply-To: @@ -1423,6 +1435,46 @@ void MallocChecker::checkGMallocN0(const CallEvent &Call, C.addTransition(State); } +void MallocChecker::preGetdelim(const CallEvent &Call, +CheckerContext &C

[clang] [clang][analyzer] Model allocation behavior or getdelim/geline (PR #83138)

2024-03-06 Thread via cfe-commits
Alejandro =?utf-8?q?Álvarez_Ayllón?Message-ID: In-Reply-To: @@ -1423,6 +1435,46 @@ void MallocChecker::checkGMallocN0(const CallEvent &Call, C.addTransition(State); } +void MallocChecker::preGetdelim(const CallEvent &Call, +CheckerContext &C

[clang] [clang][analyzer] Model allocation behavior or getdelim/geline (PR #83138)

2024-03-06 Thread via cfe-commits
Alejandro =?utf-8?q?Álvarez_Ayllón?Message-ID: In-Reply-To: @@ -110,6 +113,9 @@ class OperatorKind { OperatorKind operationKindFromOverloadedOperator(OverloadedOperatorKind OOK, bool IsBinary); +std::optional getPointeeDefVal(

[clang] [clang][analyzer] Model allocation behavior or getdelim/geline (PR #83138)

2024-03-06 Thread via cfe-commits
Alejandro =?utf-8?q?Álvarez_Ayllón?Message-ID: In-Reply-To: @@ -1423,6 +1435,46 @@ void MallocChecker::checkGMallocN0(const CallEvent &Call, C.addTransition(State); } +void MallocChecker::preGetdelim(const CallEvent &Call, +CheckerContext &C

[clang] [clang][Sema] Skip the RequiresExprBodyDecls for lambda dependencies (PR #83997)

2024-03-06 Thread via cfe-commits
https://github.com/cor3ntin approved this pull request. LGTM https://github.com/llvm/llvm-project/pull/83997 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang-repl] Names declared in if conditions and for-init statements are local to the inner context (C++ 3.3.2p4) (PR #84150)

2024-03-06 Thread Stefan Gränitz via cfe-commits
@@ -20446,12 +20446,22 @@ Decl *Sema::ActOnFileScopeAsmDecl(Expr *expr, return New; } -Decl *Sema::ActOnTopLevelStmtDecl(Stmt *Statement) { - auto *New = TopLevelStmtDecl::Create(Context, Statement); - Context.getTranslationUnitDecl()->addDecl(New); +TopLevelStmtDecl *Sema

[clang] [clang-repl] Names declared in if conditions and for-init statements are local to the inner context (C++ 3.3.2p4) (PR #84150)

2024-03-06 Thread Stefan Gränitz via cfe-commits
https://github.com/weliveindetail edited https://github.com/llvm/llvm-project/pull/84150 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang-repl] Names declared in if conditions and for-init statements are local to the inner context (C++ 3.3.2p4) (PR #84150)

2024-03-06 Thread Stefan Gränitz via cfe-commits
https://github.com/weliveindetail updated https://github.com/llvm/llvm-project/pull/84150 From 27ff0ddc0d736f4959abe61c9fd43b9c48ffb6a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefan=20Gr=C3=A4nitz?= Date: Wed, 28 Feb 2024 15:45:53 +0100 Subject: [PATCH 1/7] Add test cases for variable definit

[clang] [RISCV][Clang] Added builtin support for experimental Zimop extension (PR #79971)

2024-03-06 Thread Lyut Nersisyan via cfe-commits
https://github.com/ln8-8 updated https://github.com/llvm/llvm-project/pull/79971 >From a2a37921c83511796e051520c887092a3f58a3ba Mon Sep 17 00:00:00 2001 From: ln8-8 Date: Tue, 30 Jan 2024 13:02:22 +0400 Subject: [PATCH 1/3] [RISCV][Clang] Added builtin support for experimental Zimop extension

[clang] [clang][Interp] Integral pointers (PR #84159)

2024-03-06 Thread Timm Baeder via cfe-commits
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/84159 This turns the current `Pointer` class into a discriminated union of `BlockPointer` and `IntPointer`. The former is what `Pointer` currently is while the latter is just an integer value and an optional `Descrip

[clang] [clang][Interp] Integral pointers (PR #84159)

2024-03-06 Thread via cfe-commits
llvmbot wrote: @llvm/pr-subscribers-clang Author: Timm Baeder (tbaederr) Changes This turns the current `Pointer` class into a discriminated union of `BlockPointer` and `IntPointer`. The former is what `Pointer` currently is while the latter is just an integer value and an optional `Desc

[clang] [analyzer][NFC] Document check::ASTCodeBody checker callback (PR #84160)

2024-03-06 Thread Balazs Benics via cfe-commits
https://github.com/steakhal created https://github.com/llvm/llvm-project/pull/84160 Fixes #73764 With this patch, now all the callbacks are demonstrated here. >From a3da80aa7114d938e9cc3f03ec7941c91fbf Mon Sep 17 00:00:00 2001 From: Balazs Benics Date: Wed, 6 Mar 2024 13:05:44 +0100 Subje

[clang] [analyzer][NFC] Document check::ASTCodeBody checker callback (PR #84160)

2024-03-06 Thread via cfe-commits
llvmbot wrote: @llvm/pr-subscribers-clang-static-analyzer-1 Author: Balazs Benics (steakhal) Changes Fixes #73764 With this patch, now all the callbacks are demonstrated here. --- Full diff: https://github.com/llvm/llvm-project/pull/84160.diff 1 Files Affected: - (modified) clang/lib/

[clang] [X86] Finely handle target of __builtin_ia32_cmp[p|s][s|d] from avx into sse/sse2/avx (PR #84136)

2024-03-06 Thread Freddy Ye via cfe-commits
https://github.com/FreddyLeaf updated https://github.com/llvm/llvm-project/pull/84136 >From 2ba698b222fa1dc963d21850d5931562aa65533d Mon Sep 17 00:00:00 2001 From: Freddy Ye Date: Tue, 26 Sep 2023 16:44:01 +0800 Subject: [PATCH 1/3] [X86] Change target of __builtin_ia32_cmp[p|s][s|d] from avx

[clang] [X86] Finely handle target of __builtin_ia32_cmp[p|s][s|d] from avx into sse/sse2/avx (PR #84136)

2024-03-06 Thread Freddy Ye via cfe-commits
@@ -2613,6 +2614,24 @@ void CGBuilderInserter::InsertHelper( // called function. void CodeGenFunction::checkTargetFeatures(const CallExpr *E, const FunctionDecl *TargetDecl) { + // SemaCheking cannot handle below x86 builtins because t

[clang] [X86] Finely handle target of __builtin_ia32_cmp[p|s][s|d] from avx into sse/sse2/avx (PR #84136)

2024-03-06 Thread Freddy Ye via cfe-commits
https://github.com/FreddyLeaf deleted https://github.com/llvm/llvm-project/pull/84136 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [X86] Finely handle target of __builtin_ia32_cmp[p|s][s|d] from avx into sse/sse2/avx (PR #84136)

2024-03-06 Thread Freddy Ye via cfe-commits
@@ -2613,6 +2614,24 @@ void CGBuilderInserter::InsertHelper( // called function. void CodeGenFunction::checkTargetFeatures(const CallExpr *E, const FunctionDecl *TargetDecl) { + // SemaCheking cannot handle below x86 builtins because t

[clang] [X86] Finely handle target of __builtin_ia32_cmp[p|s][s|d] from avx into sse/sse2/avx (PR #84136)

2024-03-06 Thread Freddy Ye via cfe-commits
https://github.com/FreddyLeaf deleted https://github.com/llvm/llvm-project/pull/84136 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [X86] Finely handle target of __builtin_ia32_cmp[p|s][s|d] from avx into sse/sse2/avx (PR #84136)

2024-03-06 Thread Freddy Ye via cfe-commits
@@ -1719,3 +1719,57 @@ __m128i test_mm_xor_si128(__m128i A, __m128i B) { // CHECK: xor <2 x i64> %{{.*}}, %{{.*}} return _mm_xor_si128(A, B); } + +__m128d test_mm_cmp_pd_eq_oq(__m128d a, __m128d b) { FreddyLeaf wrote: [d8979e2](https://github.com/llvm/llvm

[clang] [X86] Finely handle target of __builtin_ia32_cmp[p|s][s|d] from avx into sse/sse2/avx (PR #84136)

2024-03-06 Thread Freddy Ye via cfe-commits
@@ -462,12 +462,12 @@ TARGET_BUILTIN(__builtin_ia32_blendvps256, "V8fV8fV8fV8f", "ncV:256:", "avx") TARGET_BUILTIN(__builtin_ia32_shufpd256, "V4dV4dV4dIi", "ncV:256:", "avx") TARGET_BUILTIN(__builtin_ia32_shufps256, "V8fV8fV8fIi", "ncV:256:", "avx") TARGET_BUILTIN(__builtin_ia

[clang] [analyzer][NFC] Document check::ASTCodeBody checker callback (PR #84160)

2024-03-06 Thread via cfe-commits
@@ -33,30 +33,33 @@ namespace ento { /// checking. /// /// \sa CheckerContext -class CheckerDocumentation : public Checker< check::PreStmt, - check::PostStmt, - check::PreObjCMessage, -

[clang] [llvm] [X86] Add Support for X86 TLSDESC Relocations (PR #83136)

2024-03-06 Thread Phoebe Wang via cfe-commits
@@ -18515,20 +18515,20 @@ X86TargetLowering::LowerGlobalAddress(SDValue Op, SelectionDAG &DAG) const { return LowerGlobalOrExternal(Op, DAG, /*ForCall=*/false); } -static SDValue -GetTLSADDR(SelectionDAG &DAG, SDValue Chain, GlobalAddressSDNode *GA, - SDValue *InG

[clang] [clang-cl] Fix value of __FUNCTION__ in MSVC mode. (PR #84014)

2024-03-06 Thread via cfe-commits
https://github.com/Sirraide approved this pull request. https://github.com/llvm/llvm-project/pull/84014 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang-cl] Fix value of __FUNCTION__ in MSVC mode. (PR #84014)

2024-03-06 Thread via cfe-commits
Sirraide wrote: Alright, the changes look sensible to me, but I’d like for someone who’s more familiar with this part of Clang or with the original pr to comment on them too before we merge it. https://github.com/llvm/llvm-project/pull/84014 ___ cfe-

[clang] [analyzer][NFC] Document check::ASTCodeBody checker callback (PR #84160)

2024-03-06 Thread Balazs Benics via cfe-commits
https://github.com/steakhal updated https://github.com/llvm/llvm-project/pull/84160 >From a3da80aa7114d938e9cc3f03ec7941c91fbf Mon Sep 17 00:00:00 2001 From: Balazs Benics Date: Wed, 6 Mar 2024 13:05:44 +0100 Subject: [PATCH 1/2] [analyzer][NFC] Document check::ASTCodeBody checker callback

[clang] [analyzer][NFC] Document check::ASTCodeBody checker callback (PR #84160)

2024-03-06 Thread Balazs Benics via cfe-commits
@@ -33,30 +33,33 @@ namespace ento { /// checking. /// /// \sa CheckerContext -class CheckerDocumentation : public Checker< check::PreStmt, - check::PostStmt, - check::PreObjCMessage, -

[clang] [analyzer][NFC] Document check::ASTCodeBody checker callback (PR #84160)

2024-03-06 Thread via cfe-commits
https://github.com/NagyDonat approved this pull request. LGTM, I also like that the indentation is not so deep now. https://github.com/llvm/llvm-project/pull/84160 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/m

[clang] c486d90 - [analyzer][NFC] Document check::ASTCodeBody checker callback (#84160)

2024-03-06 Thread via cfe-commits
Author: Balazs Benics Date: 2024-03-06T14:02:16+01:00 New Revision: c486d90bdcbd50046fbd8ac874e4b0e62e287193 URL: https://github.com/llvm/llvm-project/commit/c486d90bdcbd50046fbd8ac874e4b0e62e287193 DIFF: https://github.com/llvm/llvm-project/commit/c486d90bdcbd50046fbd8ac874e4b0e62e287193.diff

[clang] [analyzer][NFC] Document check::ASTCodeBody checker callback (PR #84160)

2024-03-06 Thread Balazs Benics via cfe-commits
https://github.com/steakhal closed https://github.com/llvm/llvm-project/pull/84160 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][dataflow] When analyzing ctors, don't initialize fields of `*this` with values. (PR #84164)

2024-03-06 Thread via cfe-commits
https://github.com/martinboehme created https://github.com/llvm/llvm-project/pull/84164 This is the constructor's job, and we want to be able to test that it does this. >From a93fad7447fd8772171a374d999fff0695c95b73 Mon Sep 17 00:00:00 2001 From: Martin Braenne Date: Wed, 6 Mar 2024 13:07:24

[clang] [clang][dataflow] When analyzing ctors, don't initialize fields of `*this` with values. (PR #84164)

2024-03-06 Thread via cfe-commits
llvmbot wrote: @llvm/pr-subscribers-clang @llvm/pr-subscribers-clang-analysis Author: None (martinboehme) Changes This is the constructor's job, and we want to be able to test that it does this. --- Full diff: https://github.com/llvm/llvm-project/pull/84164.diff 5 Files Affected: - (m

[clang] [clang-cl] Fix value of __FUNCTION__ in MSVC mode. (PR #84014)

2024-03-06 Thread via cfe-commits
@@ -224,6 +224,9 @@ Bug Fixes in This Version for variables created through copy initialization having side-effects in C++17 and later. Fixes (#GH64356) (#GH79518). +- Fix value of predefined macro ``__FUNCTION__`` in MSVC compatibility mode. + Fixes (GH#66114).

[clang] [clang][Interp] Merge ByteCodeExprGen and ByteCodeStmtGen (PR #83683)

2024-03-06 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: > How ugly does CRTP get though? Looks like this: https://github.com/tbaederr/llvm-project/commit/ae37a17e30978cbe8e42799d26308b2e4e7b0115 Not really a big fan. But I'm now stuck with ``` mold: error

[clang] [clang-cl] Fix value of __FUNCTION__ in MSVC mode. (PR #84014)

2024-03-06 Thread Zahira Ammarguellat via cfe-commits
https://github.com/zahiraam updated https://github.com/llvm/llvm-project/pull/84014 >From bdefe754c14c5e050ebf2b9c82eca458041564a4 Mon Sep 17 00:00:00 2001 From: Zahira Ammarguellat Date: Tue, 5 Mar 2024 05:35:16 -0800 Subject: [PATCH 1/4] [clang-cl] Fix value of __FUNCTION__ in MSVC mode. ---

[clang] [clang-repl] Names declared in if conditions and for-init statements are local to the inner context (C++ 3.3.2p4) (PR #84150)

2024-03-06 Thread Aaron Ballman via cfe-commits
Stefan =?utf-8?q?Gränitz?= , Stefan =?utf-8?q?Gränitz?= , Stefan =?utf-8?q?Gränitz?= , Stefan =?utf-8?q?Gränitz?= , Stefan =?utf-8?q?Gränitz?= Message-ID: In-Reply-To: https://github.com/AaronBallman edited https://github.com/llvm/llvm-project/pull/84150 ___

[clang] [clang-repl] Names declared in if conditions and for-init statements are local to the inner context (C++ 3.3.2p4) (PR #84150)

2024-03-06 Thread Aaron Ballman via cfe-commits
Stefan =?utf-8?q?Gränitz?= , Stefan =?utf-8?q?Gränitz?= , Stefan =?utf-8?q?Gränitz?= , Stefan =?utf-8?q?Gränitz?= , Stefan =?utf-8?q?Gränitz?= Message-ID: In-Reply-To: https://github.com/AaronBallman approved this pull request. This looks generally reasonable to me; it makes sense that stateme

[clang] [clang-repl] Names declared in if conditions and for-init statements are local to the inner context (C++ 3.3.2p4) (PR #84150)

2024-03-06 Thread Aaron Ballman via cfe-commits
Stefan =?utf-8?q?Gr=C3=A4nitz?= , Stefan =?utf-8?q?Gr=C3=A4nitz?= , Stefan =?utf-8?q?Gr=C3=A4nitz?= , Stefan =?utf-8?q?Gr=C3=A4nitz?= , Stefan =?utf-8?q?Gr=C3=A4nitz?= Message-ID: In-Reply-To: @@ -41,3 +40,16 @@ for (; i > 4; --i) { printf("i = %d\n", i); }; int j = i; print

[clang] [clang-repl] Names declared in if conditions and for-init statements are local to the inner context (C++ 3.3.2p4) (PR #84150)

2024-03-06 Thread Aaron Ballman via cfe-commits
Stefan =?utf-8?q?Gränitz?= , Stefan =?utf-8?q?Gränitz?= , Stefan =?utf-8?q?Gränitz?= , Stefan =?utf-8?q?Gränitz?= , Stefan =?utf-8?q?Gränitz?= Message-ID: In-Reply-To: @@ -41,3 +40,16 @@ for (; i > 4; --i) { printf("i = %d\n", i); }; int j = i; printf("j = %d\n", j); // CHE

[clang] [clang-repl] Names declared in if conditions and for-init statements are local to the inner context (C++ 3.3.2p4) (PR #84150)

2024-03-06 Thread Vassil Vassilev via cfe-commits
Stefan =?utf-8?q?Gr=C3=A4nitz?= , Stefan =?utf-8?q?Gr=C3=A4nitz?= , Stefan =?utf-8?q?Gr=C3=A4nitz?= , Stefan =?utf-8?q?Gr=C3=A4nitz?= , Stefan =?utf-8?q?Gr=C3=A4nitz?= Message-ID: In-Reply-To: @@ -20446,12 +20446,22 @@ Decl *Sema::ActOnFileScopeAsmDecl(Expr *expr, return New

[clang] [FMV] Remove duplicate features from mangled name. (PR #84165)

2024-03-06 Thread Alexandros Lamprineas via cfe-commits
https://github.com/labrinea created https://github.com/llvm/llvm-project/pull/84165 ACLE suggests: https://github.com/ARM-software/acle/pull/308 GCC emits diagnostics for attribute strings which contain duplicate features, but for now let's follow the SPEC in regards to mangling rules and we c

[clang] [clang-tools-extra] [clang][dataflow] Add null-check after dereference checker (PR #84166)

2024-03-06 Thread via cfe-commits
https://github.com/Discookie created https://github.com/llvm/llvm-project/pull/84166 This checker implements a null-pointer analysis checker using the data-flow framework. In particular, the checker finds cases where the pointer's nullability is checked after it has been dereferenced: ``` int

[clang] [FMV] Remove duplicate features from mangled name. (PR #84165)

2024-03-06 Thread via cfe-commits
llvmbot wrote: @llvm/pr-subscribers-backend-aarch64 Author: Alexandros Lamprineas (labrinea) Changes ACLE suggests: https://github.com/ARM-software/acle/pull/308 GCC emits diagnostics for attribute strings which contain duplicate features, but for now let's follow the SPEC in regards to

[clang] [clang-cl] Fix value of __FUNCTION__ in MSVC mode. (PR #84014)

2024-03-06 Thread Aaron Ballman via cfe-commits
@@ -721,10 +722,21 @@ std::string PredefinedExpr::ComputeName(PredefinedIdentKind IK, return std::string(Out.str()); } if (const FunctionDecl *FD = dyn_cast(CurrentDecl)) { -if (IK != PredefinedIdentKind::PrettyFunction && +const auto &LO = Context.getLangOpts(

[clang] [clang-cl] Fix value of __FUNCTION__ in MSVC mode. (PR #84014)

2024-03-06 Thread Aaron Ballman via cfe-commits
@@ -721,10 +722,21 @@ std::string PredefinedExpr::ComputeName(PredefinedIdentKind IK, return std::string(Out.str()); } if (const FunctionDecl *FD = dyn_cast(CurrentDecl)) { -if (IK != PredefinedIdentKind::PrettyFunction && +const auto &LO = Context.getLangOpts(

[clang] [clang-cl] Fix value of __FUNCTION__ in MSVC mode. (PR #84014)

2024-03-06 Thread Aaron Ballman via cfe-commits
@@ -1635,6 +1635,17 @@ void TypePrinter::printElaboratedBefore(const ElaboratedType *T, if (T->getKeyword() != ElaboratedTypeKeyword::None) OS << " "; NestedNameSpecifier *Qualifier = T->getQualifier(); +if (!Policy.SuppressTagKeyword && Policy.SuppressScope

[clang] [clang-tools-extra] [clang][dataflow] Add null-check after dereference checker (PR #84166)

2024-03-06 Thread via cfe-commits
llvmbot wrote: @llvm/pr-subscribers-clang-analysis @llvm/pr-subscribers-clangd Author: Discookie (Discookie) Changes This checker implements a null-pointer analysis checker using the data-flow framework. In particular, the checker finds cases where the pointer's nullability is checked af

[clang] [clang-tools-extra] [clang][dataflow] Add null-check after dereference checker (PR #84166)

2024-03-06 Thread via cfe-commits
github-actions[bot] wrote: :warning: C/C++ code formatter, clang-format found issues in your code. :warning: You can test this locally with the following command: ``bash git-clang-format --diff 7af4e8bcc354d2bd7e46ecf547172b1f19ddde3e cf75a856dd75a87c7d2e9f307c206f4283e8b8f7 --

[clang] [clang-tools-extra] [clang][dataflow] Add null-check after dereference checker (PR #84166)

2024-03-06 Thread via cfe-commits
https://github.com/whisperity commented: (@Discookie and I had an extensive prior review at Discookie/llvm-project#1 in case someone is interested in the details.) https://github.com/llvm/llvm-project/pull/84166 ___ cfe-commits mailing list cfe-commit

[clang] [CUDA] Correctly set CUDA default architecture (PR #84017)

2024-03-06 Thread Jonas Hahnfeld via cfe-commits
@@ -2,56 +2,56 @@ // REQUIRES: nvptx-registered-target // REQUIRES: zlib -// RUN: not %clang -### --target=x86_64-linux-gnu -c %s -g -gz 2>&1 \ +// RUN: %clang -### --target=x86_64-linux-gnu --offload-arch=sm_52 -nogpulib -nogpuinc -c %s -g -gz 2>&1 \ // RUN: | FileCheck %s

[clang] [clang-repl] Names declared in if conditions and for-init statements are local to the inner context (C++ 3.3.2p4) (PR #84150)

2024-03-06 Thread Stefan Gränitz via cfe-commits
weliveindetail wrote: Thanks! Added `while` with empty body as well as `switch`. Refined test output a bit, so that it now prints: ``` i = 5 (global scope) i = 1 (while condition) i = 2 (if condition) i = 3 (switch condition) i = 4 (for-init) ``` https://github.com/llvm/llvm-project/pull/84150

[clang] [CUDA] Correctly set CUDA default architecture (PR #84017)

2024-03-06 Thread Joseph Huber via cfe-commits
@@ -2,56 +2,56 @@ // REQUIRES: nvptx-registered-target // REQUIRES: zlib -// RUN: not %clang -### --target=x86_64-linux-gnu -c %s -g -gz 2>&1 \ +// RUN: %clang -### --target=x86_64-linux-gnu --offload-arch=sm_52 -nogpulib -nogpuinc -c %s -g -gz 2>&1 \ // RUN: | FileCheck %s

[clang] 33e3121 - [Clang] Mark papers & core issues implemented in clang 18 as released

2024-03-06 Thread Corentin Jabot via cfe-commits
Author: Corentin Jabot Date: 2024-03-06T14:47:53+01:00 New Revision: 33e312137b065ba330b187f56ddd60df70927241 URL: https://github.com/llvm/llvm-project/commit/33e312137b065ba330b187f56ddd60df70927241 DIFF: https://github.com/llvm/llvm-project/commit/33e312137b065ba330b187f56ddd60df70927241.diff

[clang] [clang][Sema] Bugfix for choosing the more specialized overload (PR #83279)

2024-03-06 Thread via cfe-commits
https://github.com/whisperity edited https://github.com/llvm/llvm-project/pull/83279 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][Sema] Bugfix for choosing the more specialized overload (PR #83279)

2024-03-06 Thread via cfe-commits
https://github.com/whisperity requested changes to this pull request. (Only style nits!) https://github.com/llvm/llvm-project/pull/83279 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][Sema] Bugfix for choosing the more specialized overload (PR #83279)

2024-03-06 Thread via cfe-commits
@@ -5568,12 +5576,28 @@ FunctionTemplateDecl *Sema::getMoreSpecializedTemplate( // ... and if G has a trailing function parameter pack for which F does not // have a corresponding parameter, and if F does not have a trailing // function parameter pack, then F is mor

[clang] [clang][Sema] Bugfix for choosing the more specialized overload (PR #83279)

2024-03-06 Thread via cfe-commits
@@ -5333,38 +5333,37 @@ bool Sema::CheckIfFunctionSpecializationIsImmediate(FunctionDecl *FD, return false; } -/// If this is a non-static member function, -static void -AddImplicitObjectParameterType(ASTContext &Context, - CXXMethodDecl *Metho

[clang] [clang][Sema] Bugfix for choosing the more specialized overload (PR #83279)

2024-03-06 Thread via cfe-commits
@@ -5548,13 +5493,76 @@ static bool isAtLeastAsSpecializedAs(Sema &S, FunctionTemplateDecl *Sema::getMoreSpecializedTemplate( FunctionTemplateDecl *FT1, FunctionTemplateDecl *FT2, SourceLocation Loc, TemplatePartialOrderingContext TPOC, unsigned NumCallArguments1, -

[clang] [clang][Sema] Bugfix for choosing the more specialized overload (PR #83279)

2024-03-06 Thread via cfe-commits
https://github.com/whisperity edited https://github.com/llvm/llvm-project/pull/83279 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][Interp] Integral pointers (PR #84159)

2024-03-06 Thread Aaron Ballman via cfe-commits
@@ -26,60 +26,98 @@ Pointer::Pointer(Block *Pointee) Pointer::Pointer(Block *Pointee, unsigned BaseAndOffset) : Pointer(Pointee, BaseAndOffset, BaseAndOffset) {} -Pointer::Pointer(const Pointer &P) : Pointer(P.Pointee, P.Base, P.Offset) {} +Pointer::Pointer(const Pointer &

[clang] [clang][Interp] Integral pointers (PR #84159)

2024-03-06 Thread Aaron Ballman via cfe-commits
@@ -53,6 +57,10 @@ class FunctionPointer final { return toAPValue().getAsString(Ctx, Func->getDecl()->getType()); } + uint32_t getIntegerRepresentation() const { +return static_cast(reinterpret_cast(Func)); + } AaronBallman wrote: This seems dange

[clang] [clang][Interp] Integral pointers (PR #84159)

2024-03-06 Thread Aaron Ballman via cfe-commits
https://github.com/AaronBallman edited https://github.com/llvm/llvm-project/pull/84159 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang][Interp] Integral pointers (PR #84159)

2024-03-06 Thread Aaron Ballman via cfe-commits
https://github.com/AaronBallman commented: I think the general direction is pretty reasonable. https://github.com/llvm/llvm-project/pull/84159 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-c

[clang] [clang][Interp] Integral pointers (PR #84159)

2024-03-06 Thread Aaron Ballman via cfe-commits
@@ -1505,12 +1509,17 @@ bool OffsetHelper(InterpState &S, CodePtr OpPC, const T &Offset, return true; } - if (!CheckNull(S, OpPC, Ptr, CSK_ArrayIndex)) -return false; + if (!CheckNull(S, OpPC, Ptr, CSK_ArrayIndex)) { +// The CheckNul will have emitted a note a

[clang] [clang][Interp] Integral pointers (PR #84159)

2024-03-06 Thread Aaron Ballman via cfe-commits
@@ -1912,6 +1929,10 @@ inline bool NoRet(InterpState &S, CodePtr OpPC) { inline bool NarrowPtr(InterpState &S, CodePtr OpPC) { const Pointer &Ptr = S.Stk.pop(); + if (!S.getLangOpts().CPlusPlus) { +S.Stk.push(Ptr); AaronBallman wrote: Might be a good i

[clang] [clang][Interp] Integral pointers (PR #84159)

2024-03-06 Thread Aaron Ballman via cfe-commits
@@ -26,60 +26,98 @@ Pointer::Pointer(Block *Pointee) Pointer::Pointer(Block *Pointee, unsigned BaseAndOffset) : Pointer(Pointee, BaseAndOffset, BaseAndOffset) {} -Pointer::Pointer(const Pointer &P) : Pointer(P.Pointee, P.Base, P.Offset) {} +Pointer::Pointer(const Pointer &

[clang] [clang][Interp] Integral pointers (PR #84159)

2024-03-06 Thread Aaron Ballman via cfe-commits
@@ -187,6 +195,34 @@ bool ByteCodeExprGen::VisitCastExpr(const CastExpr *CE) { return true; } + case CK_IntegralToPointer: { +QualType IntType = SubExpr->getType(); +assert(IntType->isIntegralOrEnumerationType()); +if (!this->visit(SubExpr)) + return f

[clang] [clang][Interp] Integral pointers (PR #84159)

2024-03-06 Thread Aaron Ballman via cfe-commits
@@ -809,9 +809,9 @@ inline bool CmpHelperEQ(InterpState &S, CodePtr OpPC, CompareFn Fn) { // element in the same array are NOT equal. They have the same Base value, // but a different Offset. This is a pretty rare case, so we fix this here // by comparing pointers

[clang] [clang][Interp] Integral pointers (PR #84159)

2024-03-06 Thread Aaron Ballman via cfe-commits
@@ -2180,6 +2201,14 @@ inline bool GetFnPtr(InterpState &S, CodePtr OpPC, const Function *Func) { return true; } +template ::T> +inline bool GetIntPtr(InterpState &S, CodePtr OpPC, const Descriptor *Desc) { + const T &IntVal = S.Stk.pop(); + + S.Stk.push(static_cast(IntVa

[clang] [clang][Interp] Integral pointers (PR #84159)

2024-03-06 Thread Aaron Ballman via cfe-commits
@@ -88,6 +126,12 @@ APValue Pointer::toAPValue() const { if (isZero()) return APValue(static_cast(nullptr), CharUnits::Zero(), Path, /*IsOnePastEnd=*/false, /*IsNullPtr=*/true); + if (isIntegralPointer()) { +return APValue(static_cast(nullptr), +

[clang] [clang][Interp] Integral pointers (PR #84159)

2024-03-06 Thread Aaron Ballman via cfe-commits
@@ -123,8 +167,9 @@ APValue Pointer::toAPValue() const { Path.push_back(APValue::LValuePathEntry({BaseOrMember, IsVirtual})); Ptr = Ptr.getBase(); continue; + +llvm_unreachable("Invalid field type"); AaronBallman wrote: Errr...

[clang] [clang][Interp] Integral pointers (PR #84159)

2024-03-06 Thread Aaron Ballman via cfe-commits
@@ -26,60 +26,98 @@ Pointer::Pointer(Block *Pointee) Pointer::Pointer(Block *Pointee, unsigned BaseAndOffset) : Pointer(Pointee, BaseAndOffset, BaseAndOffset) {} -Pointer::Pointer(const Pointer &P) : Pointer(P.Pointee, P.Base, P.Offset) {} +Pointer::Pointer(const Pointer &

[clang] [clang][Interp] Integral pointers (PR #84159)

2024-03-06 Thread Aaron Ballman via cfe-commits
@@ -172,72 +217,107 @@ class Pointer { Adjust = sizeof(InitMapPtr); else Adjust = sizeof(InlineDescriptor); - return Pointer(Pointee, Base, Base + getSize() + Adjust); + return Pointer(asBlockPointer().Pointee, asBlockPointer().Base, +

[clang] [clang][Interp] Integral pointers (PR #84159)

2024-03-06 Thread Aaron Ballman via cfe-commits
@@ -28,11 +28,26 @@ class Block; class DeadBlock; class Pointer; class Context; +template class Integral; enum PrimType : unsigned; class Pointer; inline llvm::raw_ostream &operator<<(llvm::raw_ostream &OS, const Pointer &P); +struct BlockPointer { Aaro

[clang] [clang][Interp] Integral pointers (PR #84159)

2024-03-06 Thread Aaron Ballman via cfe-commits
@@ -26,60 +26,98 @@ Pointer::Pointer(Block *Pointee) Pointer::Pointer(Block *Pointee, unsigned BaseAndOffset) : Pointer(Pointee, BaseAndOffset, BaseAndOffset) {} -Pointer::Pointer(const Pointer &P) : Pointer(P.Pointee, P.Base, P.Offset) {} +Pointer::Pointer(const Pointer &

[clang] [llvm] [AMDGPU] Adding the amdgpu-num-work-groups function attribute (PR #79035)

2024-03-06 Thread Matt Arsenault via cfe-commits
@@ -494,6 +494,14 @@ MetadataStreamerMsgPackV4::getHSAKernelProps(const MachineFunction &MF, Kern[".max_flat_workgroup_size"] = Kern.getDocument()->getNode(MFI.getMaxFlatWorkGroupSize()); + unsigned NumWGX = MFI.getMaxNumWorkGroupsX(); + unsigned NumWGY = MFI.getMax

[clang] [Clang] [Sema] No longer diagnose type definitions in `offsetof` in C23 mode (PR #84169)

2024-03-06 Thread via cfe-commits
https://github.com/Sirraide created https://github.com/llvm/llvm-project/pull/84169 This is now allowed in C23; continue to diagnose it in earlier language modes as before, but now as a C23 extension rather than a GNU extension. This fixes #83658. >From f0c1b2d114fc112726b61ec9274ba37cd3c2160

[clang] [llvm] [AMDGPU] Adding the amdgpu-num-work-groups function attribute (PR #79035)

2024-03-06 Thread Matt Arsenault via cfe-commits
@@ -1312,6 +1312,11 @@ The AMDGPU backend supports the following LLVM IR attributes. the frame. This is an internal detail of how LDS variables are lowered, language front ends should not

[clang] [Clang] [Sema] No longer diagnose type definitions in `offsetof` in C23 mode (PR #84169)

2024-03-06 Thread via cfe-commits
llvmbot wrote: @llvm/pr-subscribers-clang Author: None (Sirraide) Changes This is now allowed in C23; continue to diagnose it in earlier language modes as before, but now as a C23 extension rather than a GNU extension. This fixes #83658. --- Full diff: https://github.com/llvm/llvm-proje

[clang] [llvm] [AMDGPU] Adding the amdgpu-num-work-groups function attribute (PR #79035)

2024-03-06 Thread Matt Arsenault via cfe-commits
@@ -137,6 +137,12 @@ Removed Compiler Flags Attribute Changes in Clang -- +- Introduced a new function attribute ``__attribute__((amdgpu_max_num_work_groups(x, y, z)))`` or arsenm wrote: s/work_groups/workgroup/ https://github.com/ll

[clang] ae79854 - Update C status page now that Clang 18.x is released

2024-03-06 Thread Aaron Ballman via cfe-commits
Author: Aaron Ballman Date: 2024-03-06T08:58:04-05:00 New Revision: ae79854e4dcfb923130d3cd751363dbee19cb5b5 URL: https://github.com/llvm/llvm-project/commit/ae79854e4dcfb923130d3cd751363dbee19cb5b5 DIFF: https://github.com/llvm/llvm-project/commit/ae79854e4dcfb923130d3cd751363dbee19cb5b5.diff

<    1   2   3   4   5   6   >