dtcxzyw wrote:
See also the response from the Clang Area Team:
https://discourse.llvm.org/t/rfc-implement-gcc-bound-pmf-in-clang/85951/7.
https://github.com/llvm/llvm-project/pull/135649
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https:/
https://github.com/dtcxzyw closed
https://github.com/llvm/llvm-project/pull/135649
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
lichray wrote:
> Perhaps we could provide a builtin function that takes an object pointer and
> a pointer-to-member-function and returns a devirtualized
> pointer-to-member-function (or returns the original PMF if it wasn't a
> pointer to a virtual function)? Unlike the GCC extension, that kin
lichray wrote:
> > We used this extension to improve virtual function calling performance,
> > there are simple and small virtual functions which are frequently called
> > and can not be eliminated and it is in a delegation thus compiler can not
> > optimize. [...]
>
> Can `declcall` (https:/
zygoloid wrote:
> We don't know which function is called until the object `p` is provided. See
> case 2 in
> https://discourse.llvm.org/t/rfc-implement-gcc-bound-pmf-in-clang/85951.
Perhaps we could provide a builtin function that takes an object pointer and a
pointer-to-member-function and r
@@ -0,0 +1,105 @@
+// NOTE: Assertions have been autogenerated by utils/update_cc_test_checks.py
UTC_ARGS: --check-globals all --version 5
+// RUN: %clang_cc1 -triple x86_64-linux-gnu -Wno-pmf-conversions %s -O3
-emit-llvm -o - | FileCheck %s
+
+struct A {
+ int data;
+//.
+//
dtcxzyw wrote:
> > IIRC this feature is orthogonal to GCC bound member functions. `declcall`
> > with a virtual method just returns a pmf, and we still need to perform
> > vtable lookup at the callsite: https://compiler-explorer.com/z/YrT3nPTEz
>
> Try `declcall(p->B::virtual_method())`?:
> h
rockeet wrote:
> > Yes, I'm very eager for this feature, let me investigate the RFC proposal
> > routine.
>
> I would recommend you also include details about how the extension meets our
> [usual criteria](https://clang.llvm.org/get_involved.html#criteria) when you
> write the RFC.
Thank you
hubert-reinterpretcast wrote:
> IIRC this feature is orthogonal to GCC bound member functions. `declcall`
> with a virtual method just returns a pmf, and we still need to perform vtable
> lookup at the callsite: https://compiler-explorer.com/z/YrT3nPTEz
Try `declcall(p->B::virtual_method())`?:
dtcxzyw wrote:
> > We used this extension to improve virtual function calling performance,
> > there are simple and small virtual functions which are frequently called
> > and can not be eliminated and it is in a delegation thus compiler can not
> > optimize.
> > [toplingdb](https://github.com
zygoloid wrote:
> Not sure if anyone has mentioned this elsewhere, but there's a significant
> problem with the type of the returned function pointer: a normal function
> pointer doesn't necessarily have the correct calling convention. In practice,
> this is likely to cause problems on Windows
hubert-reinterpretcast wrote:
> We used this extension to improve virtual function calling performance, there
> are simple and small virtual functions which are frequently called and can
> not be eliminated and it is in a delegation thus compiler can not optimize.
>
> [toplingdb](https://githu
efriedma-quic wrote:
Not sure if anyone has mentioned this elsewhere, but there's a significant
problem with the type of the returned function pointer: a normal function
pointer doesn't necessarily have the correct calling convention. In practice,
this is likely to cause problems on Windows.
AaronBallman wrote:
> Yes, I'm very eager for this feature, let me investigate the RFC proposal
> routine.
I would recommend you also include details about how the extension meets our
[usual criteria](https://clang.llvm.org/get_involved.html#criteria) when you
write the RFC.
https://github.c
rockeet wrote:
> > > This patch adds support for GCC bound member functions extension:
> > > https://gcc.gnu.org/onlinedocs/gcc/Bound-member-functions.html
> > > Related issue: #22495 Closes #82727
> >
> >
> > I think this requires an RFC justifying carrying the extension. It's a
> > non-conf
rockeet wrote:
We used this extension to improve virtual function calling performance, there
are simple and small virtual functions which are frequently called and can not
be eliminated and it is in a delegation thus compiler can not optimize, so we
use pmf to bound the virtual function, like
https://github.com/shafik commented:
I am going to chime in, in support of both Aaron's and Erich's position here.
This does not seem like an extension we want to support.
So given the objections, we need at minimum an RFC and see how that goes. Maybe
during that discussion a more compelling c
erichkeane wrote:
I too don't think this is an extension that we really want. It is a pretty
awful extension that does some pretty awful things to the language (and isn't
implemented in a way that 'works right' in GCC anyway). Unless there is a
REALLY important workload that we absolutely ne
dtcxzyw wrote:
> > This patch adds support for GCC bound member functions extension:
> > https://gcc.gnu.org/onlinedocs/gcc/Bound-member-functions.html
> > Related issue: #22495 Closes #82727
>
> I think this requires an RFC justifying carrying the extension. It's a
> non-conforming extension
https://github.com/AaronBallman requested changes to this pull request.
> This patch adds support for GCC bound member functions extension:
> https://gcc.gnu.org/onlinedocs/gcc/Bound-member-functions.html
>
> Related issue: #22495 Closes #82727
I think this requires an RFC justifying carrying
https://github.com/dtcxzyw edited
https://github.com/llvm/llvm-project/pull/135649
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -0,0 +1,54 @@
+// RUN: %clang_cc1 -triple %itanium_abi_triple -fsyntax-only %s -verify
dtcxzyw wrote:
For reference: https://godbolt.org/z/Mf719b3en
https://github.com/llvm/llvm-project/pull/135649
___
cfe-commits
llvmbot wrote:
@llvm/pr-subscribers-clangir
Author: Yingwei Zheng (dtcxzyw)
Changes
This patch adds support for GCC bound member functions extension:
https://gcc.gnu.org/onlinedocs/gcc/Bound-member-functions.html
Closes https://github.com/llvm/llvm-project/issues/82727
---
Patch is 29.
llvmbot wrote:
@llvm/pr-subscribers-clang-static-analyzer-1
Author: Yingwei Zheng (dtcxzyw)
Changes
This patch adds support for GCC bound member functions extension:
https://gcc.gnu.org/onlinedocs/gcc/Bound-member-functions.html
Closes https://github.com/llvm/llvm-project/issues/82727
-
llvmbot wrote:
@llvm/pr-subscribers-clang-codegen
Author: Yingwei Zheng (dtcxzyw)
Changes
This patch adds support for GCC bound member functions extension:
https://gcc.gnu.org/onlinedocs/gcc/Bound-member-functions.html
Closes https://github.com/llvm/llvm-project/issues/82727
---
Patch
https://github.com/dtcxzyw ready_for_review
https://github.com/llvm/llvm-project/pull/135649
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/dtcxzyw updated
https://github.com/llvm/llvm-project/pull/135649
>From 24ed3a2a46bf6aef3678a474eb4babd65baf551a Mon Sep 17 00:00:00 2001
From: Yingwei Zheng
Date: Wed, 16 Apr 2025 00:13:34 +0800
Subject: [PATCH] [Clang] Add support for GCC bound member functions extension
--
https://github.com/dtcxzyw updated
https://github.com/llvm/llvm-project/pull/135649
>From 43c487cd6206a215542a7711b1e2b5c48e4d4ecb Mon Sep 17 00:00:00 2001
From: Yingwei Zheng
Date: Wed, 16 Apr 2025 00:13:34 +0800
Subject: [PATCH] [Clang] Add support for GCC bound member functions extension
--
https://github.com/dtcxzyw edited
https://github.com/llvm/llvm-project/pull/135649
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/dtcxzyw updated
https://github.com/llvm/llvm-project/pull/135649
>From 445c08bcb007f157f6c66c5fabb01c2aa88b3a89 Mon Sep 17 00:00:00 2001
From: Yingwei Zheng
Date: Tue, 15 Apr 2025 22:58:44 +0800
Subject: [PATCH 1/2] [Clang] Add support for GCC bound member functions
extensio
https://github.com/dtcxzyw updated
https://github.com/llvm/llvm-project/pull/135649
>From 6f0a3ba5852134d8bd04679438866e6f373f494a Mon Sep 17 00:00:00 2001
From: Yingwei Zheng
Date: Tue, 15 Apr 2025 12:12:19 +0800
Subject: [PATCH 1/4] [Clang] Add support for GCC bound member functions
extensio
https://github.com/dtcxzyw updated
https://github.com/llvm/llvm-project/pull/135649
>From 445c08bcb007f157f6c66c5fabb01c2aa88b3a89 Mon Sep 17 00:00:00 2001
From: Yingwei Zheng
Date: Tue, 15 Apr 2025 22:58:44 +0800
Subject: [PATCH] [Clang] Add support for GCC bound member functions extension
--
https://github.com/dtcxzyw updated
https://github.com/llvm/llvm-project/pull/135649
>From 6f0a3ba5852134d8bd04679438866e6f373f494a Mon Sep 17 00:00:00 2001
From: Yingwei Zheng
Date: Tue, 15 Apr 2025 12:12:19 +0800
Subject: [PATCH 1/7] [Clang] Add support for GCC bound member functions
extensio
https://github.com/dtcxzyw updated
https://github.com/llvm/llvm-project/pull/135649
>From 6f0a3ba5852134d8bd04679438866e6f373f494a Mon Sep 17 00:00:00 2001
From: Yingwei Zheng
Date: Tue, 15 Apr 2025 12:12:19 +0800
Subject: [PATCH 1/6] [Clang] Add support for GCC bound member functions
extensio
https://github.com/dtcxzyw updated
https://github.com/llvm/llvm-project/pull/135649
>From 6f0a3ba5852134d8bd04679438866e6f373f494a Mon Sep 17 00:00:00 2001
From: Yingwei Zheng
Date: Tue, 15 Apr 2025 12:12:19 +0800
Subject: [PATCH 1/5] [Clang] Add support for GCC bound member functions
extensio
https://github.com/dtcxzyw updated
https://github.com/llvm/llvm-project/pull/135649
>From 6f0a3ba5852134d8bd04679438866e6f373f494a Mon Sep 17 00:00:00 2001
From: Yingwei Zheng
Date: Tue, 15 Apr 2025 12:12:19 +0800
Subject: [PATCH 1/3] [Clang] Add support for GCC bound member functions
extensio
https://github.com/dtcxzyw updated
https://github.com/llvm/llvm-project/pull/135649
>From 6f0a3ba5852134d8bd04679438866e6f373f494a Mon Sep 17 00:00:00 2001
From: Yingwei Zheng
Date: Tue, 15 Apr 2025 12:12:19 +0800
Subject: [PATCH 1/2] [Clang] Add support for GCC bound member functions
extensio
https://github.com/dtcxzyw updated
https://github.com/llvm/llvm-project/pull/135649
>From 6f0a3ba5852134d8bd04679438866e6f373f494a Mon Sep 17 00:00:00 2001
From: Yingwei Zheng
Date: Tue, 15 Apr 2025 12:12:19 +0800
Subject: [PATCH] [Clang] Add support for GCC bound member functions extension
--
https://github.com/dtcxzyw updated
https://github.com/llvm/llvm-project/pull/135649
>From 6795a5143129520d2db343d768507174a70da453 Mon Sep 17 00:00:00 2001
From: Yingwei Zheng
Date: Tue, 15 Apr 2025 01:24:10 +0800
Subject: [PATCH 1/2] [Clang] Add support for GCC bound member functions
extensio
https://github.com/dtcxzyw edited
https://github.com/llvm/llvm-project/pull/135649
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/dtcxzyw created
https://github.com/llvm/llvm-project/pull/135649
None
>From 6795a5143129520d2db343d768507174a70da453 Mon Sep 17 00:00:00 2001
From: Yingwei Zheng
Date: Tue, 15 Apr 2025 01:24:10 +0800
Subject: [PATCH] [Clang] Add support for GCC bound member functions extensi
41 matches
Mail list logo