summaryrefslogtreecommitdiffstats
path: root/llvm/lib/LTO/LTOCodeGenerator.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/lib/LTO/LTOCodeGenerator.cpp')
-rw-r--r--llvm/lib/LTO/LTOCodeGenerator.cpp10
1 files changed, 7 insertions, 3 deletions
diff --git a/llvm/lib/LTO/LTOCodeGenerator.cpp b/llvm/lib/LTO/LTOCodeGenerator.cpp
index 1604769aba8..931bcf0d23f 100644
--- a/llvm/lib/LTO/LTOCodeGenerator.cpp
+++ b/llvm/lib/LTO/LTOCodeGenerator.cpp
@@ -206,11 +206,15 @@ bool LTOCodeGenerator::writeMergedModules(const char *Path) {
}
bool LTOCodeGenerator::compileOptimizedToFile(const char **Name) {
- // make unique temp .o file to put generated object file
+ // make unique temp output file to put generated code
SmallString<128> Filename;
int FD;
+
+ const char *Extension =
+ (FileType == TargetMachine::CGFT_AssemblyFile ? "s" : "o");
+
std::error_code EC =
- sys::fs::createTemporaryFile("lto-llvm", "o", FD, Filename);
+ sys::fs::createTemporaryFile("lto-llvm", Extension, FD, Filename);
if (EC) {
emitError(EC.message());
return false;
@@ -514,7 +518,7 @@ bool LTOCodeGenerator::compileOptimized(ArrayRef<raw_pwrite_stream *> Out) {
// MergedModule.
MergedModule =
splitCodeGen(std::move(MergedModule), Out, MCpu, FeatureStr, Options,
- RelocModel, CodeModel::Default, CGOptLevel);
+ RelocModel, CodeModel::Default, CGOptLevel, FileType);
return true;
}
OpenPOWER on IntegriCloud