yaxunl marked an inline comment as done.
yaxunl added a comment.

In D92720#2437621 <https://reviews.llvm.org/D92720#2437621>, @tra wrote:

> `-E` by default prints preprocessed output to stdout. CUDA will print 
> preprocessed output from all subcompilations. What does HIP do in this case? 
> Printing out the bundle is probably not what the user will expect.
> IMO preprocessed output is frequently used as a debugging tool, so it's 
> important for users to be able to read it. Bundled output is rather 
> cumbersome to deal with. It's possible to manually unbundle it, but the tool 
> is not documented well and it's not particularly suitable for human use.
>
> I think we should preserve the long-established meaning of `-E` and keep its 
> output as plain text.

Output of `-E` for HIP combined host/device compilation is a plain text. It has 
C++ comments inserted between preprocessor outputs for host and different GPU 
arch's. The C++ comments follow the format of clang-offload-bundler bundled 
text files therefore clang-offload-bundler is able to unbundle it.



================
Comment at: clang/lib/Driver/Driver.cpp:2523-2524
         // this input.
-        if (IA->getType() != types::TY_CUDA &&
-            IA->getType() != types::TY_HIP) {
+        if (IA->getType() != types::TY_CUDA && IA->getType() != types::TY_HIP 
&&
+            IA->getType() != types::TY_PP_HIP) {
           // The builder will ignore this input.
----------------
tra wrote:
> Nit: too many negations in the condition. `if (! (IA->getType() == 
> types::TY_CUDA || IA->getType() == types::TY_HIP  || IA->getType() == 
> types::TY_PP_HIP))` would be easier to understand, IMO.
> 
> 
done


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

https://reviews.llvm.org/D92720

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

Reply via email to