[llvm] 2b8cc65 - :createMCStreamer: delete InstPrinter on error

Fangrui Song via llvm-commits llvm-commits at lists.llvm.org
Wed Apr 9 19:57:43 PDT 2025


Author: Fangrui Song
Date: 2025-04-09T19:57:38-07:00
New Revision: 2b8cc651dca0c000ee18ec79bd5de4826156c9d6

URL: https://github.com/llvm/llvm-project/commit/2b8cc651dca0c000ee18ec79bd5de4826156c9d6
DIFF: https://github.com/llvm/llvm-project/commit/2b8cc651dca0c000ee18ec79bd5de4826156c9d6.diff

LOG: :createMCStreamer: delete InstPrinter on error

Added: 
    

Modified: 
    llvm/lib/CodeGen/CodeGenTargetMachineImpl.cpp

Removed: 
    


################################################################################
diff  --git a/llvm/lib/CodeGen/CodeGenTargetMachineImpl.cpp b/llvm/lib/CodeGen/CodeGenTargetMachineImpl.cpp
index 37611479088be..32e77dbb1c227 100644
--- a/llvm/lib/CodeGen/CodeGenTargetMachineImpl.cpp
+++ b/llvm/lib/CodeGen/CodeGenTargetMachineImpl.cpp
@@ -166,9 +166,12 @@ CodeGenTargetMachineImpl::createMCStreamer(raw_pwrite_stream &Out,
         getTargetTriple(),
         Options.MCOptions.OutputAsmVariant.value_or(MAI.getAssemblerDialect()),
         MAI, MII, MRI);
-    for (StringRef Opt : Options.MCOptions.InstPrinterOptions)
-      if (!InstPrinter->applyTargetSpecificCLOption(Opt))
+    for (StringRef Opt : Options.MCOptions.InstPrinterOptions) {
+      if (!InstPrinter->applyTargetSpecificCLOption(Opt)) {
+        delete InstPrinter;
         return createStringError("invalid InstPrinter option '" + Opt + "'");
+      }
+    }
 
     // Create a code emitter if asked to show the encoding.
     std::unique_ptr<MCCodeEmitter> MCE;


        


More information about the llvm-commits mailing list