[clang] [llvm] [WIP] ABI Lowering Library (PR #140112)

2025-08-28 Thread Nikita Popov via cfe-commits
@@ -0,0 +1,1493 @@ +//===- X86.cpp ===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: A

[clang] [llvm] [InstCombine] Strip leading zero indices from GEP (PR #155415)

2025-08-28 Thread Nikita Popov via cfe-commits
nikic wrote: > > The main issue I saw is that we now sometimes fail to eliminate null checks > > of the form `gep inbounds (p, x-1) == null`, which are converted to `gep > > (gep p, x), -1` now, losing flags. > > I checked whether we can mitigate this by folding null checks before doing > thi

[clang] [llvm] [WIP] ABI Lowering Library (PR #140112)

2025-08-28 Thread Nikita Popov via cfe-commits
@@ -0,0 +1,560 @@ +//== QualTypeMapper.cpp - Maps Clang QualType to LLVMABI Types -==// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Ap

[clang] [llvm] [WIP] ABI Lowering Library (PR #140112)

2025-08-28 Thread Nikita Popov via cfe-commits
@@ -0,0 +1,556 @@ +//== QualTypeMapper.cpp - Maps Clang QualType to LLVMABI Types -==// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Ap

[clang] [llvm] [WIP] ABI Lowering Library (PR #140112)

2025-08-28 Thread Nikita Popov via cfe-commits
@@ -0,0 +1,244 @@ +//=== ABITypeMapper.cpp - Maps LLVM ABI Types to LLVM IR Types --===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apach

[clang] [llvm] [WIP] ABI Lowering Library (PR #140112)

2025-08-28 Thread Nikita Popov via cfe-commits
@@ -0,0 +1,1493 @@ +//===- X86.cpp ===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: A

[clang] [llvm] [WIP] ABI Lowering Library (PR #140112)

2025-08-28 Thread Nikita Popov via cfe-commits
@@ -0,0 +1,1493 @@ +//===- X86.cpp ===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: A

[clang] [llvm] [WIP] ABI Lowering Library (PR #140112)

2025-08-28 Thread Nikita Popov via cfe-commits
@@ -0,0 +1,1493 @@ +//===- X86.cpp ===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: A

[clang] [llvm] [WIP] ABI Lowering Library (PR #140112)

2025-08-28 Thread Nikita Popov via cfe-commits
@@ -0,0 +1,244 @@ +//=== ABITypeMapper.cpp - Maps LLVM ABI Types to LLVM IR Types --===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apach

[clang] [llvm] [WIP] ABI Lowering Library (PR #140112)

2025-08-28 Thread Nikita Popov via cfe-commits
@@ -0,0 +1,244 @@ +//=== ABITypeMapper.cpp - Maps LLVM ABI Types to LLVM IR Types --===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apach

[clang] [llvm] [WIP] ABI Lowering Library (PR #140112)

2025-08-28 Thread Nikita Popov via cfe-commits
@@ -0,0 +1,244 @@ +//=== ABITypeMapper.cpp - Maps LLVM ABI Types to LLVM IR Types --===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apach

[clang] [llvm] [WIP] ABI Lowering Library (PR #140112)

2025-08-28 Thread Nikita Popov via cfe-commits
@@ -0,0 +1,244 @@ +//=== ABITypeMapper.cpp - Maps LLVM ABI Types to LLVM IR Types --===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apach

[clang] [llvm] [WIP] ABI Lowering Library (PR #140112)

2025-08-28 Thread Nikita Popov via cfe-commits
@@ -0,0 +1,76 @@ +//=== ABITypeMapper.h - Maps LLVM ABI Types to LLVM IR Types ===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache

[clang] [llvm] [WIP] ABI Lowering Library (PR #140112)

2025-08-28 Thread Nikita Popov via cfe-commits
@@ -0,0 +1,244 @@ +//=== ABITypeMapper.cpp - Maps LLVM ABI Types to LLVM IR Types --===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apach

[clang] [llvm] [WIP] ABI Lowering Library (PR #140112)

2025-08-28 Thread Nikita Popov via cfe-commits
@@ -0,0 +1,76 @@ +//=== ABITypeMapper.h - Maps LLVM ABI Types to LLVM IR Types ===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache

[clang] [llvm] [WIP] ABI Lowering Library (PR #140112)

2025-08-28 Thread Nikita Popov via cfe-commits
@@ -0,0 +1,76 @@ +//=== ABITypeMapper.h - Maps LLVM ABI Types to LLVM IR Types ===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache

[clang] [llvm] [WIP] ABI Lowering Library (PR #140112)

2025-08-28 Thread Nikita Popov via cfe-commits
@@ -0,0 +1,244 @@ +//=== ABITypeMapper.cpp - Maps LLVM ABI Types to LLVM IR Types --===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apach

[clang] [llvm] [WIP] ABI Lowering Library (PR #140112)

2025-08-28 Thread Nikita Popov via cfe-commits
@@ -0,0 +1,244 @@ +//=== ABITypeMapper.cpp - Maps LLVM ABI Types to LLVM IR Types --===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apach

[clang] [llvm] [WIP] ABI Lowering Library (PR #140112)

2025-08-28 Thread Nikita Popov via cfe-commits
@@ -0,0 +1,76 @@ +//=== ABITypeMapper.h - Maps LLVM ABI Types to LLVM IR Types ===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache

[clang] [llvm] [WIP] ABI Lowering Library (PR #140112)

2025-08-28 Thread Nikita Popov via cfe-commits
@@ -0,0 +1,76 @@ +//=== ABITypeMapper.h - Maps LLVM ABI Types to LLVM IR Types ===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache

[clang] [llvm] [WIP] ABI Lowering Library (PR #140112)

2025-08-28 Thread Nikita Popov via cfe-commits
@@ -0,0 +1,244 @@ +//=== ABITypeMapper.cpp - Maps LLVM ABI Types to LLVM IR Types --===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apach

[clang] [llvm] [WIP] ABI Lowering Library (PR #140112)

2025-08-28 Thread Nikita Popov via cfe-commits
@@ -0,0 +1,76 @@ +//=== ABITypeMapper.h - Maps LLVM ABI Types to LLVM IR Types ===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache

[clang] [llvm] [WIP] ABI Lowering Library (PR #140112)

2025-08-28 Thread Nikita Popov via cfe-commits
@@ -0,0 +1,76 @@ +//=== ABITypeMapper.h - Maps LLVM ABI Types to LLVM IR Types ===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache

[clang] [llvm] [WIP] ABI Lowering Library (PR #140112)

2025-08-28 Thread Nikita Popov via cfe-commits
@@ -0,0 +1,543 @@ +//===- ABI/Types.h --*- C++ -*-===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Ap

[clang] [llvm] [WIP] ABI Lowering Library (PR #140112)

2025-08-28 Thread Nikita Popov via cfe-commits
@@ -0,0 +1,543 @@ +//===- ABI/Types.h --*- C++ -*-===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Ap

[clang] [llvm] [WIP] ABI Lowering Library (PR #140112)

2025-08-28 Thread Nikita Popov via cfe-commits
@@ -0,0 +1,543 @@ +//===- ABI/Types.h --*- C++ -*-===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Ap

[clang] [llvm] [WIP] ABI Lowering Library (PR #140112)

2025-08-28 Thread Nikita Popov via cfe-commits
@@ -0,0 +1,543 @@ +//===- ABI/Types.h --*- C++ -*-===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Ap

[clang] [llvm] [WIP] ABI Lowering Library (PR #140112)

2025-08-28 Thread Nikita Popov via cfe-commits
@@ -0,0 +1,543 @@ +//===- ABI/Types.h --*- C++ -*-===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Ap

[clang] [llvm] [WIP] ABI Lowering Library (PR #140112)

2025-08-28 Thread Nikita Popov via cfe-commits
@@ -0,0 +1,543 @@ +//===- ABI/Types.h --*- C++ -*-===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Ap

[clang] [llvm] [WIP] ABI Lowering Library (PR #140112)

2025-08-28 Thread Nikita Popov via cfe-commits
@@ -0,0 +1,543 @@ +//===- ABI/Types.h --*- C++ -*-===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Ap

[clang] [llvm] [WIP] ABI Lowering Library (PR #140112)

2025-08-28 Thread Nikita Popov via cfe-commits
@@ -0,0 +1,543 @@ +//===- ABI/Types.h --*- C++ -*-===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Ap

[clang] [llvm] [WIP] ABI Lowering Library (PR #140112)

2025-08-28 Thread Nikita Popov via cfe-commits
@@ -0,0 +1,543 @@ +//===- ABI/Types.h --*- C++ -*-===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Ap

[clang] [llvm] [WIP] ABI Lowering Library (PR #140112)

2025-08-28 Thread Nikita Popov via cfe-commits
@@ -0,0 +1,543 @@ +//===- ABI/Types.h --*- C++ -*-===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Ap

[clang] [llvm] [WIP] ABI Lowering Library (PR #140112)

2025-08-28 Thread Nikita Popov via cfe-commits
@@ -0,0 +1,543 @@ +//===- ABI/Types.h --*- C++ -*-===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Ap

[clang] [llvm] [WIP] ABI Lowering Library (PR #140112)

2025-08-28 Thread Nikita Popov via cfe-commits
nikic wrote: Missing license header. https://github.com/llvm/llvm-project/pull/140112 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [WIP] ABI Lowering Library (PR #140112)

2025-08-28 Thread Nikita Popov via cfe-commits
@@ -0,0 +1,543 @@ +//===- ABI/Types.h --*- C++ -*-===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Ap

[clang] [llvm] [WIP] ABI Lowering Library (PR #140112)

2025-08-28 Thread Nikita Popov via cfe-commits
@@ -0,0 +1,543 @@ +//===- ABI/Types.h --*- C++ -*-===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Ap

[clang] [llvm] [WIP] ABI Lowering Library (PR #140112)

2025-08-28 Thread Nikita Popov via cfe-commits
nikic wrote: Missing license header. https://github.com/llvm/llvm-project/pull/140112 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [WIP] ABI Lowering Library (PR #140112)

2025-08-28 Thread Nikita Popov via cfe-commits
@@ -0,0 +1,543 @@ +//===- ABI/Types.h --*- C++ -*-===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Ap

[clang] [llvm] [WIP] ABI Lowering Library (PR #140112)

2025-08-28 Thread Nikita Popov via cfe-commits
@@ -0,0 +1,543 @@ +//===- ABI/Types.h --*- C++ -*-===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Ap

[clang] [llvm] Remove some "DeprecatedSmallSet is deprecated" warnings from the build (PR #155407)

2025-08-27 Thread Nikita Popov via cfe-commits
nikic wrote: https://github.com/llvm/llvm-project/pull/155622 https://github.com/llvm/llvm-project/pull/155407 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] Remove some "DeprecatedSmallSet is deprecated" warnings from the build (PR #155407)

2025-08-27 Thread Nikita Popov via cfe-commits
nikic wrote: I think it's probably best to revert this change. https://github.com/llvm/llvm-project/pull/155407 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] Remove some "DeprecatedSmallSet is deprecated" warnings from the build (PR #155407)

2025-08-27 Thread Nikita Popov via cfe-commits
nikic wrote: Which compiler are you using? https://github.com/llvm/llvm-project/pull/155407 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [InstCombine] Strip leading zero indices from GEP (PR #155415)

2025-08-26 Thread Nikita Popov via cfe-commits
nikic wrote: @zyw-bot csmith-fuzz https://github.com/llvm/llvm-project/pull/155415 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [flang] [flang] Disable loop interchange by default (PR #155279)

2025-08-26 Thread Nikita Popov via cfe-commits
nikic wrote: /cherry-pick 8849750e998819903dc749411bc9a7cd508a5e8a https://github.com/llvm/llvm-project/pull/155279 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [flang] [flang] Disable loop interchange by default (PR #155279)

2025-08-26 Thread Nikita Popov via cfe-commits
https://github.com/nikic milestoned https://github.com/llvm/llvm-project/pull/155279 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [flang] [flang] Disable loop interchange by default (PR #155279)

2025-08-26 Thread Nikita Popov via cfe-commits
https://github.com/nikic closed https://github.com/llvm/llvm-project/pull/155279 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [flang] [flang] add -floop-interchange and enable it with opt levels (PR #140182)

2025-08-25 Thread Nikita Popov via cfe-commits
nikic wrote: As this is time critical (needs to land prior to the LLVM 21 release tomorrow) I've submitted a PR myself: https://github.com/llvm/llvm-project/pull/155279 https://github.com/llvm/llvm-project/pull/140182 ___ cfe-commits mailing list cfe-

[clang] [flang] [flang] Disable loop interchange by default (PR #155279)

2025-08-25 Thread Nikita Popov via cfe-commits
https://github.com/nikic created https://github.com/llvm/llvm-project/pull/155279 Disable loop interchange by default, while keeping the ability to explicitly enable using `-floop-interchange`. This matches Clang. See discussion on https://github.com/llvm/llvm-project/pull/140182. >From 94006

[clang] [flang] [flang] add -floop-interchange and enable it with opt levels (PR #140182)

2025-08-25 Thread Nikita Popov via cfe-commits
nikic wrote: @sjoerdmeijer Let me address two points separately. The first is the original submission of this PR. There was an existing PR to enable loop interchange in https://github.com/llvm/llvm-project/pull/124911, and discussion for this enablement was consolidated there. I can see no ev

[clang] [flang] [flang] add -floop-interchange and enable it with opt levels (PR #140182)

2025-08-22 Thread Nikita Popov via cfe-commits
nikic wrote: To be honest, I am very surprised that this PR was submitted, let alone landed. We have **explicitly not approved** enabling LoopInterchange by default in LLVM due to outstanding issues. So instead you go ahead and enable it directly in Flang instead, without even notifying any of

[clang] [llvm] Reland "[Utils] Add new --update-tests flag to llvm-lit" (PR #153821)

2025-08-19 Thread Nikita Popov via cfe-commits
nikic wrote: It looks like this also ends up regenerating XFAIL tests, which is not desirable. https://github.com/llvm/llvm-project/pull/153821 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe

[clang] [llvm] [WIP] ABI Lowering Library (PR #140112)

2025-08-18 Thread Nikita Popov via cfe-commits
@@ -0,0 +1,1408 @@ +//===- X86.cpp ===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: A

[clang] [llvm] [WIP] ABI Lowering Library (PR #140112)

2025-08-18 Thread Nikita Popov via cfe-commits
@@ -0,0 +1,603 @@ +//== QualTypeMapper.cpp - Maps Clang QualType to LLVMABI Types -==// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Ap

[clang] [Clang] Rename HasLegalHalfType -> HasFastHalfType (NFC) (PR #153163)

2025-08-18 Thread Nikita Popov via cfe-commits
https://github.com/nikic closed https://github.com/llvm/llvm-project/pull/153163 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [WIP] ABI Lowering Library (PR #140112)

2025-08-17 Thread Nikita Popov via cfe-commits
@@ -0,0 +1,538 @@ +//===- ABI/Types.h --*- C++ -*-===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Ap

[clang] [llvm] Reland "[Utils] Add new --update-tests flag to llvm-lit" (PR #153821)

2025-08-15 Thread Nikita Popov via cfe-commits
nikic wrote: > It also adds support for auto-fixing tests failing based on the diff command. This seems like an independent feature -- do it as a followup? https://github.com/llvm/llvm-project/pull/153821 ___ cfe-commits mailing list cfe-commits@lists

[clang] [clang-tools-extra] [flang] [lld] [llvm] [LLVM][utils] Add script which clears release notes (PR #153593)

2025-08-15 Thread Nikita Popov via cfe-commits
nikic wrote: Yes, I think this PR is valuable by itself and we can build any further changes on top of it. https://github.com/llvm/llvm-project/pull/153593 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/

[clang] [clang-tools-extra] [flang] [lld] [llvm] [LLVM][utils] Add script which clears release notes (PR #153593)

2025-08-15 Thread Nikita Popov via cfe-commits
nikic wrote: @tru In that case it might make sense to switch to the libcxx model where all the release notes are versioned (see https://github.com/llvm/llvm-project/tree/main/libcxx/docs/ReleaseNotes) and then just the latest one included on the unversioned page? https://github.com/llvm/llvm

[clang] Revert "[Headers][X86] Allow SSE/AVX/AVX512 unpck intrinsics to be used in constexpr" (PR #153491)

2025-08-13 Thread Nikita Popov via cfe-commits
https://github.com/nikic auto_merge_disabled https://github.com/llvm/llvm-project/pull/153491 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] Revert "[Headers][X86] Allow SSE/AVX/AVX512 unpck intrinsics to be used in constexpr" (PR #153491)

2025-08-13 Thread Nikita Popov via cfe-commits
https://github.com/nikic closed https://github.com/llvm/llvm-project/pull/153491 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] Revert "[Headers][X86] Allow SSE/AVX/AVX512 unpck intrinsics to be used in constexpr" (PR #153491)

2025-08-13 Thread Nikita Popov via cfe-commits
nikic wrote: Yes, if you completely break the build, please fix it ASAP, either by reverting or directly pushing a fix. https://github.com/llvm/llvm-project/pull/153491 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi

[clang] Revert "[Headers][X86] Allow SSE/AVX/AVX512 unpck intrinsics to be used in constexpr" (PR #153491)

2025-08-13 Thread Nikita Popov via cfe-commits
https://github.com/nikic auto_merge_enabled https://github.com/llvm/llvm-project/pull/153491 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] Revert "[Headers][X86] Allow SSE/AVX/AVX512 unpck intrinsics to be used in constexpr" (PR #153491)

2025-08-13 Thread Nikita Popov via cfe-commits
https://github.com/nikic created https://github.com/llvm/llvm-project/pull/153491 Reverts llvm/llvm-project#153102 because it introduces a test failure. >From d5069f8aaefd251fdc101440b72013d9b5280f21 Mon Sep 17 00:00:00 2001 From: Nikita Popov Date: Wed, 13 Aug 2025 22:34:47 +0200 Subject: [PA

[clang] [llvm] [AVR] Only specify one legal int string in data layout (PR #153010)

2025-08-11 Thread Nikita Popov via cfe-commits
https://github.com/nikic created https://github.com/llvm/llvm-project/pull/153010 There should not be both `n8` and `n16:8`. This is a single list of legal integers. Additionally, this should use the standard order in increasing size `n8:16`. >From 17d75aaec45a1feefa3f96289fd115c1200bb5fd Mon

[clang] [llvm] [PowerPC] fix bug affecting float to int32 conversion on LE PowerPC (PR #150194)

2025-08-08 Thread Nikita Popov via cfe-commits
nikic wrote: > Found another related bug: soft float ABI selection was not taking effect on > little-endian powerPC with embedded vectors (e.g. e500v2) leading to errors. > (embedded vectors use "extended" GPRs to store floating-point values, and > this caused issues with variadic arguments as

[clang] [llvm] [KeyInstr] Remove LLVM_EXPERIMENTAL_KEY_INSTRUCTIONS CMake flag (PR #152735)

2025-08-08 Thread Nikita Popov via cfe-commits
https://github.com/nikic approved this pull request. https://github.com/llvm/llvm-project/pull/152735 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang][CodeGen] Move `EmitPointerArithmetic` into `CodeGenFunction`. NFC. (PR #152634)

2025-08-08 Thread Nikita Popov via cfe-commits
https://github.com/nikic approved this pull request. https://github.com/llvm/llvm-project/pull/152634 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [flang] [llvm] [IR] Remove size argument from lifetime intrinsics (PR #150248)

2025-08-08 Thread Nikita Popov via cfe-commits
https://github.com/nikic closed https://github.com/llvm/llvm-project/pull/150248 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang][CodeGen] Move `EmitPointerArithmetic` into `CodeGenFunction`. NFC. (PR #152634)

2025-08-08 Thread Nikita Popov via cfe-commits
@@ -4227,79 +4234,77 @@ static Value *emitPointerArithmetic(CodeGenFunction &CGF, // // Note that we do not suppress the pointer overflow check in this case. if (BinaryOperator::isNullPointerArithmeticExtension( - CGF.getContext(), op.Opcode, expr->getLHS(), exp

[clang] [llvm] [InferAlignment] Propagate alignment between loads/stores of the same base pointer (PR #145733)

2025-08-07 Thread Nikita Popov via cfe-commits
https://github.com/nikic approved this pull request. https://github.com/llvm/llvm-project/pull/145733 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [flang] [llvm] [IR] Remove size argument from lifetime intrinsics (PR #150248)

2025-08-07 Thread Nikita Popov via cfe-commits
nikic wrote: I think this is now ready for review if you ignore the first commit (which is https://github.com/llvm/llvm-project/pull/152154). https://github.com/llvm/llvm-project/pull/150248 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http

[clang] [llvm] [InferAlignment] Propagate alignment between loads/stores of the same base pointer (PR #145733)

2025-08-06 Thread Nikita Popov via cfe-commits
nikic wrote: > Is there any merit to keeping the abs for readability, so future maintainers > don't need to reason through this? Maybe just a comment? I think it's ok to drop as long as there's test coverage, but no strong opinion either way. https://github.com/llvm/llvm-project/pull/145733 _

[clang] [llvm] [InferAlignment] Propagate alignment between loads/stores of the same base pointer (PR #145733)

2025-08-06 Thread Nikita Popov via cfe-commits
nikic wrote: Are you sure the abs is needed? It looks like your tests also passed before that change. I think this ends up being correct because an offset like -8 is something like ...1000 in binary, which has the same effect for the common alignment as using ...1000. https://github.c

[clang] [llvm] [AMDGPU][clang][CodeGen][opt] Add late-resolved feature identifying predicates (PR #134016)

2025-08-05 Thread Nikita Popov via cfe-commits
https://github.com/nikic commented: Looks like this is still using magic globals rather than intrinsics. https://github.com/llvm/llvm-project/pull/134016 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/lis

[clang] [llvm] [Clang] Add `__builtin_stack_address` (PR #148281)

2025-08-04 Thread Nikita Popov via cfe-commits
nikic wrote: > This PR only adds support for the following architectures: x86 - x86_64. > Support for other architectures can be added in future patches. This makes for pretty bad UX. To the degree it is feasible, this should be supported on all arches from day one, at least if a Clang builtin

[clang] [llvm] [VectorCombine] Shrink loads used in shufflevector rebroadcasts (PR #128938)

2025-08-04 Thread Nikita Popov via cfe-commits
nikic wrote: ```llvm target triple = "x86_64-unknown-linux-gnu" define <16 x i8> @test(ptr %arg) { %load= load <16 x i8>, ptr %arg, align 1 %shuf = shufflevector <16 x i8> %load, <16 x i8> , <16 x i32> ret <16 x i8> %shuf } ``` ``` opt: /home/npopov/repos/llvm-project/llvm/lib/IR/Instruc

[clang] [llvm] [WIP] ABI Lowering Library (PR #140112)

2025-08-02 Thread Nikita Popov via cfe-commits
@@ -0,0 +1,1109 @@ +//===- X86.cpp ===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: A

[clang] [llvm] [InstCombine] Support folding intrinsics into phis (PR #151115)

2025-08-01 Thread Nikita Popov via cfe-commits
nikic wrote: @Caslyn Should be fixed by https://github.com/llvm/llvm-project/commit/09dc08b707cf70897a7cb47efba19a14798561b3. Thanks for the report! https://github.com/llvm/llvm-project/pull/151115 ___ cfe-commits mailing list cfe-commits@lists.llvm.

[clang] [llvm] [InstCombine] Support folding intrinsics into phis (PR #151115)

2025-08-01 Thread Nikita Popov via cfe-commits
nikic wrote: Reduced: ```llvm define i32 @test(i1 %c, i32 %arg) { entry: br i1 %c, label %if, label %if.end if: %add = add i32 %arg, -8 br label %if.end if.end: %phi = phi i32 [ %add, %if ], [ 0, %entry ] %fshl1 = call i32 @llvm.fshl.i32(i32 %phi, i32 %phi, i32 29) %fshl2 = call i32

[clang] [llvm] [InstCombine] Support folding intrinsics into phis (PR #151115)

2025-07-31 Thread Nikita Popov via cfe-commits
https://github.com/nikic closed https://github.com/llvm/llvm-project/pull/151115 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [InstCombine] Support folding intrinsics into phis (PR #151115)

2025-07-31 Thread Nikita Popov via cfe-commits
https://github.com/nikic edited https://github.com/llvm/llvm-project/pull/151115 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [llvm] Extract and propagate callee_type metadata (PR #87575)

2025-07-31 Thread Nikita Popov via cfe-commits
@@ -517,6 +520,32 @@ class LLVM_ABI MachineFunction { SmallVector ArgRegPairs; /// Callee type ids. SmallVector CalleeTypeIds; + +CallSiteInfo() = default; + +/// Extracts the numeric type id from the CallBase's callee_type Metadata, +/// and sets Callee

[libclc] [libclc] Add an option to build SPIR-V targets with the LLVM backend (PR #151347)

2025-07-30 Thread Nikita Popov via cfe-commits
nikic wrote: > Note that the option is off by default as using the SPIR-V backend, at least > on my machine, uses a lot of memory and the process is often killed in a > parallelized build. It does complete, however. I see the same behavior, goes up to something like 30GB. The input is not par

[libclc] [libclc] Add an option to build SPIR-V targets with the LLVM backend (PR #151347)

2025-07-30 Thread Nikita Popov via cfe-commits
https://github.com/nikic approved this pull request. LGTM, thanks! https://github.com/llvm/llvm-project/pull/151347 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [InstCombine] Split GEPs with multiple non-zero offsets (PR #151333)

2025-07-30 Thread Nikita Popov via cfe-commits
@@ -266,7 +268,10 @@ define i1 @test10_struct_noinbounds_i16(i16 %x) { define i1 @test10_struct_arr(i32 %x) { ; CHECK-LABEL: @test10_struct_arr( -; CHECK-NEXT:[[R:%.*]] = icmp ne i32 [[X:%.*]], 1 +; CHECK-NEXT:[[P_SPLIT:%.*]] = getelementptr inbounds [4 x %Foo], ptr @

[clang] [Clang] Replace include with forward declaration (NFC) (PR #151292)

2025-07-30 Thread Nikita Popov via cfe-commits
https://github.com/nikic closed https://github.com/llvm/llvm-project/pull/151292 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [InstCombine] Support folding intrinsics into phis (PR #151115)

2025-07-30 Thread Nikita Popov via cfe-commits
https://github.com/nikic updated https://github.com/llvm/llvm-project/pull/151115 >From bc77733de135010335539945fb8bcc7f13d9ca67 Mon Sep 17 00:00:00 2001 From: Nikita Popov Date: Tue, 29 Jul 2025 11:50:16 +0200 Subject: [PATCH 1/3] [InstCombine] Support folding intrinsics into phis --- clang/

[clang] [Clang] Replace include with forward declaration (NFC) (PR #151292)

2025-07-30 Thread Nikita Popov via cfe-commits
https://github.com/nikic created https://github.com/llvm/llvm-project/pull/151292 After https://github.com/llvm/llvm-project/pull/142541. >From 49b5bb5077253be39495188f88edf1391cc2d63d Mon Sep 17 00:00:00 2001 From: Nikita Popov Date: Wed, 30 Jul 2025 10:33:50 +0200 Subject: [PATCH] [Clang] Re

[clang] [llvm] [InstCombine] Support folding intrinsics into phis (PR #151115)

2025-07-29 Thread Nikita Popov via cfe-commits
nikic wrote: Probably need to drop UB implying attributes in case the instruction was speculated... doesn't look like foldOpIntoPhi currently does this. https://github.com/llvm/llvm-project/pull/151115 ___ cfe-commits mailing list cfe-commits@lists.ll

[clang] [llvm] [InstCombine] Support folding intrinsics into phis (PR #151115)

2025-07-29 Thread Nikita Popov via cfe-commits
https://github.com/nikic ready_for_review https://github.com/llvm/llvm-project/pull/151115 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [InstCombine] Support folding intrinsics into phis (PR #151115)

2025-07-29 Thread Nikita Popov via cfe-commits
https://github.com/nikic edited https://github.com/llvm/llvm-project/pull/151115 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [InstCombine] Support folding intrinsics into phis (PR #151115)

2025-07-29 Thread Nikita Popov via cfe-commits
https://github.com/nikic edited https://github.com/llvm/llvm-project/pull/151115 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [InstCombine] Support folding intrinsics into phis (PR #151115)

2025-07-29 Thread Nikita Popov via cfe-commits
https://github.com/nikic updated https://github.com/llvm/llvm-project/pull/151115 >From c17f9c399ab56e1793e63bce020dad24455045df Mon Sep 17 00:00:00 2001 From: Nikita Popov Date: Tue, 29 Jul 2025 11:50:16 +0200 Subject: [PATCH] [InstCombine] Support folding intrinsics into phis --- clang/test

[clang] [NFC] [Sema] [Modules] Use DynamicRecursiveASTVisitor to reduce generted code size (PR #151074)

2025-07-29 Thread Nikita Popov via cfe-commits
@@ -13,11 +13,12 @@ #include "clang/AST/ASTConsumer.h" #include "clang/AST/ASTMutationListener.h" -#include "clang/AST/RecursiveASTVisitor.h" +#include "clang/AST/DynamicRecursiveASTVisitor.h" #include "clang/Lex/HeaderSearch.h" #include "clang/Lex/Preprocessor.h" #include

[clang] [NFC] [Sema] [Modules] Use DynamicRecursiveASTVisitor to reduce generted code size (PR #151074)

2025-07-29 Thread Nikita Popov via cfe-commits
https://github.com/nikic approved this pull request. https://github.com/llvm/llvm-project/pull/151074 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [NFC] [Sema] [Modules] Use DynamicRecursiveASTVisitor to reduce generted code size (PR #151074)

2025-07-29 Thread Nikita Popov via cfe-commits
nikic wrote: > From > [1b4db78](https://github.com/llvm/llvm-project/commit/1b4db78d2eaa070b3f364a2d2b2b826a5439b892) > . But I didn't use `function_ref` as it seems not safe to store functions. You can probably use unique_function instead. https://github.com/llvm/llvm-project/pull/151074 ___

[clang] [clang] Diagnose [[nodiscard]] return types in Objective-C++ (PR #142541)

2025-07-28 Thread Nikita Popov via cfe-commits
@@ -16,6 +16,7 @@ #include "clang/AST/APNumericStorage.h" #include "clang/AST/APValue.h" #include "clang/AST/ASTVector.h" +#include "clang/AST/Attr.h" nikic wrote: Can you forward-declare WarnUnusedResultAttr instead? https://github.com/llvm/llvm-project/pull

[clang] [CMake][Release] Build with -ffat-lto-objects (PR #140381)

2025-07-26 Thread Nikita Popov via cfe-commits
https://github.com/nikic approved this pull request. LGTM https://github.com/llvm/llvm-project/pull/140381 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [CMake][Release] Build with -ffat-lto-objects (PR #140381)

2025-07-26 Thread Nikita Popov via cfe-commits
nikic wrote: > How much slower is this? Last time I tested fatlto in our toolchain it took a > VERY long time to link. You're probably thinking about "full" LTO, this is fat thin LTO. Our naming is truly amazing. See https://llvm.org/docs/FatLTO.html. It should add about 10% overhead. https:

  1   2   3   4   5   6   7   8   9   10   >