yaxunl added a comment.

In D88524#2304173 <https://reviews.llvm.org/D88524#2304173>, @tra wrote:

>> Currently CUDA/HIP toolchain uses "unknown" as bound arch
>> for offload action for fat binary. This causes -mcpu or -march
>> with "unknown" added in HIPToolChain::TranslateArgs or
>> CUDAToolChain::TranslateArgs.
>
> It would appear that the problem is actually where we check TargetID -- we 
> should've ignored CudaArch::UNKNOWN there.
> Not setting the arch here avoids triggering the bug but it does not fix it.
> Considering that `CudaArch::UNKNOWN` is used here to indicate that the arch 
> is unused, perhaps we need an enum for that to distinguish it from 
> unknown/unset.

This translates to "unknown" in string form, which feels arbitrary. What if a 
target has a valid cpu name which "unknown"? Isn't a nullptr (empty string in 
string form) a more generic format to represent an invalid target?

Is it OK to make the change HIP specific? i.e. let HIP toolchain use empty 
string for invalid target whereas CUDA toolchain keep using "unknown".


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D88524/new/

https://reviews.llvm.org/D88524

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to