From f3ba812e86cfe0fda86cfcbee7dd44651fb366e6 Mon Sep 17 00:00:00 2001 From: Hamish Knight Date: Wed, 15 Jul 2020 20:20:23 -0700 Subject: [PATCH] [lldb] Add call to performLLVMOptimizations performIRGeneration no longer tail calls it. --- .../ExpressionParser/Swift/SwiftExpressionParser.cpp | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/lldb/source/Plugins/ExpressionParser/Swift/SwiftExpressionParser.cpp b/lldb/source/Plugins/ExpressionParser/Swift/SwiftExpressionParser.cpp index 371b321fc89bb..a7aa0a84a3f34 100644 --- a/lldb/source/Plugins/ExpressionParser/Swift/SwiftExpressionParser.cpp +++ b/lldb/source/Plugins/ExpressionParser/Swift/SwiftExpressionParser.cpp @@ -1668,12 +1668,18 @@ unsigned SwiftExpressionParser::Parse(DiagnosticManager &diagnostic_manager, std::lock_guard global_context_locker( IRExecutionUnit::GetLLVMGlobalContextMutex()); + const auto &IRGenOpts = swift_ast_ctx->GetIRGenOptions(); + auto GenModule = swift::performIRGeneration( - &parsed_expr->module, swift_ast_ctx->GetIRGenOptions(), - swift_ast_ctx->GetTBDGenOptions(), std::move(sil_module), "lldb_module", + &parsed_expr->module, IRGenOpts, swift_ast_ctx->GetTBDGenOptions(), + std::move(sil_module), "lldb_module", swift::PrimarySpecificPaths("", parsed_expr->main_filename), llvm::ArrayRef()); - + + if (GenModule) { + swift::performLLVMOptimizations(IRGenOpts, GenModule.getModule(), + GenModule.getTargetMachine()); + } auto ContextAndModule = std::move(GenModule).release(); m_llvm_context.reset(ContextAndModule.first); m_module.reset(ContextAndModule.second);