Index: src/compiler/mips/instruction-selector-mips.cc |
diff --git a/src/compiler/mips/instruction-selector-mips.cc b/src/compiler/mips/instruction-selector-mips.cc |
index 096e960c3cb96a9ee09097bd28e979db8f3fbd2d..0ebb3cf3e286fb34c052f532aed5731278fa8c8d 100644 |
--- a/src/compiler/mips/instruction-selector-mips.cc |
+++ b/src/compiler/mips/instruction-selector-mips.cc |
@@ -105,8 +105,9 @@ |
DCHECK_GE(arraysize(inputs), input_count); |
DCHECK_GE(arraysize(outputs), output_count); |
- selector->Emit(cont->Encode(opcode), output_count, outputs, input_count, |
- inputs); |
+ Instruction* instr = selector->Emit(cont->Encode(opcode), output_count, |
+ outputs, input_count, inputs); |
+ if (cont->IsBranch()) instr->MarkAsControl(); |
} |
@@ -585,7 +586,7 @@ |
opcode = cont->Encode(opcode); |
if (cont->IsBranch()) { |
selector->Emit(opcode, NULL, left, right, g.Label(cont->true_block()), |
- g.Label(cont->false_block())); |
+ g.Label(cont->false_block()))->MarkAsControl(); |
} else { |
DCHECK(cont->IsSet()); |
// TODO(plind): Revisit and test this path. |
@@ -714,7 +715,8 @@ |
InstructionOperand* const value_operand = g.UseRegister(value); |
if (cont->IsBranch()) { |
selector->Emit(opcode, nullptr, value_operand, g.TempImmediate(0), |
- g.Label(cont->true_block()), g.Label(cont->false_block())); |
+ g.Label(cont->true_block()), |
+ g.Label(cont->false_block()))->MarkAsControl(); |
} else { |
selector->Emit(opcode, g.DefineAsRegister(cont->result()), value_operand, |
g.TempImmediate(0)); |