[lld] Add -emit-yaml option. This outputs yaml instead of a binary.

llvm-svn: 171710
diff --git a/lld/lib/Driver/Drivers.cpp b/lld/lib/Driver/Drivers.cpp
index 8a334d9..93a4087 100644
--- a/lld/lib/Driver/Drivers.cpp
+++ b/lld/lib/Driver/Drivers.cpp
@@ -136,6 +136,9 @@
       newArgs->AddFlagArg(A, _core.getOption(
                                core::OPT_OCTOTHORPE_OCTOTHORPE_OCTOTHORPE));
 
+    if (llvm::opt::Arg *A = _inputArgs->getLastArg(ld::OPT_emit_yaml))
+      newArgs->AddFlagArg(A, _core.getOption(core::OPT_emit_yaml));
+
     // Copy input args.
     for (llvm::opt::arg_iterator it = _inputArgs->filtered_begin(ld::OPT_INPUT),
                                  ie = _inputArgs->filtered_end();
@@ -197,6 +200,7 @@
   ret._entrySymbol = args.getLastArgValue(core::OPT_entry);
   ret._relocatable = args.hasArg(core::OPT_relocatable);
   ret._outputCommands = args.hasArg(core::OPT_OCTOTHORPE_OCTOTHORPE_OCTOTHORPE);
+  ret._outputYAML = args.hasArg(core::OPT_emit_yaml);
 
   return std::move(ret);
 }