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.
Machine Check Debug Module
A container for analyses that lazily runs them and caches their results.
Pass for writing a module of IR out to a bitcode file.
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.
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.
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.
A CRTP mix-in to automatically provide informational APIs needed for passes.