[llvm] Add option to dump IR to files instead of stderr (PR #66412)
Arthur Eubanks via llvm-commits
llvm-commits at lists.llvm.org
Thu Sep 28 09:36:38 PDT 2023
================
@@ -697,17 +754,42 @@ PrintIRInstrumentation::popModuleDesc(StringRef PassID) {
return ModuleDesc;
}
+// Callers are responsible for closing the returned file descriptor
+static int prepareDumpIRFileDescriptor(StringRef DumpIRFilename) {
+ std::error_code EC;
+ auto ParentPath = llvm::sys::path::parent_path(DumpIRFilename);
+ if (!ParentPath.empty()) {
+ std::error_code EC = llvm::sys::fs::create_directories(ParentPath);
+ if (EC)
+ report_fatal_error(Twine("Failed to create directory ") + ParentPath +
+ " to support -ir-dump-directory: " + EC.message());
+ }
+ int Result = 0;
+ EC =
+ sys::fs::openFile(DumpIRFilename, Result, sys::fs::CD_OpenAlways,
+ sys::fs::FA_Write | sys::fs::FA_Read, sys::fs::OF_None);
----------------
aeubanks wrote:
use `openFileForWrite()` instead?
https://github.com/llvm/llvm-project/pull/66412
More information about the llvm-commits
mailing list