ABataev added a comment. In D99689#2662875 <https://reviews.llvm.org/D99689#2662875>, @jdoerfert wrote:
> In D99689#2662860 <https://reviews.llvm.org/D99689#2662860>, @ABataev wrote: > >> In D99689#2662856 <https://reviews.llvm.org/D99689#2662856>, @jdoerfert >> wrote: >> >>> In D99689#2662852 <https://reviews.llvm.org/D99689#2662852>, @ABataev wrote: >>> >>>> In D99689#2662848 <https://reviews.llvm.org/D99689#2662848>, @jdoerfert >>>> wrote: >>>> >>>>> Can you please show me a test case or explain to me when/how this global >>>>> is actually used. >>>> >>>> It is passed as an argument to the target region. When libomptarget >>>> requests the memory for the firstprivate, it returns the pointer to this >>>> const global, which then passed as argument to the kernel. >>> >>> So if we use it, why would we disable it? >> >> With this new option you can control how to handle it. You can either >> dynamically allocate memory using libomptarget memmanager (default for this >> option) or use preallocated constant memory, if you're not going to remove >> the var constantness. > > I get what the new option does, what I want to know is why we would ever want > to disable the constant memory usage. Is it potentially slower or otherwise > problematic? Because you mentioned that it would not work if we would like to use `const_cast` to remove constness. It should be faster than the global memory, that's why I introduced this feature. > Also, I am not sure but I imagine the generated code would be better if we > would use the constant global directly, or, add the address space to the > corresponding kernel argument. Ye, but it will require some rework in the libomptarget and the compiler itself. Instead, I just reused the existing mechanism to allocate the memory in the constant pool and use it instead of the global. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D99689/new/ https://reviews.llvm.org/D99689 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits