14#ifndef LLVM_BITCODE_BITCODEWRITERPASS_H
15#define LLVM_BITCODE_BITCODEWRITERPASS_H
34 bool ShouldPreserveUseListOrder =
false);
45 bool ShouldPreserveUseListOrder;
46 bool EmitSummaryIndex;
58 bool ShouldPreserveUseListOrder =
false,
59 bool EmitSummaryIndex =
false,
60 bool EmitModuleHash =
false)
61 : OS(OS), ShouldPreserveUseListOrder(ShouldPreserveUseListOrder),
62 EmitSummaryIndex(EmitSummaryIndex), EmitModuleHash(EmitModuleHash) {}
This header defines various interfaces for pass management in LLVM.
LLVM_ABI PreservedAnalyses run(Module &M, ModuleAnalysisManager &)
Run the bitcode writer pass, and output the module to the selected output stream.
BitcodeWriterPass(raw_ostream &OS, bool ShouldPreserveUseListOrder=false, bool EmitSummaryIndex=false, bool EmitModuleHash=false)
Construct a bitcode writer pass around a particular output stream.
ModulePass class - This class is used to implement unstructured interprocedural optimizations and ana...
A Module instance is used to store all the information related to an LLVM module.
Pass interface - Implemented by all 'passes'.
A set of analyses that are preserved following a run of a transformation pass.
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.
LLVM_ABI ModulePass * createBitcodeWriterPass(raw_ostream &Str, bool ShouldPreserveUseListOrder=false)
Create and return a pass that writes the module to the specified ostream.
LLVM_ABI bool isBitcodeWriterPass(Pass *P)
Check whether a pass is a BitcodeWriterPass.
AnalysisManager< Module > ModuleAnalysisManager
Convenience typedef for the Module analysis manager.
A CRTP mix-in to automatically provide informational APIs needed for passes.