[clang] 5839fb6 - [Driver] pass -fcrash-diagnostics-dir to LTO

Yuanfang Chen via cfe-commits cfe-commits at lists.llvm.org
Tue Sep 27 13:14:30 PDT 2022


Author: Yuanfang Chen
Date: 2022-09-27T13:14:16-07:00
New Revision: 5839fb6d25b4ba6edb4d9a707c75bffd178d6cc6

URL: https://github.com/llvm/llvm-project/commit/5839fb6d25b4ba6edb4d9a707c75bffd178d6cc6
DIFF: https://github.com/llvm/llvm-project/commit/5839fb6d25b4ba6edb4d9a707c75bffd178d6cc6.diff

LOG: [Driver] pass -fcrash-diagnostics-dir to LTO

So the behavior is consistent with non-LTO mode.

Reviewed By: MaskRay

Differential Revision: https://reviews.llvm.org/D134657

Added: 
    

Modified: 
    clang/lib/Driver/ToolChains/CommonArgs.cpp
    clang/test/Driver/crash-diagnostics-dir-2.c

Removed: 
    


################################################################################
diff  --git a/clang/lib/Driver/ToolChains/CommonArgs.cpp b/clang/lib/Driver/ToolChains/CommonArgs.cpp
index d0abc4a0e26c..c926e98a7f9e 100644
--- a/clang/lib/Driver/ToolChains/CommonArgs.cpp
+++ b/clang/lib/Driver/ToolChains/CommonArgs.cpp
@@ -632,6 +632,11 @@ void tools::addLTOOptions(const ToolChain &ToolChain, const ArgList &Args,
     CmdArgs.push_back(
         Args.MakeArgString(Twine("-plugin-opt=stats-file=") + StatsFile));
 
+  // Setup crash diagnostics dir.
+  if (Arg *A = Args.getLastArg(options::OPT_fcrash_diagnostics_dir))
+    CmdArgs.push_back(Args.MakeArgString(
+        Twine("-plugin-opt=-crash-diagnostics-dir=") + A->getValue()));
+
   addX86AlignBranchArgs(D, Args, CmdArgs, /*IsLTO=*/true);
 
   // Handle remark diagnostics on screen options: '-Rpass-*'.

diff  --git a/clang/test/Driver/crash-diagnostics-dir-2.c b/clang/test/Driver/crash-diagnostics-dir-2.c
index 432a8893f878..664acd9b7959 100644
--- a/clang/test/Driver/crash-diagnostics-dir-2.c
+++ b/clang/test/Driver/crash-diagnostics-dir-2.c
@@ -3,3 +3,12 @@
 // OPTION: "-crash-diagnostics-dir=mydumps"
 // RUN: %clang -### -c %s 2>&1 | FileCheck %s --check-prefix=NOOPTION
 // NOOPTION-NOT: "-crash-diagnostics-dir
+
+// RUN: %clang -### -fcrash-diagnostics-dir=mydumps -flto %s 2>&1 \
+// RUN:     | FileCheck %s --check-prefix=LTO-OPTION
+// LTO-OPTION: "-cc1"
+// LTO-OPTION: "-plugin-opt=-crash-diagnostics-dir=mydumps"
+
+// RUN: %clang -### -flto %s 2>&1 | FileCheck %s --check-prefix=LTO-NOOPTION
+// LTO-NOOPTION: "-cc1"
+// LTO-NOOPTION-NOT: "-plugin-opt=-crash-diagnostics-dir=mydumps"


        


More information about the cfe-commits mailing list