[RFC] c++: Vectorizing default struct and std::array equality

2025-08-28 Thread Thomas de Bock
>From 289487b58709575a90fca0cbebc6ae968aba73ab Mon Sep 17 00:00:00 2001 From: Thomas de Bock Date: Thu, 28 Aug 2025 16:10:08 +0100 Subject: [PATCH] Vectorizing default struct and std::array equality --- Notes: Added 2 SSA passes enabling the vectorization of default equality on structs

[RFC] c++: Optimize out dynamic_cast call when target is final, replacing it with a vtable address comparison

2025-07-31 Thread Thomas de Bock
Notes: This patch optimizes out calls to __dynamic_cast when the type being cast to is final (or its destructor), replacing them with a simple comparison of the types' vtable addresses. This is already implemented and done by default in clang (https://review s.llvm.org/D154658), but can

Re: [RFC] c++: Optimize out dynamic_cast call when target is final [PR63164]

2025-07-29 Thread Thomas de Bock
I can do in my next RFC. From: David Malcolm Sent: 28 July 2025 22:16:03 To: Thomas de Bock; gcc-patches@gcc.gnu.org Subject: [ext] Re: [RFC] c++: Optimize out dynamic_cast call when target is final [PR63164] On Mon, 2025-07-28 at 16:50 +, Thomas de Bock wrote: > This patch optimizes

[RFC] c++: Optimize out dynamic_cast call when target is final [PR63164]

2025-07-28 Thread Thomas de Bock
This patch optimizes out calls to __dynamic_cast when the type being cast to is final (or its destructor), replacing them with a simple comparison of the types' vtable addresses. This is already implemented and done by default in clang (https://reviews.llvm.org/D154658), but can be turned off wi

[RFC] c++: Optimize out dynamic_cast call when target is final [PR63164]

2025-07-22 Thread Thomas de Bock
This patch optimizes out calls to __dynamic_cast when the type being cast to is final (or its destructor), replacing them with a simple comparison of the types' vtable addresses. This is already implemented and done by default in clang (https://reviews.llvm.org/D154658), but can be turned off wi

[RFC] libstdc++: Optimize out dynamic_cast call when target is final [PR63164]

2025-07-21 Thread Thomas de Bock
This patch optimizes out calls to __dynamic_cast when the type being cast to is final (or its destructor), replacing them with a simple comparison of the types' vtable addresses. This is already implemented and done by default in clang (https://reviews.llvm.org/D154658), but can be turned off wi