[OpenMP] Add type to firstprivate symbol for const firstprivate values
Clang will create a global value put in constant memory if an aggregate value is declared firstprivate in the target device. The symbol name only uses the name of the firstprivate variable, so symbol name conflicts will occur if the variable is allowed to have different types through templates. An example of this behvaiour is shown in https://godbolt.org/z/EsMjYh47n. This patch adds the mangled type name to the symbol to avoid such naming conflicts. This fixes https://bugs.llvm.org/show_bug.cgi?id=50642. Reviewed By: ABataev Differential Revision: https://reviews.llvm.org/D103995
Loading
Please register or sign in to comment