//===- MIRPrintingPass.cpp - Pass that prints out using the MIR format ----===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// // // This file implements a pass that prints out the LLVM module using the MIR // serialization format. // //===----------------------------------------------------------------------===// #include "llvm/CodeGen/MIRPrinter.h" #include "llvm/CodeGen/MachineFunctionPass.h" #include "llvm/CodeGen/MachineModuleInfo.h" #include "llvm/CodeGen/Passes.h" #include "llvm/IR/Function.h" #include "llvm/InitializePasses.h" usingnamespacellvm; PreservedAnalyses PrintMIRPreparePass::run(Module &M, ModuleAnalysisManager &) { … } PreservedAnalyses PrintMIRPass::run(MachineFunction &MF, MachineFunctionAnalysisManager &MFAM) { … } namespace { /// This pass prints out the LLVM IR to an output stream using the MIR /// serialization format. struct MIRPrintingPass : public MachineFunctionPass { … }; char MIRPrintingPass::ID = …; } // end anonymous namespace char &llvm::MIRPrintingPassID = …; INITIALIZE_PASS(…) namespace llvm { MachineFunctionPass *createPrintMIRPass(raw_ostream &OS) { … } } // end namespace llvm