jhuber6 added a comment. In D157738#4586465 <https://reviews.llvm.org/D157738#4586465>, @JonChesterfield wrote:
>> calling device functions via their associated host pointer > > What does this mean? Defining a function foo such that the host and each > individual target each have their own machine code for it, such that &foo on > the host can be copied over to the target and then invoked to mean call the > function on the local target with the same name? > > If so, calling through the pointer &foo on the GPU doing a logarithmic search > through a table to choose a function address to branch to sounds like > something that will codegen into very slow code. Does it do that search on > every call? > > Is there an ambition to have &foo on the host and &foo on the target return > the same value, in the pointer equality sense? That's exactly what it means, the mapping is only done for targets with `indirect` declared on them. The indirect calls themselves, I think @jdoerfert is implementing some specialization? He just asked me to implement this since it's related to copying of virtual classes to the device. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D157738/new/ https://reviews.llvm.org/D157738 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits