From: Rui Ueyama Date: Thu, 30 Mar 2017 20:10:40 +0000 (+0000) Subject: Add parsing of mllvm command line options. X-Git-Tag: llvmorg-5.0.0-rc1~8855 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=9a3e73383b7d5ae2600af00c381b16cb312e1f18;p=platform%2Fupstream%2Fllvm.git Add parsing of mllvm command line options. Patch by Alberto Magni Original patch by Kyungwoo Lee Differential Revision: https://reviews.llvm.org/D31388 llvm-svn: 299106 --- diff --git a/lld/COFF/Driver.cpp b/lld/COFF/Driver.cpp index 93e92ef..4663dee 100644 --- a/lld/COFF/Driver.cpp +++ b/lld/COFF/Driver.cpp @@ -574,6 +574,13 @@ void LinkerDriver::link(ArrayRef ArgsArr) { // Parse command line options. opt::InputArgList Args = Parser.parseLINK(ArgsArr.slice(1)); + // Parse and evaluate -mllvm options. + std::vector V; + V.push_back("lld-link (LLVM option parsing)"); + for (auto *Arg : Args.filtered(OPT_mllvm)) + V.push_back(Arg->getValue()); + cl::ParseCommandLineOptions(V.size(), V.data()); + // Handle /help if (Args.hasArg(OPT_help)) { printHelp(ArgsArr[0]); diff --git a/lld/test/COFF/lto-debug-pass-arguments.ll b/lld/test/COFF/lto-debug-pass-arguments.ll new file mode 100644 index 0000000..4381590 --- /dev/null +++ b/lld/test/COFF/lto-debug-pass-arguments.ll @@ -0,0 +1,16 @@ +; REQUIRES: x86 +; RUN: llvm-as %s -o %t.obj +; RUN: lld-link /dll /out:%t.dll %t.obj /mllvm:-debug-pass=Arguments 2>&1 | FileCheck %s + +target datalayout = "e-m:w-i64:64-f80:128-n8:16:32:64-S128" +target triple = "x86_64-pc-windows-msvc" + +define void @dummy() { + ret void +} + +define void @_DllMainCRTStartup() { + ret void +} + +; CHECK: Pass Arguments: