[PATCH] D135755: [LTO][Legacy] Use the same defaults as non-legacy LTO

Mike Hommey via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Oct 12 17:23:43 PDT 2022


glandium updated this revision to Diff 467311.
glandium added a comment.

Added a null check.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D135755/new/

https://reviews.llvm.org/D135755

Files:
  llvm/include/llvm/LTO/Config.h
  llvm/lib/LTO/ThinLTOCodeGenerator.cpp


Index: llvm/lib/LTO/ThinLTOCodeGenerator.cpp
===================================================================
--- llvm/lib/LTO/ThinLTOCodeGenerator.cpp
+++ llvm/lib/LTO/ThinLTOCodeGenerator.cpp
@@ -27,13 +27,14 @@
 #include "llvm/Config/llvm-config.h"
 #include "llvm/IR/DebugInfo.h"
 #include "llvm/IR/DiagnosticPrinter.h"
-#include "llvm/IR/LegacyPassManager.h"
 #include "llvm/IR/LLVMContext.h"
 #include "llvm/IR/LLVMRemarkStreamer.h"
+#include "llvm/IR/LegacyPassManager.h"
 #include "llvm/IR/Mangler.h"
 #include "llvm/IR/PassTimingInfo.h"
 #include "llvm/IR/Verifier.h"
 #include "llvm/IRReader/IRReader.h"
+#include "llvm/LTO/Config.h"
 #include "llvm/LTO/LTO.h"
 #include "llvm/LTO/SummaryBasedOptimizations.h"
 #include "llvm/MC/SubtargetFeature.h"
@@ -69,6 +70,7 @@
 #endif
 
 using namespace llvm;
+using namespace lto;
 
 #define DEBUG_TYPE "thinlto"
 
@@ -1159,7 +1161,7 @@
           }
         }
 
-        LLVMContext Context;
+        LTOLLVMContext Context;
         Context.setDiscardValueNames(LTODiscardValueNames);
         Context.enableDebugTypeODRUniquing();
         auto DiagFileOrErr = lto::setupLLVMOptimizationRemarks(
Index: llvm/include/llvm/LTO/Config.h
===================================================================
--- llvm/include/llvm/LTO/Config.h
+++ llvm/include/llvm/LTO/Config.h
@@ -292,11 +292,14 @@
 // FIXME: This should not be required as diagnostic handler is not callback.
 struct LTOLLVMContext : LLVMContext {
 
+  LTOLLVMContext() : LTOLLVMContext(Config()) {}
+
   LTOLLVMContext(const Config &C) : DiagHandler(C.DiagHandler) {
     setDiscardValueNames(C.ShouldDiscardValueNames);
     enableDebugTypeODRUniquing();
-    setDiagnosticHandler(
-        std::make_unique<LTOLLVMDiagnosticHandler>(&DiagHandler), true);
+    if (DiagHandler)
+      setDiagnosticHandler(
+          std::make_unique<LTOLLVMDiagnosticHandler>(&DiagHandler), true);
     if (!hasSetOpaquePointersValue())
       setOpaquePointers(C.OpaquePointers);
   }


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D135755.467311.patch
Type: text/x-patch
Size: 1993 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20221013/ae942ae4/attachment.bin>


More information about the llvm-commits mailing list