Hi Jason!

On 2025-03-20T11:59:07-0400, Jason Merrill <ja...@redhat.com> wrote:
> On 3/20/25 11:35 AM, Thomas Schwinge wrote:
>> Appears that I'm too dumb to implement
>> <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101544#c22>:
>> 
>> | We "simply" need to transform any symbol aliases into thunks calling the 
>> aliasee (or duplicate the bodies, if we must).
>> 
>> ..., and implementing proper support for symbol aliases via the nvptx
>> 'ld': <https://gcc.gnu.org/PR105018> "[nvptx] Need better alias support",
>> won't be complete any time soon, but fortunately there's a way to handle
>> the cases that we're concerned about here in an even simpler way, for
>> reasonably modern configurations; any comments before I push the attached
>> "nvptx: In offloading compilation, special-case certain host-setup symbol 
>> aliases [PR101544]"?
>> In particular, is the use of a new 'c++ cdtor alias' attribute OK?
>
> Hmm, seems weird to use aliases in that one case but not others.

Yeah...  The problem is the mismatch between host and offload target:
the host of course typically is 'TARGET_SUPPORTS_ALIASES', but nvptx
offloading typically is '!TARGET_SUPPORTS_ALIASES', because:

> If 
> you're going to use aliases, why not just turn on alias support?

We can't unconditionally enable GCC/nvptx' '-malias', because the support
is incomplete, and if enabled, will cause GCC target library build
failures, for example.

> If aliases aren't supported, I think you want to fix can_alias_cdtor to 
> return false.

We can't: we don't want to pessimize host code generation.  Therefore, we
have to handle this in the nvptx offloading flow.


Grüße
 Thomas

Reply via email to