tra added inline comments.

================
Comment at: lib/Driver/Driver.cpp:2603-2614
+      // lipo-able.
+      if (!MultiArchUniversalBuild) {
+        if (isSaveTempsEnabled() && Phase == phases::Compile) {
+          Actions.push_back(
+              C.MakeAction<CompileJobAction>(Current, types::TY_LLVM_IR));
+        }
+        if (isSaveTempsEnabled() && Phase == phases::Backend) {
----------------
Can this be moved below addHostDependenceToDeviceActions() on line 2626?
See my comment in cuda-options.cu below for the reasons why it may be necessary.


================
Comment at: test/Driver/cuda-options.cu:197-202
-// Match host-side preprocessor job with -save-temps.
-// HOST-SAVE: "-cc1" "-triple" "x86_64--linux-gnu"
-// HOST-SAVE-SAME: "-aux-triple" "nvptx64-nvidia-cuda"
-// HOST-SAVE-NOT: "-fcuda-is-device"
-// HOST-SAVE-SAME: "-x" "cuda"
-
----------------
It appears that the new actions you've pushed trigger at least parts of 
host-side compilation to happen before device-side compilation is done. That, 
at the very least, will not work well for CUDA. Compilation will probably 
succeed, but it will be missing device-side code and will fail at runtime.

If it's only host-side preprocessor that happens ahead of device-side actions, 
then may be OK, but in general host actions must be done after device's. 


https://reviews.llvm.org/D33108



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

Reply via email to