diff options
| author | Fangrui Song <i@maskray.me> | 2024-12-24 17:16:23 -0800 |
|---|---|---|
| committer | Fangrui Song <i@maskray.me> | 2024-12-24 17:16:23 -0800 |
| commit | e0d465530291c242cf86a4c6423389f33cc910c1 (patch) | |
| tree | 2d68d11c8ed02af10fbf1e7f80220c28c58e9d8c /llvm/lib/CodeGen/CodeGenTargetMachineImpl.cpp | |
| parent | 34f8573a514915222630cf21e8a0c901a25f4ca0 (diff) | |
[𝘀𝗽𝗿] initial versionusers/MaskRay/spr/llc-add-m-for-instprinter-options
Created using spr 1.3.5-bogner
Diffstat (limited to 'llvm/lib/CodeGen/CodeGenTargetMachineImpl.cpp')
| -rw-r--r-- | llvm/lib/CodeGen/CodeGenTargetMachineImpl.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/llvm/lib/CodeGen/CodeGenTargetMachineImpl.cpp b/llvm/lib/CodeGen/CodeGenTargetMachineImpl.cpp index 5757ca1b3adf..b54fc8d73d3b 100644 --- a/llvm/lib/CodeGen/CodeGenTargetMachineImpl.cpp +++ b/llvm/lib/CodeGen/CodeGenTargetMachineImpl.cpp @@ -21,6 +21,7 @@ #include "llvm/MC/MCAsmInfo.h" #include "llvm/MC/MCCodeEmitter.h" #include "llvm/MC/MCContext.h" +#include "llvm/MC/MCInstPrinter.h" #include "llvm/MC/MCInstrInfo.h" #include "llvm/MC/MCObjectWriter.h" #include "llvm/MC/MCRegisterInfo.h" @@ -132,8 +133,10 @@ bool CodeGenTargetMachineImpl::addAsmPrinter(PassManagerBase &PM, MCContext &Context) { Expected<std::unique_ptr<MCStreamer>> MCStreamerOrErr = createMCStreamer(Out, DwoOut, FileType, Context); - if (auto Err = MCStreamerOrErr.takeError()) + if (auto Err = MCStreamerOrErr.takeError()) { + Context.reportError(SMLoc(), toString(std::move(Err))); return true; + } // Create the AsmPrinter, which takes ownership of AsmStreamer if successful. FunctionPass *Printer = @@ -163,6 +166,10 @@ 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)) + return createStringError(inconvertibleErrorCode(), + "invalid InstPrinter option '" + Opt + "'"); // Create a code emitter if asked to show the encoding. std::unique_ptr<MCCodeEmitter> MCE; |
