summaryrefslogtreecommitdiffstats
path: root/llvm/tools/gold/gold-plugin.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/tools/gold/gold-plugin.cpp')
-rw-r--r--llvm/tools/gold/gold-plugin.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/llvm/tools/gold/gold-plugin.cpp b/llvm/tools/gold/gold-plugin.cpp
index ebd6260d9b7..d2d0e77d719 100644
--- a/llvm/tools/gold/gold-plugin.cpp
+++ b/llvm/tools/gold/gold-plugin.cpp
@@ -197,6 +197,8 @@ namespace options {
static std::string sample_profile;
// New pass manager
static bool new_pass_manager = false;
+ // Debug new pass manager
+ static bool debug_pass_manager = false;
static void process_plugin_option(const char *opt_)
{
@@ -258,6 +260,8 @@ namespace options {
sample_profile= opt.substr(strlen("sample-profile="));
} else if (opt == "new-pass-manager") {
new_pass_manager = true;
+ } else if (opt == "debug-pass-manager") {
+ debug_pass_manager = true;
} else {
// Save this option to pass to the code generator.
// ParseCommandLineOptions() expects argv[0] to be program name. Lazily
@@ -853,6 +857,8 @@ static std::unique_ptr<LTO> createLTO(IndexWriteCallback OnIndexWrite,
// Use new pass manager if set in driver
Conf.UseNewPM = options::new_pass_manager;
+ // Debug new pass manager if requested
+ Conf.DebugPassManager = options::debug_pass_manager;
return llvm::make_unique<LTO>(std::move(Conf), Backend,
options::ParallelCodeGenParallelismLevel);
OpenPOWER on IntegriCloud