about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--src/librustc_codegen_llvm/back/write.rs8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/librustc_codegen_llvm/back/write.rs b/src/librustc_codegen_llvm/back/write.rs
index 1df8ee6746d..d2d3eb59796 100644
--- a/src/librustc_codegen_llvm/back/write.rs
+++ b/src/librustc_codegen_llvm/back/write.rs
@@ -732,7 +732,9 @@ pub(crate) unsafe fn codegen(
             })?;
         }
 
-        if config.emit_asm || (config.emit_obj && config.no_integrated_as) {
+        let config_emit_normal_obj = config.emit_obj && !config.obj_is_bitcode;
+
+        if config.emit_asm || (config_emit_normal_obj && config.no_integrated_as) {
             let _timer = cgcx
                 .prof
                 .generic_activity_with_arg("LLVM_module_codegen_emit_asm", &module.name[..]);
@@ -747,7 +749,7 @@ pub(crate) unsafe fn codegen(
             })?;
         }
 
-        if config.emit_obj && !config.obj_is_bitcode && !config.no_integrated_as {
+        if config_emit_normal_obj && !config.no_integrated_as {
             let _timer = cgcx
                 .prof
                 .generic_activity_with_arg("LLVM_module_codegen_emit_obj", &module.name[..]);
@@ -761,7 +763,7 @@ pub(crate) unsafe fn codegen(
                     llvm::FileType::ObjectFile,
                 )
             })?;
-        } else if config.emit_obj && config.no_integrated_as {
+        } else if config_emit_normal_obj && config.no_integrated_as {
             let _timer = cgcx
                 .prof
                 .generic_activity_with_arg("LLVM_module_codegen_asm_to_obj", &module.name[..]);