[PATCH] D63978: Clang Interface Stubs merger plumbing for Driver

Saleem Abdulrasool via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Tue Aug 13 14:49:40 PDT 2019


compnerd added a comment.

Tests?



================
Comment at: clang/lib/Driver/Driver.cpp:3420
 
+  // Add a link action if necessary.
+  if (!MergerInputs.empty()) {
----------------
This isn't really a link action ...


================
Comment at: clang/lib/Driver/Driver.cpp:3423
+    Action *LA = C.MakeAction<IfsMergeJobAction>(MergerInputs, types::TY_Image);
+    LA = OffloadBuilder.processHostLinkAction(LA);
+    Actions.push_back(LA);
----------------
I don't understand why the offload bundler is part of the interface merge phase.


================
Comment at: clang/lib/Driver/ToolChains/InterfaceStubs.cpp:11
+#include "CommonArgs.h"
+#include "clang/Config/config.h" // for GCC_INSTALL_PREFIX
+#include "clang/Driver/Compilation.h"
----------------
Why do you need `GCC_INSTALL_PREFIX`?  GCC doesn't have interface stubs yet AFAIK.


================
Comment at: clang/lib/Driver/ToolChains/InterfaceStubs.cpp:34
+                                          const char *LinkingOutput) const {
+  llvm::errs() << "Construct merger job\n";
+  SmallVector<const char *, 16> CmdArgs;
----------------
debugging left overs?


================
Comment at: clang/lib/Driver/ToolChains/InterfaceStubs.cpp:36
+  SmallVector<const char *, 16> CmdArgs;
+  const char *Exec = "/bin/echo";
+  // CmdArgs.push_back("-o");
----------------
Hmm, this seems wrong :-).  You should search for it relative to the toolchain and then fallback.


================
Comment at: clang/lib/Driver/Types.cpp:328
+        IfsModePhaseList, std::back_inserter(P), [&DAL](phases::ID Phase) {
+          return Phase <= ((DAL.getLastArg(options::OPT_c)) ? phases::Compile
+                                                            : phases::IfsMerge);
----------------
How does `-c` `-emit-interface-stubs` and multiple input play together?


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D63978





More information about the cfe-commits mailing list