Index: src/compiler/arm/instruction-selector-arm.cc |
diff --git a/src/compiler/arm/instruction-selector-arm.cc b/src/compiler/arm/instruction-selector-arm.cc |
index d461e98d2b442732b1242e6eb962261cd4b03e4c..ef9e89ed4efa71b7bbaa51aec1c649b8980d198c 100644 |
--- a/src/compiler/arm/instruction-selector-arm.cc |
+++ b/src/compiler/arm/instruction-selector-arm.cc |
@@ -238,8 +238,9 @@ |
DCHECK_GE(arraysize(outputs), output_count); |
DCHECK_NE(kMode_None, AddressingModeField::decode(opcode)); |
- 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(); |
} |
@@ -577,8 +578,9 @@ |
DCHECK_GE(arraysize(outputs), output_count); |
DCHECK_NE(kMode_None, AddressingModeField::decode(opcode)); |
- 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(); |
} |
@@ -1075,7 +1077,7 @@ |
selector->Emit(cont->Encode(kArmVcmpF64), nullptr, |
g.UseRegister(m.left().node()), |
g.UseRegister(m.right().node()), g.Label(cont->true_block()), |
- g.Label(cont->false_block())); |
+ g.Label(cont->false_block()))->MarkAsControl(); |
} else { |
DCHECK(cont->IsSet()); |
selector->Emit( |
@@ -1122,8 +1124,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(); |
} |
@@ -1228,7 +1231,8 @@ |
InstructionOperand* const value_operand = g.UseRegister(value); |
if (cont->IsBranch()) { |
selector->Emit(opcode, nullptr, value_operand, value_operand, |
- 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, |
value_operand); |