mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-19 03:24:09 +00:00
uselistorder: Pull bit through BitcodeWriterPass
Now the callers of `BitcodeWriterPass` decide whether or not to preserve bitcode use-list order. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@234959 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@ -26,7 +26,11 @@ class PreservedAnalyses;
|
||||
/// \brief Create and return a pass that writes the module to the specified
|
||||
/// ostream. Note that this pass is designed for use with the legacy pass
|
||||
/// manager.
|
||||
ModulePass *createBitcodeWriterPass(raw_ostream &Str);
|
||||
///
|
||||
/// If \c ShouldPreserveUseListOrder, encode use-list order so it can be
|
||||
/// reproduced when deserialized.
|
||||
ModulePass *createBitcodeWriterPass(raw_ostream &Str,
|
||||
bool ShouldPreserveUseListOrder = false);
|
||||
|
||||
/// \brief Pass for writing a module of IR out to a bitcode file.
|
||||
///
|
||||
@ -34,10 +38,16 @@ ModulePass *createBitcodeWriterPass(raw_ostream &Str);
|
||||
/// a pass for the legacy pass manager, use the function above.
|
||||
class BitcodeWriterPass {
|
||||
raw_ostream &OS;
|
||||
bool ShouldPreserveUseListOrder;
|
||||
|
||||
public:
|
||||
/// \brief Construct a bitcode writer pass around a particular output stream.
|
||||
explicit BitcodeWriterPass(raw_ostream &OS) : OS(OS) {}
|
||||
///
|
||||
/// If \c ShouldPreserveUseListOrder, encode use-list order so it can be
|
||||
/// reproduced when deserialized.
|
||||
explicit BitcodeWriterPass(raw_ostream &OS,
|
||||
bool ShouldPreserveUseListOrder = false)
|
||||
: OS(OS), ShouldPreserveUseListOrder(ShouldPreserveUseListOrder) {}
|
||||
|
||||
/// \brief Run the bitcode writer pass, and output the module to the selected
|
||||
/// output stream.
|
||||
|
Reference in New Issue
Block a user