14#include "llvm/IR/Module.h"
15#include "llvm/Support/Debug.h"
16#include "llvm/Support/FileSystem.h"
17#include "llvm/Support/Path.h"
18#include "llvm/Support/ToolOutputFile.h"
20#define DEBUG_TYPE "polly-dump-module"
27static void runDumpModule(llvm::Module &M, StringRef Filename,
bool IsSuffix) {
30 StringRef ModuleName = M.getName();
31 StringRef Stem = sys::path::stem(ModuleName);
32 Dumpfile = (Twine(Stem) + Filename +
".ll").
str();
34 Dumpfile = Filename.str();
36 LLVM_DEBUG(dbgs() <<
"Dumping module to " << Dumpfile <<
'\n');
38 std::unique_ptr<ToolOutputFile> Out;
40 Out.reset(
new ToolOutputFile(Dumpfile, EC, sys::fs::OF_None));
42 errs() << EC.message() <<
'\n';
46 M.print(Out->os(),
nullptr);
52 llvm::ModuleAnalysisManager &AM) {
54 return PreservedAnalyses::all();
llvm::PreservedAnalyses run(llvm::Module &M, llvm::ModuleAnalysisManager &AM)