aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/ir.cpp8
1 files changed, 3 insertions, 5 deletions
diff --git a/src/ir.cpp b/src/ir.cpp
index 75402595a6..6958cfc2e1 100644
--- a/src/ir.cpp
+++ b/src/ir.cpp
@@ -3096,12 +3096,10 @@ static IrInstruction *ir_gen_block(IrBuilder *irb, Scope *parent_scope, AstNode
static IrInstruction *ir_gen_bin_op_id(IrBuilder *irb, Scope *scope, AstNode *node, IrBinOp op_id) {
IrInstruction *op1 = ir_gen_node(irb, node->data.bin_op_expr.op1, scope);
- if (op1 == irb->codegen->invalid_instruction)
- return op1;
-
IrInstruction *op2 = ir_gen_node(irb, node->data.bin_op_expr.op2, scope);
- if (op2 == irb->codegen->invalid_instruction)
- return op2;
+
+ if (op1 == irb->codegen->invalid_instruction || op2 == irb->codegen->invalid_instruction)
+ return irb->codegen->invalid_instruction;
return ir_build_bin_op(irb, scope, node, op_id, op1, op2, true);
}