hliao added a comment.

In D73942#1857384 <https://reviews.llvm.org/D73942#1857384>, @tra wrote:

> On one hand the change makes sense to me and fits well with what we've done 
> so far.
>  On the other hand, I worry that this is likely to break things.
>  We sort of have been implicitly relying on not having the macros related to 
> advanced CPU features enabled on device side which typically results in 
> device-side compilation seeing a more portable/simpler version of the code.
>  Defining the macros that enable more host-side CPU-specific code may trigger 
> interesting compatibility features. Postponed diagnostics combined with 
> `ignore (some) errors in the wrong-side-only code` should probably deal with 
> most of them, but I suspect we'll see new interesting failure cases. We would 
> not know until we try.
>
> I would be more comfortable if we could have an option to disable this 
> functionality with a command line option, at least temporarily. If things 
> break, the option will avoid turning it into an emergency. If my concern 
> turns out to be false, we can remove the option later.


sure, I would try to add option to control that. This patch is developed to fix 
a real issue found on HIP with MSVC without additional CPU settings, like 
`-msse3`. Look into the header `lib/Headers/x86intrin.h` in clang. The 
including of intrinsic headers is controlled by the pre-defined macros for MSVC 
compilation. If that macros are not defined correctly, the host code in 
device-compilation may trigger issues on missing prototypes or something else.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D73942



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

Reply via email to