mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-21 02:24:22 +00:00
[PM] Wire up support for writing bitcode with new PM.
This moves the old pass creation functionality to its own header and updates the callers of that routine. Then it adds a new PM supporting bitcode writer to the header file, and wires that up in the opt tool. A test is added that round-trips code into bitcode and back out using the new pass manager. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@199078 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@ -1,4 +1,4 @@
|
||||
//===--- Bitcode/Writer/BitcodeWriterPass.cpp - Bitcode Writer ------------===//
|
||||
//===- BitcodeWriterPass.cpp - Bitcode writing pass -----------------------===//
|
||||
//
|
||||
// The LLVM Compiler Infrastructure
|
||||
//
|
||||
@ -11,10 +11,18 @@
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "llvm/Bitcode/BitcodeWriterPass.h"
|
||||
#include "llvm/Bitcode/ReaderWriter.h"
|
||||
#include "llvm/IR/Module.h"
|
||||
#include "llvm/IR/PassManager.h"
|
||||
#include "llvm/Pass.h"
|
||||
using namespace llvm;
|
||||
|
||||
PreservedAnalyses BitcodeWriterPass::run(Module *M) {
|
||||
WriteBitcodeToFile(M, OS);
|
||||
return PreservedAnalyses::all();
|
||||
}
|
||||
|
||||
namespace {
|
||||
class WriteBitcodePass : public ModulePass {
|
||||
raw_ostream &OS; // raw_ostream to print on
|
||||
@ -34,8 +42,6 @@ namespace {
|
||||
|
||||
char WriteBitcodePass::ID = 0;
|
||||
|
||||
/// createBitcodeWriterPass - Create and return a pass that writes the module
|
||||
/// to the specified ostream.
|
||||
ModulePass *llvm::createBitcodeWriterPass(raw_ostream &Str) {
|
||||
return new WriteBitcodePass(Str);
|
||||
}
|
||||
|
Reference in New Issue
Block a user