[Bug tree-optimization/53947] [meta-bug] vectorizer missed-optimizations

2025-07-16 Thread tdebock at DRWUK dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53947 Bug 53947 depends on bug 121120, which changed state. Bug 121120 Summary: Missed vectorization of default struct equality operator https://gcc.gnu.org/bugzilla/show_bug.cgi?id=121120 What|Removed |Added

[Bug tree-optimization/121120] Missed vectorization of default struct equality operator

2025-07-16 Thread tdebock at DRWUK dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=121120 Thomas de Bock changed: What|Removed |Added Status|RESOLVED|WAITING Keywords|

[Bug c++/121120] New: Missed vectorization of default struct equality operator

2025-07-16 Thread tdebock at DRWUK dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=121120 Bug ID: 121120 Summary: Missed vectorization of default struct equality operator Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal P

[Bug c++/63164] unnecessary calls to __dynamic_cast

2025-07-16 Thread tdebock at DRWUK dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63164 --- Comment #22 from Thomas de Bock --- (In reply to Andi Kleen from comment #11) > There is already -fno-semantic-interposition > > Also -flto / -fwhole-program should probably enable it. I think: -fno-semantic-interposition doesn't always gua

[Bug c++/63164] unnecessary calls to __dynamic_cast

2025-07-16 Thread tdebock at DRWUK dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63164 --- Comment #21 from Thomas de Bock --- (In reply to Jakub Jelinek from comment #20) > (In reply to Thomas de Bock from comment #18) > > (In reply to Jason Merrill from comment #17) > > > As I commented at > > > > > > https://inbox.sourceware.or

[Bug c++/63164] unnecessary calls to __dynamic_cast

2025-07-15 Thread tdebock at DRWUK dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63164 --- Comment #18 from Thomas de Bock --- (In reply to Jason Merrill from comment #17) > As I commented at > > https://inbox.sourceware.org/gcc-patches/75ff8af8-af03-42fa-b68b- > e6c16a34c...@redhat.com/ > > we could optimize the dynamic_cast to

[Bug c++/63164] unnecessary calls to __dynamic_cast

2025-07-15 Thread tdebock at DRWUK dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63164 --- Comment #16 from Thomas de Bock --- (In reply to Jakub Jelinek from comment #15) > Sure, but that is the only way how to make the optimization reliable. > If the a local type (i.e. mangled for RTTI with * character at the start), > it can jus

[Bug c++/63164] unnecessary calls to __dynamic_cast

2025-07-15 Thread tdebock at DRWUK dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63164 --- Comment #14 from Thomas de Bock --- I mean, since it compares the name field from the type_info, at least 1 additional dereference is used in replacing dynamic_cast typecheck with typeinfo::operator== compared to a simple vtable comparison.

[Bug c++/63164] unnecessary calls to __dynamic_cast

2025-07-15 Thread tdebock at DRWUK dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63164 --- Comment #13 from Thomas de Bock --- (In reply to Jakub Jelinek from comment #12) > I'd think it should just optimize __dynamic_cast to > std::type_info::operator== in that case (if that is available) or, if not > (i.e. not included) to >

[Bug c++/63164] unnecessary calls to __dynamic_cast

2025-07-14 Thread tdebock at DRWUK dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63164 --- Comment #10 from Thomas de Bock --- After some searching and testing, I realise this optimization does in fact malfunction from (at least version 17.0.1) clang when used with dlopen and RTLD_LOCAL, though the optimization can be disabled with

[Bug c++/63164] unnecessary calls to __dynamic_cast

2025-07-08 Thread tdebock at DRWUK dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63164 Thomas de Bock changed: What|Removed |Added CC||tdebock at DRWUK dot com --- Comment #9