diff --git a/llvm/tools/llvm-reduce/TestRunner.cpp b/llvm/tools/llvm-reduce/TestRunner.cpp --- a/llvm/tools/llvm-reduce/TestRunner.cpp +++ b/llvm/tools/llvm-reduce/TestRunner.cpp @@ -97,7 +97,9 @@ void TestRunner::writeOutput(StringRef Message) { std::error_code EC; - raw_fd_ostream Out(OutputFilename, EC); + raw_fd_ostream Out(OutputFilename, EC, + EmitBitcode && !Program->isMIR() ? sys::fs::OF_None + : sys::fs::OF_Text); if (EC) { errs() << "Error opening output file: " << EC.message() << "!\n"; exit(1); diff --git a/llvm/tools/llvm-reduce/deltas/Delta.cpp b/llvm/tools/llvm-reduce/deltas/Delta.cpp --- a/llvm/tools/llvm-reduce/deltas/Delta.cpp +++ b/llvm/tools/llvm-reduce/deltas/Delta.cpp @@ -74,7 +74,8 @@ int FD; std::error_code EC = sys::fs::createTemporaryFile( "llvm-reduce", M.isMIR() ? "mir" : (UseBitcode ? "bc" : "ll"), FD, - CurrentFilepath); + CurrentFilepath, + UseBitcode && !M.isMIR() ? sys::fs::OF_None : sys::fs::OF_Text); if (EC) { errs() << "Error making unique filename: " << EC.message() << "!\n"; exit(1);