[CUDA][HIP] Fix implicit HD function resolution
recommit e03394c6 with fix When implicit HD function calls a function in device compilation, if one candidate is an implicit HD function, current resolution rule is: D wins over HD and H HD and H are equal this caused regression when there is an otherwise worse D candidate This patch changes that to D, HD and H are all equal The rationale is that we already know for host compilation there is already a valid candidate in HD and H candidates that will not cause error. Allowing HD and H gives us a fall back candidate that will not cause error. If D wins, that means D has to be a better match otherwise, therefore D should also be a valid candidate that will not cause error. In this way, we can guarantee no regression. Differential Revision: https://reviews.llvm.org/D80450
Loading
Please register or sign in to comment