[PATCH] D40250: [OpenMP] Consistently use cubin extension for nvlink

2017-11-21 Thread Jonas Hahnfeld via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Hahnfeld marked an inline comment as done. Closed by commit rL318763: [OpenMP] Consistently use cubin extension for nvlink (authored by Hahnfeld). Changed prior to commit:

[PATCH] D40250: [OpenMP] Consistently use cubin extension for nvlink

2017-11-20 Thread Gheorghe-Teodor Bercea via Phabricator via cfe-commits
gtbercea accepted this revision. gtbercea added a comment. This revision is now accepted and ready to land. LG https://reviews.llvm.org/D40250 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[PATCH] D40250: [OpenMP] Consistently use cubin extension for nvlink

2017-11-20 Thread Artem Belevich via Phabricator via cfe-commits
tra added a comment. Looks OK to me. I'll defer to gtbercea@ for the final stamp. Comment at: test/Driver/openmp-offload-gpu.c:34 +/// Check cubin file generation and usage by nvlink when toolchain has BindArchAction +// RUN: %clang -### -no-canonical-prefixes -target

[PATCH] D40250: [OpenMP] Consistently use cubin extension for nvlink

2017-11-20 Thread Jonas Hahnfeld via Phabricator via cfe-commits
Hahnfeld updated this revision to Diff 123649. Hahnfeld marked 13 inline comments as done. Hahnfeld added a comment. Address reviewers' comments. https://reviews.llvm.org/D40250 Files: include/clang/Driver/ToolChain.h lib/Driver/ToolChain.cpp lib/Driver/ToolChains/Clang.cpp

[PATCH] D40250: [OpenMP] Consistently use cubin extension for nvlink

2017-11-20 Thread Jonas Hahnfeld via Phabricator via cfe-commits
Hahnfeld added inline comments. Comment at: lib/Driver/ToolChains/Clang.cpp:5341-5344 +if (const auto *OA = dyn_cast(JA.getInputs()[I])) { + OA->doOnEachDependence( + [&](Action *, const ToolChain *TC, const char *) { CurTC = TC; }); +} tra

[PATCH] D40250: [OpenMP] Consistently use cubin extension for nvlink

2017-11-20 Thread Artem Belevich via Phabricator via cfe-commits
tra added inline comments. Comment at: lib/Driver/ToolChains/Clang.cpp:5341-5344 +if (const auto *OA = dyn_cast(JA.getInputs()[I])) { + OA->doOnEachDependence( + [&](Action *, const ToolChain *TC, const char *) { CurTC = TC; }); +} Can we

[PATCH] D40250: [OpenMP] Consistently use cubin extension for nvlink

2017-11-20 Thread Gheorghe-Teodor Bercea via Phabricator via cfe-commits
gtbercea added inline comments. Comment at: lib/Driver/ToolChains/Cuda.cpp:431 -SmallString<256> Name(II.getFilename()); -llvm::sys::path::replace_extension(Name, "cubin"); - -const char *CubinF = -C.addTempFile(C.getArgs().MakeArgString(Name)); +const

[PATCH] D40250: [OpenMP] Consistently use cubin extension for nvlink

2017-11-20 Thread Jonas Hahnfeld via Phabricator via cfe-commits
Hahnfeld marked 2 inline comments as done. Hahnfeld added inline comments. Comment at: lib/Driver/ToolChains/Cuda.cpp:431 -SmallString<256> Name(II.getFilename()); -llvm::sys::path::replace_extension(Name, "cubin"); - -const char *CubinF = -

[PATCH] D40250: [OpenMP] Consistently use cubin extension for nvlink

2017-11-20 Thread Gheorghe-Teodor Bercea via Phabricator via cfe-commits
gtbercea added inline comments. Comment at: lib/Driver/ToolChains/Cuda.cpp:431 -SmallString<256> Name(II.getFilename()); -llvm::sys::path::replace_extension(Name, "cubin"); - -const char *CubinF = -C.addTempFile(C.getArgs().MakeArgString(Name)); +const

[PATCH] D40250: [OpenMP] Consistently use cubin extension for nvlink

2017-11-20 Thread Jonas Hahnfeld via Phabricator via cfe-commits
Hahnfeld marked 2 inline comments as done. Hahnfeld added inline comments. Comment at: lib/Driver/ToolChains/Cuda.cpp:431 -SmallString<256> Name(II.getFilename()); -llvm::sys::path::replace_extension(Name, "cubin"); - -const char *CubinF = -

[PATCH] D40250: [OpenMP] Consistently use cubin extension for nvlink

2017-11-20 Thread Gheorghe-Teodor Bercea via Phabricator via cfe-commits
gtbercea added inline comments. Comment at: lib/Driver/ToolChains/Clang.cpp:5340 + +const ToolChain *CurTC = (); +if (const auto *OA = dyn_cast(JA.getInputs()[I])) { Please add a comment here describing what this entire code snippet is doing.

[PATCH] D40250: [OpenMP] Consistently use cubin extension for nvlink

2017-11-20 Thread Jonas Hahnfeld via Phabricator via cfe-commits
Hahnfeld created this revision. This was previously done in some places, but for example not for bundling so that single object compilation with -c failed. In addition cubin was used for all file types during unbundling which is incorrect for assembly files that are passed to ptxas. Tighten up

[PATCH] D40250: [OpenMP] Consistently use cubin extension for nvlink

2017-11-20 Thread Jonas Hahnfeld via Phabricator via cfe-commits
Hahnfeld added a comment. A different approach would be to completely replace the type in `Driver::ConstructPhaseAction` but 1. this was previously considered a too radical change, 2. we currently don't have the necessary information (ToolChain, OffloadKind) to take that decision, 3. this