15#include "llvm/IR/Module.h"
16#include "llvm/Support/Debug.h"
17#include "llvm/Support/FileSystem.h"
18#include "llvm/Support/Path.h"
19#include "llvm/Support/ToolOutputFile.h"
21#define DEBUG_TYPE "polly-dump-module"
28static void runDumpModule(llvm::Module &M, StringRef Filename,
bool IsSuffix) {
31 StringRef ModuleName = M.getName();
32 StringRef Stem = sys::path::stem(ModuleName);
33 Dumpfile = (Twine(Stem) + Filename +
".ll").
str();
35 Dumpfile = Filename.str();
37 POLLY_DEBUG(dbgs() <<
"Dumping module to " << Dumpfile <<
'\n');
39 std::unique_ptr<ToolOutputFile> Out;
41 Out.reset(
new ToolOutputFile(Dumpfile, EC, sys::fs::OF_None));
43 errs() << EC.message() <<
'\n';
47 M.print(Out->os(),
nullptr);
53 llvm::ModuleAnalysisManager &AM) {
55 return PreservedAnalyses::all();
llvm::PreservedAnalyses run(llvm::Module &M, llvm::ModuleAnalysisManager &AM)