14#ifndef LLVM_CODEGEN_MIRPRINTER_H
15#define LLVM_CODEGEN_MIRPRINTER_H
22class MachineBasicBlock;
24class MachineModuleInfo;
26template <
typename T>
class SmallVectorImpl;
48void printMIR(raw_ostream &
OS,
const Module &M);
52void printMIR(raw_ostream &
OS,
const MachineModuleInfo &MMI,
53 const MachineFunction &MF);
63 SmallVectorImpl<MachineBasicBlock*> &Result,
Machine Check Debug Module
A container for analyses that lazily runs them and caches their results.
A Module instance is used to store all the information related to an LLVM module.
A set of analyses that are preserved following a run of a transformation pass.
PreservedAnalyses run(MachineFunction &MF, MachineFunctionAnalysisManager &MFAM)
PrintMIRPass(raw_ostream &OS=errs())
PreservedAnalyses run(Module &M, ModuleAnalysisManager &MFAM)
PrintMIRPreparePass(raw_ostream &OS=errs())
This class implements an extremely fast bulk output stream that can only output to a stream.
This is an optimization pass for GlobalISel generic memory operations.
void printMIR(raw_ostream &OS, const Module &M)
Print LLVM IR using the MIR serialization format to the given output stream.
void guessSuccessors(const MachineBasicBlock &MBB, SmallVectorImpl< MachineBasicBlock * > &Result, bool &IsFallthrough)
Determine a possible list of successors of a basic block based on the basic block machine operand bei...
raw_fd_ostream & errs()
This returns a reference to a raw_ostream for standard error.
A CRTP mix-in to automatically provide informational APIs needed for passes.