jgorbe 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) { ---------------- tra wrote: > 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. I have tried but it didn't cause the test to go back to the previous ordering where all device-side actions are executed before all host-side actions. I have noticed that, before applying my patch, the action graph produced by clang with -ccc-print-phases doesn't seem to introduce any explicit dependency to guarantee that device-side actions are executed before host-side actions: 0: input, "cuda-options.cu", cuda, (host-cuda) 1: preprocessor, {0}, cuda-cpp-output, (host-cuda) 2: compiler, {1}, ir, (host-cuda) 3: input, "cuda-options.cu", cuda, (device-cuda, sm_20) 4: preprocessor, {3}, cuda-cpp-output, (device-cuda, sm_20) 5: compiler, {4}, ir, (device-cuda, sm_20) 6: backend, {5}, assembler, (device-cuda, sm_20) 7: assembler, {6}, object, (device-cuda, sm_20) 8: offload, "device-cuda (nvptx64-nvidia-cuda:sm_20)" {7}, object 9: offload, "device-cuda (nvptx64-nvidia-cuda:sm_20)" {6}, assembler 10: linker, {8, 9}, cuda-fatbin, (device-cuda) 11: offload, "host-cuda (x86_64--linux-gnu)" {2}, "device-cuda (nvptx64-nvidia-cuda)" {10}, ir 12: backend, {11}, assembler, (host-cuda) 13: assembler, {12}, object, (host-cuda) I'm trying to figure out now if there's something else that enforces that restriction, or the current compilation order being the right one is a happy coincidence that my patch happened to disturb. I'm new to the project, so I'm working under the assumption that I'm missing something, any hints will be appreciated :) https://reviews.llvm.org/D33108 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits