diff options
Diffstat (limited to 'compiler/optimizing/optimizing_unit_test.h')
-rw-r--r-- | compiler/optimizing/optimizing_unit_test.h | 23 |
1 files changed, 16 insertions, 7 deletions
diff --git a/compiler/optimizing/optimizing_unit_test.h b/compiler/optimizing/optimizing_unit_test.h index f6267c5867..adf24701a5 100644 --- a/compiler/optimizing/optimizing_unit_test.h +++ b/compiler/optimizing/optimizing_unit_test.h @@ -660,17 +660,26 @@ class OptimizingUnitTestHelper { return insn; } - template <typename Type> - Type* MakeCondition(HBasicBlock* block, - HInstruction* first, - HInstruction* second, - uint32_t dex_pc = kNoDexPc) { - static_assert(std::is_base_of_v<HCondition, Type>); - Type* condition = new (GetAllocator()) Type(first, second, dex_pc); + HCondition* MakeCondition(HBasicBlock* block, + IfCondition cond, + HInstruction* first, + HInstruction* second, + uint32_t dex_pc = kNoDexPc) { + HCondition* condition = graph_->CreateCondition(cond, first, second, dex_pc); AddOrInsertInstruction(block, condition); return condition; } + HSelect* MakeSelect(HBasicBlock* block, + HInstruction* condition, + HInstruction* true_value, + HInstruction* false_value, + uint32_t dex_pc = kNoDexPc) { + HSelect* select = new (GetAllocator()) HSelect(condition, true_value, false_value, dex_pc); + AddOrInsertInstruction(block, select); + return select; + } + HSuspendCheck* MakeSuspendCheck(HBasicBlock* block, uint32_t dex_pc = kNoDexPc) { HSuspendCheck* suspend_check = new (GetAllocator()) HSuspendCheck(dex_pc); AddOrInsertInstruction(block, suspend_check); |