summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Vladimir Marko <vmarko@google.com> 2025-01-10 13:27:45 +0000
committer VladimĂ­r Marko <vmarko@google.com> 2025-01-17 05:55:04 -0800
commitf5cca5b0592fdb9ecc836dc9158ba5d63e0c1c05 (patch)
tree176eddeec6da7e7747a3128c054fc96f2b32a18d
parentb3e84e14c630ffff276a217d77fb8890b1bb58a1 (diff)
Optimizing: Rename `HSelectGenerator`...
... to `HCodeFlowSimplifier` in preparation for adding more optimizations to this pass. Test: m test-art-host-gtest Test: testrunner.py --host --optimizing Change-Id: Icb05c3455d93a7b939f82ced9b08165e533bb21a
-rw-r--r--compiler/Android.bp4
-rw-r--r--compiler/optimizing/code_flow_simplifier.cc (renamed from compiler/optimizing/select_generator.cc)18
-rw-r--r--compiler/optimizing/code_flow_simplifier.h (renamed from compiler/optimizing/select_generator.h)18
-rw-r--r--compiler/optimizing/code_flow_simplifier_test.cc (renamed from compiler/optimizing/select_generator_test.cc)18
-rw-r--r--compiler/optimizing/dead_code_elimination.cc6
-rw-r--r--compiler/optimizing/optimization.cc12
-rw-r--r--compiler/optimizing/optimization.h2
-rw-r--r--compiler/optimizing/optimizing_compiler.cc4
-rw-r--r--libartbase/base/arena_allocator.cc2
-rw-r--r--libartbase/base/arena_allocator.h2
-rw-r--r--test/2265-checker-select-binary-unary/src/Main.java8
-rw-r--r--test/458-checker-instruct-simplification/src/Main.java8
-rw-r--r--test/463-checker-boolean-simplifier/smali/Main2.smali24
-rw-r--r--test/463-checker-boolean-simplifier/src-art/Main.java38
-rw-r--r--test/468-checker-bool-simplif-regression/smali/TestCase.smali4
-rw-r--r--test/474-checker-boolean-input/src/Main.java8
-rw-r--r--test/485-checker-dce-loop-update/smali/TestCase.smali2
-rw-r--r--test/567-checker-builder-intrinsics/src/TestCompare.java6
-rw-r--r--test/567-checker-builder-intrinsics/src/TestMinMax.java8
-rw-r--r--test/567-checker-builder-intrinsics/src/TestRotate.java8
-rw-r--r--test/567-checker-builder-intrinsics/src/TestSignum.java4
-rw-r--r--test/592-checker-regression-bool-input/smali/TestCase.smali2
-rw-r--r--test/593-checker-boolean-2-integral-conv/smali/SmaliTests.smali12
-rw-r--r--test/593-checker-boolean-2-integral-conv/src/Main.java8
-rw-r--r--test/657-branches/src/Main.java4
-rw-r--r--test/663-checker-select-generator/src/Main.java50
-rw-r--r--test/850-checker-branches/smali/TestCase.smali2
27 files changed, 140 insertions, 142 deletions
diff --git a/compiler/Android.bp b/compiler/Android.bp
index ce087dacf7..0a1af65a97 100644
--- a/compiler/Android.bp
+++ b/compiler/Android.bp
@@ -147,6 +147,7 @@ art_cc_defaults {
"optimizing/bounds_check_elimination.cc",
"optimizing/builder.cc",
"optimizing/cha_guard_optimization.cc",
+ "optimizing/code_flow_simplifier.cc",
"optimizing/code_generation_data.cc",
"optimizing/code_generator.cc",
"optimizing/code_generator_utils.cc",
@@ -186,7 +187,6 @@ art_cc_defaults {
"optimizing/register_allocation_resolver.cc",
"optimizing/register_allocator.cc",
"optimizing/register_allocator_linear_scan.cc",
- "optimizing/select_generator.cc",
"optimizing/scheduler.cc",
"optimizing/sharpening.cc",
"optimizing/side_effects_analysis.cc",
@@ -459,6 +459,7 @@ art_cc_defaults {
"linker/output_stream_test.cc",
"oat/jni_stub_hash_map_test.cc",
"optimizing/bounds_check_elimination_test.cc",
+ "optimizing/code_flow_simplifier_test.cc",
"optimizing/constant_folding_test.cc",
"optimizing/data_type_test.cc",
"optimizing/dead_code_elimination_test.cc",
@@ -480,7 +481,6 @@ art_cc_defaults {
"optimizing/parallel_move_test.cc",
"optimizing/pretty_printer_test.cc",
"optimizing/reference_type_propagation_test.cc",
- "optimizing/select_generator_test.cc",
"optimizing/side_effects_test.cc",
"optimizing/ssa_liveness_analysis_test.cc",
"optimizing/ssa_test.cc",
diff --git a/compiler/optimizing/select_generator.cc b/compiler/optimizing/code_flow_simplifier.cc
index d5781c8d38..b32a4a5c4c 100644
--- a/compiler/optimizing/select_generator.cc
+++ b/compiler/optimizing/code_flow_simplifier.cc
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-#include "select_generator.h"
+#include "code_flow_simplifier.h"
#include "optimizing/nodes.h"
#include "reference_type_propagation.h"
@@ -23,9 +23,9 @@ namespace art HIDDEN {
static constexpr size_t kMaxInstructionsInBranch = 1u;
-HSelectGenerator::HSelectGenerator(HGraph* graph,
- OptimizingCompilerStats* stats,
- const char* name)
+HCodeFlowSimplifier::HCodeFlowSimplifier(HGraph* graph,
+ OptimizingCompilerStats* stats,
+ const char* name)
: HOptimization(graph, name, stats) {
}
@@ -87,7 +87,7 @@ static HPhi* GetSinglePhi(HBasicBlock* block, size_t index1, size_t index2) {
return select_phi;
}
-bool HSelectGenerator::TryGenerateSelectSimpleDiamondPattern(
+bool HCodeFlowSimplifier::TryGenerateSelectSimpleDiamondPattern(
HBasicBlock* block, ScopedArenaSafeMap<HInstruction*, HSelect*>* cache) {
DCHECK(block->GetLastInstruction()->IsIf());
HIf* if_instruction = block->GetLastInstruction()->AsIf();
@@ -214,7 +214,7 @@ bool HSelectGenerator::TryGenerateSelectSimpleDiamondPattern(
return true;
}
-HBasicBlock* HSelectGenerator::TryFixupDoubleDiamondPattern(HBasicBlock* block) {
+HBasicBlock* HCodeFlowSimplifier::TryFixupDoubleDiamondPattern(HBasicBlock* block) {
DCHECK(block->GetLastInstruction()->IsIf());
HIf* if_instruction = block->GetLastInstruction()->AsIf();
HBasicBlock* true_block = if_instruction->IfTrueSuccessor();
@@ -307,12 +307,12 @@ HBasicBlock* HSelectGenerator::TryFixupDoubleDiamondPattern(HBasicBlock* block)
return inner_if_block;
}
-bool HSelectGenerator::Run() {
+bool HCodeFlowSimplifier::Run() {
bool did_select = false;
// Select cache with local allocator.
ScopedArenaAllocator allocator(graph_->GetArenaStack());
- ScopedArenaSafeMap<HInstruction*, HSelect*> cache(std::less<HInstruction*>(),
- allocator.Adapter(kArenaAllocSelectGenerator));
+ ScopedArenaSafeMap<HInstruction*, HSelect*> cache(
+ std::less<HInstruction*>(), allocator.Adapter(kArenaAllocCodeFlowSimplifier));
// Iterate in post order in the unlikely case that removing one occurrence of
// the selection pattern empties a branch block of another occurrence.
diff --git a/compiler/optimizing/select_generator.h b/compiler/optimizing/code_flow_simplifier.h
index 7aa0803d89..36d8d3d95b 100644
--- a/compiler/optimizing/select_generator.h
+++ b/compiler/optimizing/code_flow_simplifier.h
@@ -54,8 +54,8 @@
* run after the instruction simplifier has removed redundant suspend checks.
*/
-#ifndef ART_COMPILER_OPTIMIZING_SELECT_GENERATOR_H_
-#define ART_COMPILER_OPTIMIZING_SELECT_GENERATOR_H_
+#ifndef ART_COMPILER_OPTIMIZING_CODE_FLOW_SIMPLIFIER_H_
+#define ART_COMPILER_OPTIMIZING_CODE_FLOW_SIMPLIFIER_H_
#include "base/macros.h"
#include "base/scoped_arena_containers.h"
@@ -64,15 +64,15 @@
namespace art HIDDEN {
-class HSelectGenerator : public HOptimization {
+class HCodeFlowSimplifier : public HOptimization {
public:
- HSelectGenerator(HGraph* graph,
- OptimizingCompilerStats* stats,
- const char* name = kSelectGeneratorPassName);
+ HCodeFlowSimplifier(HGraph* graph,
+ OptimizingCompilerStats* stats,
+ const char* name = kCodeFlowSimplifierPassName);
bool Run() override;
- static constexpr const char* kSelectGeneratorPassName = "select_generator";
+ static constexpr const char* kCodeFlowSimplifierPassName = "code_flow_simplifier";
private:
bool TryGenerateSelectSimpleDiamondPattern(HBasicBlock* block,
@@ -112,9 +112,9 @@ class HSelectGenerator : public HOptimization {
// when that gets resolved we get another one with the outer if.
HBasicBlock* TryFixupDoubleDiamondPattern(HBasicBlock* block);
- DISALLOW_COPY_AND_ASSIGN(HSelectGenerator);
+ DISALLOW_COPY_AND_ASSIGN(HCodeFlowSimplifier);
};
} // namespace art
-#endif // ART_COMPILER_OPTIMIZING_SELECT_GENERATOR_H_
+#endif // ART_COMPILER_OPTIMIZING_CODE_FLOW_SIMPLIFIER_H_
diff --git a/compiler/optimizing/select_generator_test.cc b/compiler/optimizing/code_flow_simplifier_test.cc
index 9cd6604d34..dc4268a0aa 100644
--- a/compiler/optimizing/select_generator_test.cc
+++ b/compiler/optimizing/code_flow_simplifier_test.cc
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-#include "select_generator.h"
+#include "code_flow_simplifier.h"
#include "base/arena_allocator.h"
#include "base/macros.h"
@@ -25,7 +25,7 @@
namespace art HIDDEN {
-class SelectGeneratorTest : public OptimizingUnitTest {
+class CodeFlowSimplifierTest : public OptimizingUnitTest {
protected:
HPhi* ConstructBasicGraphForSelect(HBasicBlock* return_block, HInstruction* instr) {
HParameterValue* bool_param = MakeParam(DataType::Type::kBool);
@@ -38,18 +38,18 @@ class SelectGeneratorTest : public OptimizingUnitTest {
return phi;
}
- bool CheckGraphAndTrySelectGenerator() {
+ bool CheckGraphAndTryCodeFlowSimplifier() {
graph_->BuildDominatorTree();
EXPECT_TRUE(CheckGraph());
SideEffectsAnalysis side_effects(graph_);
side_effects.Run();
- return HSelectGenerator(graph_, /*handles*/ nullptr, /*stats*/ nullptr).Run();
+ return HCodeFlowSimplifier(graph_, /*handles*/ nullptr, /*stats*/ nullptr).Run();
}
};
// HDivZeroCheck might throw and should not be hoisted from the conditional to an unconditional.
-TEST_F(SelectGeneratorTest, testZeroCheck) {
+TEST_F(CodeFlowSimplifierTest, testZeroCheckPreventsSelect) {
HBasicBlock* return_block = InitEntryMainExitGraphWithReturnVoid();
HParameterValue* param = MakeParam(DataType::Type::kInt32);
HDivZeroCheck* instr = new (GetAllocator()) HDivZeroCheck(param, 0);
@@ -57,17 +57,17 @@ TEST_F(SelectGeneratorTest, testZeroCheck) {
ManuallyBuildEnvFor(instr, {param, graph_->GetIntConstant(1)});
- EXPECT_FALSE(CheckGraphAndTrySelectGenerator());
+ EXPECT_FALSE(CheckGraphAndTryCodeFlowSimplifier());
EXPECT_FALSE(phi->GetBlock() == nullptr);
}
-// Test that SelectGenerator succeeds with HAdd.
-TEST_F(SelectGeneratorTest, testAdd) {
+// Test that CodeFlowSimplifier succeeds with HAdd.
+TEST_F(CodeFlowSimplifierTest, testSelectWithAdd) {
HBasicBlock* return_block = InitEntryMainExitGraphWithReturnVoid();
HParameterValue* param = MakeParam(DataType::Type::kInt32);
HAdd* instr = new (GetAllocator()) HAdd(DataType::Type::kInt32, param, param, /*dex_pc=*/ 0);
HPhi* phi = ConstructBasicGraphForSelect(return_block, instr);
- EXPECT_TRUE(CheckGraphAndTrySelectGenerator());
+ EXPECT_TRUE(CheckGraphAndTryCodeFlowSimplifier());
EXPECT_TRUE(phi->GetBlock() == nullptr);
}
diff --git a/compiler/optimizing/dead_code_elimination.cc b/compiler/optimizing/dead_code_elimination.cc
index f44f4b577b..ede909526d 100644
--- a/compiler/optimizing/dead_code_elimination.cc
+++ b/compiler/optimizing/dead_code_elimination.cc
@@ -526,10 +526,10 @@ void HDeadCodeElimination::MaybeAddPhi(HBasicBlock* block) {
// |
// 8
// `7` (which would be `block` in this example), and `6` will come from both the true path and
- // the false path of `1`. We bumped into something similar in SelectGenerator. See
- // HSelectGenerator::TryFixupDoubleDiamondPattern.
+ // the false path of `1`. We bumped into something similar in `HCodeFlowSimplifier`. See
+ // `HCodeFlowSimplifier::TryFixupDoubleDiamondPattern()`.
// TODO(solanes): Figure out if we can fix up the graph into a double diamond in a generic way
- // so that DeadCodeElimination and SelectGenerator can take advantage of it.
+ // so that `HDeadCodeElimination` and `HCodeFlowSimplifier` can take advantage of it.
if (!same_input) {
// `1` and `7` having the opposite condition is a case we are missing. We could potentially
diff --git a/compiler/optimizing/optimization.cc b/compiler/optimizing/optimization.cc
index bd8fbdf1d2..c876254050 100644
--- a/compiler/optimizing/optimization.cc
+++ b/compiler/optimizing/optimization.cc
@@ -40,6 +40,7 @@
#include "bounds_check_elimination.h"
#include "cha_guard_optimization.h"
+#include "code_flow_simplifier.h"
#include "code_sinking.h"
#include "constant_folding.h"
#include "constructor_fence_redundancy_elimination.h"
@@ -57,7 +58,6 @@
#include "loop_optimization.h"
#include "reference_type_propagation.h"
#include "scheduler.h"
-#include "select_generator.h"
#include "sharpening.h"
#include "side_effects_analysis.h"
#include "write_barrier_elimination.h"
@@ -88,8 +88,8 @@ const char* OptimizationPassName(OptimizationPass pass) {
return HDeadCodeElimination::kDeadCodeEliminationPassName;
case OptimizationPass::kInliner:
return HInliner::kInlinerPassName;
- case OptimizationPass::kSelectGenerator:
- return HSelectGenerator::kSelectGeneratorPassName;
+ case OptimizationPass::kCodeFlowSimplifier:
+ return HCodeFlowSimplifier::kCodeFlowSimplifierPassName;
case OptimizationPass::kAggressiveInstructionSimplifier:
case OptimizationPass::kInstructionSimplifier:
return InstructionSimplifier::kInstructionSimplifierPassName;
@@ -146,6 +146,7 @@ const char* OptimizationPassName(OptimizationPass pass) {
OptimizationPass OptimizationPassByName(const std::string& pass_name) {
X(OptimizationPass::kBoundsCheckElimination);
X(OptimizationPass::kCHAGuardOptimization);
+ X(OptimizationPass::kCodeFlowSimplifier);
X(OptimizationPass::kCodeSinking);
X(OptimizationPass::kConstantFolding);
X(OptimizationPass::kConstructorFenceRedundancyElimination);
@@ -159,7 +160,6 @@ OptimizationPass OptimizationPassByName(const std::string& pass_name) {
X(OptimizationPass::kLoopOptimization);
X(OptimizationPass::kReferenceTypePropagation);
X(OptimizationPass::kScheduling);
- X(OptimizationPass::kSelectGenerator);
X(OptimizationPass::kSideEffectsAnalysis);
#ifdef ART_ENABLE_CODEGEN_arm
X(OptimizationPass::kInstructionSimplifierArm);
@@ -266,8 +266,8 @@ ArenaVector<HOptimization*> ConstructOptimizations(
pass_name);
break;
}
- case OptimizationPass::kSelectGenerator:
- opt = new (allocator) HSelectGenerator(graph, stats, pass_name);
+ case OptimizationPass::kCodeFlowSimplifier:
+ opt = new (allocator) HCodeFlowSimplifier(graph, stats, pass_name);
break;
case OptimizationPass::kInstructionSimplifier:
opt = new (allocator) InstructionSimplifier(graph, codegen, stats, pass_name);
diff --git a/compiler/optimizing/optimization.h b/compiler/optimizing/optimization.h
index abc4361b44..395c45e3f7 100644
--- a/compiler/optimizing/optimization.h
+++ b/compiler/optimizing/optimization.h
@@ -70,6 +70,7 @@ enum class OptimizationPass {
kAggressiveInstructionSimplifier,
kBoundsCheckElimination,
kCHAGuardOptimization,
+ kCodeFlowSimplifier,
kCodeSinking,
kConstantFolding,
kConstructorFenceRedundancyElimination,
@@ -83,7 +84,6 @@ enum class OptimizationPass {
kLoopOptimization,
kReferenceTypePropagation,
kScheduling,
- kSelectGenerator,
kSideEffectsAnalysis,
kWriteBarrierElimination,
#ifdef ART_ENABLE_CODEGEN_arm
diff --git a/compiler/optimizing/optimizing_compiler.cc b/compiler/optimizing/optimizing_compiler.cc
index cb9933c9c0..5067872ee4 100644
--- a/compiler/optimizing/optimizing_compiler.cc
+++ b/compiler/optimizing/optimizing_compiler.cc
@@ -57,10 +57,8 @@
#include "profiling_info_builder.h"
#include "reference_type_propagation.h"
#include "register_allocator_linear_scan.h"
-#include "select_generator.h"
#include "ssa_builder.h"
#include "ssa_liveness_analysis.h"
-#include "ssa_phi_elimination.h"
#include "stack_map_stream.h"
#include "utils/assembler.h"
@@ -668,7 +666,7 @@ void OptimizingCompiler::RunOptimizations(HGraph* graph,
"reference_type_propagation$after_gvn",
OptimizationPass::kGlobalValueNumbering),
// Simplification (TODO: only if GVN occurred).
- OptDef(OptimizationPass::kSelectGenerator),
+ OptDef(OptimizationPass::kCodeFlowSimplifier),
OptDef(OptimizationPass::kConstantFolding,
"constant_folding$after_gvn"),
OptDef(OptimizationPass::kInstructionSimplifier,
diff --git a/libartbase/base/arena_allocator.cc b/libartbase/base/arena_allocator.cc
index a44d1ba0b2..e665ce95c3 100644
--- a/libartbase/base/arena_allocator.cc
+++ b/libartbase/base/arena_allocator.cc
@@ -77,7 +77,7 @@ const char* const ArenaAllocatorStatsImpl<kCount>::kAllocNames[] = {
"SsaLiveness ",
"SsaPhiElim ",
"RefTypeProp ",
- "SelectGen ",
+ "CodeFlowSimp ",
"SideEffects ",
"RegAllocator ",
"RegAllocVldt ",
diff --git a/libartbase/base/arena_allocator.h b/libartbase/base/arena_allocator.h
index f7cda26f43..b32921f0e3 100644
--- a/libartbase/base/arena_allocator.h
+++ b/libartbase/base/arena_allocator.h
@@ -88,7 +88,7 @@ enum ArenaAllocKind {
kArenaAllocSsaLiveness,
kArenaAllocSsaPhiElimination,
kArenaAllocReferenceTypePropagation,
- kArenaAllocSelectGenerator,
+ kArenaAllocCodeFlowSimplifier,
kArenaAllocSideEffectsAnalysis,
kArenaAllocRegisterAllocator,
kArenaAllocRegisterAllocatorValidate,
diff --git a/test/2265-checker-select-binary-unary/src/Main.java b/test/2265-checker-select-binary-unary/src/Main.java
index 33734fc4d6..94c2bf7796 100644
--- a/test/2265-checker-select-binary-unary/src/Main.java
+++ b/test/2265-checker-select-binary-unary/src/Main.java
@@ -31,7 +31,7 @@ public class Main {
assertIntEquals(12, $noinline$testLongToInt(1, 0));
}
- /// CHECK-START: long Main.$noinline$testIntToLong(int, int) select_generator (after)
+ /// CHECK-START: long Main.$noinline$testIntToLong(int, int) code_flow_simplifier (after)
/// CHECK: <<Const10:j\d+>> LongConstant 10
/// CHECK: <<Const1:i\d+>> IntConstant 1
/// CHECK: <<Const2:i\d+>> IntConstant 2
@@ -54,7 +54,7 @@ public class Main {
return result + (a < b ? c : d);
}
- /// CHECK-START: float Main.$noinline$testIntToFloat(int, int) select_generator (after)
+ /// CHECK-START: float Main.$noinline$testIntToFloat(int, int) code_flow_simplifier (after)
/// CHECK: <<Const10:f\d+>> FloatConstant 10
/// CHECK: <<Const1:i\d+>> IntConstant 1
/// CHECK: <<Const2:i\d+>> IntConstant 2
@@ -77,7 +77,7 @@ public class Main {
return result + (a < b ? c : d);
}
- /// CHECK-START: byte Main.$noinline$testIntToByte(int, int) select_generator (after)
+ /// CHECK-START: byte Main.$noinline$testIntToByte(int, int) code_flow_simplifier (after)
/// CHECK: <<Const10:i\d+>> IntConstant 10
/// CHECK: <<Const257:i\d+>> IntConstant 257
/// CHECK: <<Const258:i\d+>> IntConstant 258
@@ -102,7 +102,7 @@ public class Main {
return (byte) (result + (byte) (a < b ? c : d));
}
- /// CHECK-START: int Main.$noinline$testLongToInt(int, int) select_generator (after)
+ /// CHECK-START: int Main.$noinline$testLongToInt(int, int) code_flow_simplifier (after)
/// CHECK: <<Const10:i\d+>> IntConstant 10
/// CHECK: <<Const1:j\d+>> LongConstant 4294967297
/// CHECK: <<Const2:j\d+>> LongConstant 4294967298
diff --git a/test/458-checker-instruct-simplification/src/Main.java b/test/458-checker-instruct-simplification/src/Main.java
index 784acf7949..9600c43028 100644
--- a/test/458-checker-instruct-simplification/src/Main.java
+++ b/test/458-checker-instruct-simplification/src/Main.java
@@ -1231,7 +1231,7 @@ public class Main {
/// CHECK-DAG: <<Phi:i\d+>> Phi [<<Const13>>,<<Const54>>]
/// CHECK-DAG: Return [<<Phi>>]
- /// CHECK-START: int Main.$noinline$booleanFieldNotEqualOne() select_generator (after)
+ /// CHECK-START: int Main.$noinline$booleanFieldNotEqualOne() code_flow_simplifier (after)
/// CHECK-DAG: <<Field:z\d+>> StaticFieldGet
/// CHECK-DAG: <<Const13:i\d+>> IntConstant 13
/// CHECK-DAG: <<Const54:i\d+>> IntConstant 54
@@ -1252,7 +1252,7 @@ public class Main {
/// CHECK-DAG: <<Phi:i\d+>> Phi [<<Const13>>,<<Const54>>]
/// CHECK-DAG: Return [<<Phi>>]
- /// CHECK-START: int Main.$noinline$booleanFieldEqualZero() select_generator (after)
+ /// CHECK-START: int Main.$noinline$booleanFieldEqualZero() code_flow_simplifier (after)
/// CHECK-DAG: <<Field:z\d+>> StaticFieldGet
/// CHECK-DAG: <<Const13:i\d+>> IntConstant 13
/// CHECK-DAG: <<Const54:i\d+>> IntConstant 54
@@ -1278,7 +1278,7 @@ public class Main {
/// CHECK-DAG: <<Phi2:i\d+>> Phi [<<Const13>>,<<Const54>>]
/// CHECK-DAG: Return [<<Phi2>>]
- /// CHECK-START: int Main.$noinline$intConditionNotEqualOne(int) select_generator (after)
+ /// CHECK-START: int Main.$noinline$intConditionNotEqualOne(int) code_flow_simplifier (after)
/// CHECK-DAG: <<Arg:i\d+>> ParameterValue
/// CHECK-DAG: <<Const13:i\d+>> IntConstant 13
/// CHECK-DAG: <<Const42:i\d+>> IntConstant 42
@@ -1308,7 +1308,7 @@ public class Main {
/// CHECK-DAG: <<Phi2:i\d+>> Phi [<<Const13>>,<<Const54>>]
/// CHECK-DAG: Return [<<Phi2>>]
- /// CHECK-START: int Main.$noinline$intConditionEqualZero(int) select_generator (after)
+ /// CHECK-START: int Main.$noinline$intConditionEqualZero(int) code_flow_simplifier (after)
/// CHECK-DAG: <<Arg:i\d+>> ParameterValue
/// CHECK-DAG: <<Const13:i\d+>> IntConstant 13
/// CHECK-DAG: <<Const42:i\d+>> IntConstant 42
diff --git a/test/463-checker-boolean-simplifier/smali/Main2.smali b/test/463-checker-boolean-simplifier/smali/Main2.smali
index e8ebb2380c..b10e61022c 100644
--- a/test/463-checker-boolean-simplifier/smali/Main2.smali
+++ b/test/463-checker-boolean-simplifier/smali/Main2.smali
@@ -31,7 +31,7 @@
# Elementary test negating a boolean. Verifies that blocks are merged and
# empty branches removed.
-## CHECK-START: boolean Main2.BooleanNot(boolean) select_generator (before)
+## CHECK-START: boolean Main2.BooleanNot(boolean) code_flow_simplifier (before)
## CHECK-DAG: <<Param:z\d+>> ParameterValue
## CHECK-DAG: <<Const0:i\d+>> IntConstant 0
## CHECK-DAG: <<Const1:i\d+>> IntConstant 1
@@ -39,24 +39,24 @@
## CHECK-DAG: <<Phi:i\d+>> Phi [<<Const1>>,<<Const0>>]
## CHECK-DAG: Return [<<Phi>>]
-## CHECK-START: boolean Main2.BooleanNot(boolean) select_generator (before)
+## CHECK-START: boolean Main2.BooleanNot(boolean) code_flow_simplifier (before)
## CHECK: Goto
## CHECK: Goto
## CHECK: Goto
## CHECK-NOT: Goto
-## CHECK-START: boolean Main2.BooleanNot(boolean) select_generator (after)
+## CHECK-START: boolean Main2.BooleanNot(boolean) code_flow_simplifier (after)
## CHECK-DAG: <<Param:z\d+>> ParameterValue
## CHECK-DAG: <<Const0:i\d+>> IntConstant 0
## CHECK-DAG: <<Const1:i\d+>> IntConstant 1
## CHECK-DAG: <<NotParam:i\d+>> Select [<<Const1>>,<<Const0>>,<<Param>>]
## CHECK-DAG: Return [<<NotParam>>]
-## CHECK-START: boolean Main2.BooleanNot(boolean) select_generator (after)
+## CHECK-START: boolean Main2.BooleanNot(boolean) code_flow_simplifier (after)
## CHECK-NOT: If
## CHECK-NOT: Phi
-## CHECK-START: boolean Main2.BooleanNot(boolean) select_generator (after)
+## CHECK-START: boolean Main2.BooleanNot(boolean) code_flow_simplifier (after)
## CHECK: Goto
## CHECK-NOT: Goto
@@ -86,7 +86,7 @@
# Program which further uses negated conditions.
# Note that Phis are discovered retrospectively.
-## CHECK-START: boolean Main2.ValuesOrdered(int, int, int) select_generator (before)
+## CHECK-START: boolean Main2.ValuesOrdered(int, int, int) code_flow_simplifier (before)
## CHECK-DAG: <<ParamX:i\d+>> ParameterValue
## CHECK-DAG: <<ParamY:i\d+>> ParameterValue
## CHECK-DAG: <<ParamZ:i\d+>> ParameterValue
@@ -103,7 +103,7 @@
## CHECK-DAG: <<PhiYZ>> Phi [<<Const1>>,<<Const0>>]
## CHECK-DAG: <<PhiXYZ>> Phi [<<Const1>>,<<Const0>>]
-## CHECK-START: boolean Main2.ValuesOrdered(int, int, int) select_generator (after)
+## CHECK-START: boolean Main2.ValuesOrdered(int, int, int) code_flow_simplifier (after)
## CHECK-DAG: <<ParamX:i\d+>> ParameterValue
## CHECK-DAG: <<ParamY:i\d+>> ParameterValue
## CHECK-DAG: <<ParamZ:i\d+>> ParameterValue
@@ -164,7 +164,7 @@
goto :goto_a
.end method
-## CHECK-START: int Main2.NegatedCondition(boolean) select_generator (before)
+## CHECK-START: int Main2.NegatedCondition(boolean) code_flow_simplifier (before)
## CHECK-DAG: <<Param:z\d+>> ParameterValue
## CHECK-DAG: <<Const42:i\d+>> IntConstant 42
## CHECK-DAG: <<Const43:i\d+>> IntConstant 43
@@ -172,14 +172,14 @@
## CHECK-DAG: <<Phi:i\d+>> Phi [<<Const42>>,<<Const43>>]
## CHECK-DAG: Return [<<Phi>>]
-## CHECK-START: int Main2.NegatedCondition(boolean) select_generator (after)
+## CHECK-START: int Main2.NegatedCondition(boolean) code_flow_simplifier (after)
## CHECK-DAG: <<Param:z\d+>> ParameterValue
## CHECK-DAG: <<Const42:i\d+>> IntConstant 42
## CHECK-DAG: <<Const43:i\d+>> IntConstant 43
## CHECK-DAG: <<Select:i\d+>> Select [<<Const43>>,<<Const42>>,<<Param>>]
## CHECK-DAG: Return [<<Select>>]
-## CHECK-START: int Main2.NegatedCondition(boolean) select_generator (after)
+## CHECK-START: int Main2.NegatedCondition(boolean) code_flow_simplifier (after)
## CHECK-NOT: BooleanNot
# The original java source of this method:
@@ -214,7 +214,7 @@
# This test currently checks that we don't perform select generation due to
# having multiple phis.
-## CHECK-START: int Main2.MultiplePhis() select_generator (before)
+## CHECK-START: int Main2.MultiplePhis() code_flow_simplifier (before)
## CHECK-DAG: <<Const0:i\d+>> IntConstant 0
## CHECK-DAG: <<Const1:i\d+>> IntConstant 1
## CHECK-DAG: <<Const13:i\d+>> IntConstant 13
@@ -226,7 +226,7 @@
## CHECK-DAG: If [<<Cond>>]
## CHECK-DAG: Return [<<PhiX>>]
-## CHECK-START: int Main2.MultiplePhis() select_generator (after)
+## CHECK-START: int Main2.MultiplePhis() code_flow_simplifier (after)
## CHECK-DAG: <<Const0:i\d+>> IntConstant 0
## CHECK-DAG: <<Const1:i\d+>> IntConstant 1
## CHECK-DAG: <<Const13:i\d+>> IntConstant 13
diff --git a/test/463-checker-boolean-simplifier/src-art/Main.java b/test/463-checker-boolean-simplifier/src-art/Main.java
index 2c759ed6f9..5105f50a6e 100644
--- a/test/463-checker-boolean-simplifier/src-art/Main.java
+++ b/test/463-checker-boolean-simplifier/src-art/Main.java
@@ -39,7 +39,7 @@ public class Main {
* and 0 when False.
*/
- /// CHECK-START: boolean Main.GreaterThan(int, int) select_generator (before)
+ /// CHECK-START: boolean Main.GreaterThan(int, int) code_flow_simplifier (before)
/// CHECK-DAG: <<ParamX:i\d+>> ParameterValue
/// CHECK-DAG: <<ParamY:i\d+>> ParameterValue
/// CHECK-DAG: <<Const0:i\d+>> IntConstant 0
@@ -49,7 +49,7 @@ public class Main {
/// CHECK-DAG: <<Phi:i\d+>> Phi [<<Const0>>,<<Const1>>]
/// CHECK-DAG: Return [<<Phi>>]
- /// CHECK-START: boolean Main.GreaterThan(int, int) select_generator (after)
+ /// CHECK-START: boolean Main.GreaterThan(int, int) code_flow_simplifier (after)
/// CHECK-DAG: <<ParamX:i\d+>> ParameterValue
/// CHECK-DAG: <<ParamY:i\d+>> ParameterValue
/// CHECK-DAG: <<Const0:i\d+>> IntConstant 0
@@ -67,7 +67,7 @@ public class Main {
* and 1 when False.
*/
- /// CHECK-START: boolean Main.LessThan(int, int) select_generator (before)
+ /// CHECK-START: boolean Main.LessThan(int, int) code_flow_simplifier (before)
/// CHECK-DAG: <<ParamX:i\d+>> ParameterValue
/// CHECK-DAG: <<ParamY:i\d+>> ParameterValue
/// CHECK-DAG: <<Const0:i\d+>> IntConstant 0
@@ -77,7 +77,7 @@ public class Main {
/// CHECK-DAG: <<Phi:i\d+>> Phi [<<Const1>>,<<Const0>>]
/// CHECK-DAG: Return [<<Phi>>]
- /// CHECK-START: boolean Main.LessThan(int, int) select_generator (after)
+ /// CHECK-START: boolean Main.LessThan(int, int) code_flow_simplifier (after)
/// CHECK-DAG: <<ParamX:i\d+>> ParameterValue
/// CHECK-DAG: <<ParamY:i\d+>> ParameterValue
/// CHECK-DAG: <<Const0:i\d+>> IntConstant 0
@@ -90,7 +90,7 @@ public class Main {
return (x < y) ? true : false;
}
- /// CHECK-START: int Main.SimpleTrueBlock(boolean, int) select_generator (after)
+ /// CHECK-START: int Main.SimpleTrueBlock(boolean, int) code_flow_simplifier (after)
/// CHECK-DAG: <<ParamX:z\d+>> ParameterValue
/// CHECK-DAG: <<ParamY:i\d+>> ParameterValue
/// CHECK-DAG: <<Const42:i\d+>> IntConstant 42
@@ -99,14 +99,14 @@ public class Main {
/// CHECK-DAG: <<Select:i\d+>> Select [<<Const43>>,<<Add>>,<<ParamX>>]
/// CHECK-DAG: Return [<<Select>>]
- /// CHECK-START: int Main.SimpleTrueBlock(boolean, int) select_generator (after)
+ /// CHECK-START: int Main.SimpleTrueBlock(boolean, int) code_flow_simplifier (after)
/// CHECK-NOT: If
public static int SimpleTrueBlock(boolean x, int y) {
return x ? y + 42 : 43;
}
- /// CHECK-START: int Main.SimpleFalseBlock(boolean, int) select_generator (after)
+ /// CHECK-START: int Main.SimpleFalseBlock(boolean, int) code_flow_simplifier (after)
/// CHECK-DAG: <<ParamX:z\d+>> ParameterValue
/// CHECK-DAG: <<ParamY:i\d+>> ParameterValue
/// CHECK-DAG: <<Const42:i\d+>> IntConstant 42
@@ -115,14 +115,14 @@ public class Main {
/// CHECK-DAG: <<Select:i\d+>> Select [<<Add>>,<<Const42>>,<<ParamX>>]
/// CHECK-DAG: Return [<<Select>>]
- /// CHECK-START: int Main.SimpleFalseBlock(boolean, int) select_generator (after)
+ /// CHECK-START: int Main.SimpleFalseBlock(boolean, int) code_flow_simplifier (after)
/// CHECK-NOT: If
public static int SimpleFalseBlock(boolean x, int y) {
return x ? 42 : y + 43;
}
- /// CHECK-START: int Main.SimpleBothBlocks(boolean, int, int) select_generator (after)
+ /// CHECK-START: int Main.SimpleBothBlocks(boolean, int, int) code_flow_simplifier (after)
/// CHECK-DAG: <<ParamX:z\d+>> ParameterValue
/// CHECK-DAG: <<ParamY:i\d+>> ParameterValue
/// CHECK-DAG: <<ParamZ:i\d+>> ParameterValue
@@ -133,14 +133,14 @@ public class Main {
/// CHECK-DAG: <<Select:i\d+>> Select [<<AddFalse>>,<<AddTrue>>,<<ParamX>>]
/// CHECK-DAG: Return [<<Select>>]
- /// CHECK-START: int Main.SimpleBothBlocks(boolean, int, int) select_generator (after)
+ /// CHECK-START: int Main.SimpleBothBlocks(boolean, int, int) code_flow_simplifier (after)
/// CHECK-NOT: If
public static int SimpleBothBlocks(boolean x, int y, int z) {
return x ? y + 42 : z + 43;
}
- /// CHECK-START: int Main.ThreeBlocks(boolean, boolean) select_generator (after)
+ /// CHECK-START: int Main.ThreeBlocks(boolean, boolean) code_flow_simplifier (after)
/// CHECK-DAG: <<ParamX:z\d+>> ParameterValue
/// CHECK-DAG: <<ParamY:z\d+>> ParameterValue
/// CHECK-DAG: <<Const1:i\d+>> IntConstant 1
@@ -160,7 +160,7 @@ public class Main {
}
}
- /// CHECK-START: int Main.TrueBlockWithTooManyInstructions(boolean) select_generator (before)
+ /// CHECK-START: int Main.TrueBlockWithTooManyInstructions(boolean) code_flow_simplifier (before)
/// CHECK-DAG: <<This:l\d+>> ParameterValue
/// CHECK-DAG: <<Cond:z\d+>> ParameterValue
/// CHECK-DAG: <<Const2:i\d+>> IntConstant 2
@@ -170,14 +170,14 @@ public class Main {
/// CHECK-DAG: <<Add:i\d+>> Add [<<Iget>>,<<Const2>>]
/// CHECK-DAG: Phi [<<Add>>,<<Const43>>]
- /// CHECK-START: int Main.TrueBlockWithTooManyInstructions(boolean) select_generator (after)
+ /// CHECK-START: int Main.TrueBlockWithTooManyInstructions(boolean) code_flow_simplifier (after)
/// CHECK-NOT: Select
public int TrueBlockWithTooManyInstructions(boolean x) {
return x ? (read_field + 2) : 43;
}
- /// CHECK-START: int Main.FalseBlockWithTooManyInstructions(boolean) select_generator (before)
+ /// CHECK-START: int Main.FalseBlockWithTooManyInstructions(boolean) code_flow_simplifier (before)
/// CHECK-DAG: <<This:l\d+>> ParameterValue
/// CHECK-DAG: <<Cond:z\d+>> ParameterValue
/// CHECK-DAG: <<Const3:i\d+>> IntConstant 3
@@ -187,14 +187,14 @@ public class Main {
/// CHECK-DAG: <<Add:i\d+>> Add [<<Iget>>,<<Const3>>]
/// CHECK-DAG: Phi [<<Const42>>,<<Add>>]
- /// CHECK-START: int Main.FalseBlockWithTooManyInstructions(boolean) select_generator (after)
+ /// CHECK-START: int Main.FalseBlockWithTooManyInstructions(boolean) code_flow_simplifier (after)
/// CHECK-NOT: Select
public int FalseBlockWithTooManyInstructions(boolean x) {
return x ? 42 : (read_field + 3);
}
- /// CHECK-START: int Main.TrueBlockWithSideEffects(boolean) select_generator (before)
+ /// CHECK-START: int Main.TrueBlockWithSideEffects(boolean) code_flow_simplifier (before)
/// CHECK-DAG: <<This:l\d+>> ParameterValue
/// CHECK-DAG: <<Cond:z\d+>> ParameterValue
/// CHECK-DAG: <<Const42:i\d+>> IntConstant 42
@@ -203,14 +203,14 @@ public class Main {
/// CHECK-DAG: InstanceFieldSet [<<This>>,<<Const42>>]
/// CHECK-DAG: Phi [<<Const42>>,<<Const43>>]
- /// CHECK-START: int Main.TrueBlockWithSideEffects(boolean) select_generator (after)
+ /// CHECK-START: int Main.TrueBlockWithSideEffects(boolean) code_flow_simplifier (after)
/// CHECK-NOT: Select
public int TrueBlockWithSideEffects(boolean x) {
return x ? (write_field = 42) : 43;
}
- /// CHECK-START: int Main.FalseBlockWithSideEffects(boolean) select_generator (before)
+ /// CHECK-START: int Main.FalseBlockWithSideEffects(boolean) code_flow_simplifier (before)
/// CHECK-DAG: <<This:l\d+>> ParameterValue
/// CHECK-DAG: <<Cond:z\d+>> ParameterValue
/// CHECK-DAG: <<Const42:i\d+>> IntConstant 42
@@ -219,7 +219,7 @@ public class Main {
/// CHECK-DAG: InstanceFieldSet [<<This>>,<<Const43>>]
/// CHECK-DAG: Phi [<<Const42>>,<<Const43>>]
- /// CHECK-START: int Main.FalseBlockWithSideEffects(boolean) select_generator (after)
+ /// CHECK-START: int Main.FalseBlockWithSideEffects(boolean) code_flow_simplifier (after)
/// CHECK-NOT: Select
public int FalseBlockWithSideEffects(boolean x) {
diff --git a/test/468-checker-bool-simplif-regression/smali/TestCase.smali b/test/468-checker-bool-simplif-regression/smali/TestCase.smali
index 87ad21ead4..965bf2d330 100644
--- a/test/468-checker-bool-simplif-regression/smali/TestCase.smali
+++ b/test/468-checker-bool-simplif-regression/smali/TestCase.smali
@@ -18,7 +18,7 @@
.field public static value:Z
-## CHECK-START: boolean TestCase.testCase() select_generator (before)
+## CHECK-START: boolean TestCase.testCase() code_flow_simplifier (before)
## CHECK-DAG: <<Const0:i\d+>> IntConstant 0
## CHECK-DAG: <<Const1:i\d+>> IntConstant 1
## CHECK-DAG: <<Value:z\d+>> StaticFieldGet
@@ -26,7 +26,7 @@
## CHECK-DAG: <<Phi:i\d+>> Phi [<<Const1>>,<<Const0>>]
## CHECK-DAG: Return [<<Phi>>]
-## CHECK-START: boolean TestCase.testCase() select_generator (after)
+## CHECK-START: boolean TestCase.testCase() code_flow_simplifier (after)
## CHECK-DAG: <<Const0:i\d+>> IntConstant 0
## CHECK-DAG: <<Const1:i\d+>> IntConstant 1
## CHECK-DAG: <<Value:z\d+>> StaticFieldGet
diff --git a/test/474-checker-boolean-input/src/Main.java b/test/474-checker-boolean-input/src/Main.java
index fbc28d8d52..fbffa70473 100644
--- a/test/474-checker-boolean-input/src/Main.java
+++ b/test/474-checker-boolean-input/src/Main.java
@@ -27,7 +27,7 @@ public class Main {
* we implement a suitable type analysis.
*/
- /// CHECK-START: boolean Main.TestPhiAsBoolean(int) select_generator (after)
+ /// CHECK-START: boolean Main.TestPhiAsBoolean(int) code_flow_simplifier (after)
/// CHECK-DAG: <<Phi:i\d+>> Phi
/// CHECK-DAG: Select [{{i\d+}},{{i\d+}},<<Phi>>]
@@ -47,7 +47,7 @@ public class Main {
* we implement a suitable type analysis.
*/
- /// CHECK-START: boolean Main.TestAndAsBoolean(boolean, boolean) select_generator (after)
+ /// CHECK-START: boolean Main.TestAndAsBoolean(boolean, boolean) code_flow_simplifier (after)
/// CHECK-DAG: <<And:i\d+>> And
/// CHECK-DAG: Select [{{i\d+}},{{i\d+}},<<And>>]
@@ -64,7 +64,7 @@ public class Main {
* we implement a suitable type analysis.
*/
- /// CHECK-START: boolean Main.TestOrAsBoolean(boolean, boolean) select_generator (after)
+ /// CHECK-START: boolean Main.TestOrAsBoolean(boolean, boolean) code_flow_simplifier (after)
/// CHECK-DAG: <<Or:i\d+>> Or
/// CHECK-DAG: Select [{{i\d+}},{{i\d+}},<<Or>>]
@@ -81,7 +81,7 @@ public class Main {
* we implement a suitable type analysis.
*/
- /// CHECK-START: boolean Main.TestXorAsBoolean(boolean, boolean) select_generator (after)
+ /// CHECK-START: boolean Main.TestXorAsBoolean(boolean, boolean) code_flow_simplifier (after)
/// CHECK-DAG: <<Xor:i\d+>> Xor
/// CHECK-DAG: Select [{{i\d+}},{{i\d+}},<<Xor>>]
diff --git a/test/485-checker-dce-loop-update/smali/TestCase.smali b/test/485-checker-dce-loop-update/smali/TestCase.smali
index 3e7bca93c9..53e352a16a 100644
--- a/test/485-checker-dce-loop-update/smali/TestCase.smali
+++ b/test/485-checker-dce-loop-update/smali/TestCase.smali
@@ -162,7 +162,7 @@
## CHECK-START: int TestCase.testExitPredecessors(int, boolean, boolean) dead_code_elimination$after_inlining (after)
## CHECK-NOT: IntConstant 5
-## CHECK-START: int TestCase.testExitPredecessors(int, boolean, boolean) select_generator (after)
+## CHECK-START: int TestCase.testExitPredecessors(int, boolean, boolean) code_flow_simplifier (after)
## CHECK-DAG: <<ArgX:i\d+>> ParameterValue
## CHECK-DAG: <<ArgY:z\d+>> ParameterValue
## CHECK-DAG: <<ArgZ:z\d+>> ParameterValue
diff --git a/test/567-checker-builder-intrinsics/src/TestCompare.java b/test/567-checker-builder-intrinsics/src/TestCompare.java
index 1feb249d5d..0f4f0bee31 100644
--- a/test/567-checker-builder-intrinsics/src/TestCompare.java
+++ b/test/567-checker-builder-intrinsics/src/TestCompare.java
@@ -37,7 +37,7 @@ public class TestCompare {
}
}
- /// CHECK-START: int TestCompare.compareBooleans(boolean, boolean) select_generator (after)
+ /// CHECK-START: int TestCompare.compareBooleans(boolean, boolean) code_flow_simplifier (after)
/// CHECK-NOT: Phi
/// CHECK-START: int TestCompare.compareBooleans(boolean, boolean) instruction_simplifier$before_codegen (after)
@@ -64,7 +64,7 @@ public class TestCompare {
/// CHECK-START: int TestCompare.compareBooleans2(boolean, boolean) builder (after)
/// CHECK-NOT: InvokeStaticOrDirect
- /// CHECK-START: int TestCompare.compareBooleans2(boolean, boolean) select_generator (after)
+ /// CHECK-START: int TestCompare.compareBooleans2(boolean, boolean) code_flow_simplifier (after)
/// CHECK: <<ArgX:z\d+>> ParameterValue
/// CHECK: <<ArgY:z\d+>> ParameterValue
/// CHECK-DAG: <<Zero:i\d+>> IntConstant 0
@@ -74,7 +74,7 @@ public class TestCompare {
/// CHECK-DAG: <<Result:i\d+>> Compare [<<SelX>>,<<SelY>>]
/// CHECK-DAG: Return [<<Result>>]
- /// CHECK-START: int TestCompare.compareBooleans2(boolean, boolean) select_generator (after)
+ /// CHECK-START: int TestCompare.compareBooleans2(boolean, boolean) code_flow_simplifier (after)
/// CHECK-NOT: Phi
/// CHECK-START: int TestCompare.compareBooleans2(boolean, boolean) instruction_simplifier$before_codegen (after)
diff --git a/test/567-checker-builder-intrinsics/src/TestMinMax.java b/test/567-checker-builder-intrinsics/src/TestMinMax.java
index 7207006784..36cd1e6e47 100644
--- a/test/567-checker-builder-intrinsics/src/TestMinMax.java
+++ b/test/567-checker-builder-intrinsics/src/TestMinMax.java
@@ -564,7 +564,7 @@ public class TestMinMax {
return x;
}
- /// CHECK-START: int TestMinMax.minmax3(int) select_generator (after)
+ /// CHECK-START: int TestMinMax.minmax3(int) code_flow_simplifier (after)
/// CHECK-DAG: <<Par:i\d+>> ParameterValue
/// CHECK-DAG: <<P100:i\d+>> IntConstant 100
/// CHECK-DAG: <<M100:i\d+>> IntConstant -100
@@ -588,7 +588,7 @@ public class TestMinMax {
return (x > 100) ? 100 : ((x < -100) ? -100 : x);
}
- /// CHECK-START: int TestMinMax.minmax4(int) select_generator (after)
+ /// CHECK-START: int TestMinMax.minmax4(int) code_flow_simplifier (after)
/// CHECK-DAG: <<Par:i\d+>> ParameterValue
/// CHECK-DAG: <<P100:i\d+>> IntConstant 100
/// CHECK-DAG: <<M100:i\d+>> IntConstant -100
@@ -612,7 +612,7 @@ public class TestMinMax {
return (x < -100) ? -100 : ((x > 100) ? 100 : x);
}
- /// CHECK-START: int TestMinMax.minmaxCSEScalar(int, int) select_generator (after)
+ /// CHECK-START: int TestMinMax.minmaxCSEScalar(int, int) code_flow_simplifier (after)
/// CHECK-DAG: <<Par1:i\d+>> ParameterValue
/// CHECK-DAG: <<Par2:i\d+>> ParameterValue
/// CHECK-DAG: <<Cnd1:z\d+>> LessThanOrEqual [<<Par1>>,<<Par2>>]
@@ -648,7 +648,7 @@ public class TestMinMax {
return t1 + t2 + t3 + t4 + t5 + t6;
}
- /// CHECK-START: int TestMinMax.minmaxCSEArray(int[], int[]) select_generator (after)
+ /// CHECK-START: int TestMinMax.minmaxCSEArray(int[], int[]) code_flow_simplifier (after)
/// CHECK-DAG: <<Arr1:i\d+>> ArrayGet
/// CHECK-DAG: <<Arr2:i\d+>> ArrayGet
/// CHECK-DAG: <<Cnd1:z\d+>> LessThanOrEqual [<<Arr1>>,<<Arr2>>]
diff --git a/test/567-checker-builder-intrinsics/src/TestRotate.java b/test/567-checker-builder-intrinsics/src/TestRotate.java
index 40abb1b1d1..3a8ffc1335 100644
--- a/test/567-checker-builder-intrinsics/src/TestRotate.java
+++ b/test/567-checker-builder-intrinsics/src/TestRotate.java
@@ -281,7 +281,7 @@ public class TestRotate {
/// CHECK-START: int TestRotate.$inline$rotateLeftBoolean(boolean, int) builder (after)
/// CHECK-NOT: InvokeStaticOrDirect
- /// CHECK-START: int TestRotate.$inline$rotateLeftBoolean(boolean, int) select_generator (after)
+ /// CHECK-START: int TestRotate.$inline$rotateLeftBoolean(boolean, int) code_flow_simplifier (after)
/// CHECK: <<ArgVal:z\d+>> ParameterValue
/// CHECK: <<ArgDist:i\d+>> ParameterValue
/// CHECK-DAG: <<Zero:i\d+>> IntConstant 0
@@ -290,7 +290,7 @@ public class TestRotate {
/// CHECK-DAG: <<Result:i\d+>> Rol [<<SelVal>>,<<ArgDist>>]
/// CHECK-DAG: Return [<<Result>>]
- /// CHECK-START: int TestRotate.$inline$rotateLeftBoolean(boolean, int) select_generator (after)
+ /// CHECK-START: int TestRotate.$inline$rotateLeftBoolean(boolean, int) code_flow_simplifier (after)
/// CHECK-NOT: Phi
/// CHECK-START: int TestRotate.$inline$rotateLeftBoolean(boolean, int) instruction_simplifier$before_codegen (after)
@@ -522,7 +522,7 @@ public class TestRotate {
/// CHECK-START: int TestRotate.rotateRightBoolean(boolean, int) builder (after)
/// CHECK-NOT: InvokeStaticOrDirect
- /// CHECK-START: int TestRotate.rotateRightBoolean(boolean, int) select_generator (after)
+ /// CHECK-START: int TestRotate.rotateRightBoolean(boolean, int) code_flow_simplifier (after)
/// CHECK: <<ArgVal:z\d+>> ParameterValue
/// CHECK: <<ArgDist:i\d+>> ParameterValue
/// CHECK-DAG: <<Zero:i\d+>> IntConstant 0
@@ -531,7 +531,7 @@ public class TestRotate {
/// CHECK-DAG: <<Result:i\d+>> Ror [<<SelVal>>,<<ArgDist>>]
/// CHECK-DAG: Return [<<Result>>]
- /// CHECK-START: int TestRotate.rotateRightBoolean(boolean, int) select_generator (after)
+ /// CHECK-START: int TestRotate.rotateRightBoolean(boolean, int) code_flow_simplifier (after)
/// CHECK-NOT: Phi
/// CHECK-START: int TestRotate.rotateRightBoolean(boolean, int) instruction_simplifier$before_codegen (after)
diff --git a/test/567-checker-builder-intrinsics/src/TestSignum.java b/test/567-checker-builder-intrinsics/src/TestSignum.java
index 818c940dac..0ec6b3a0a0 100644
--- a/test/567-checker-builder-intrinsics/src/TestSignum.java
+++ b/test/567-checker-builder-intrinsics/src/TestSignum.java
@@ -81,7 +81,7 @@ public class TestSignum {
/// CHECK-START: int TestSignum.signBoolean(boolean) builder (after)
/// CHECK-NOT: InvokeStaticOrDirect
- /// CHECK-START: int TestSignum.signBoolean(boolean) select_generator (after)
+ /// CHECK-START: int TestSignum.signBoolean(boolean) code_flow_simplifier (after)
/// CHECK-DAG: <<Arg:z\d+>> ParameterValue
/// CHECK-DAG: <<Zero:i\d+>> IntConstant 0
/// CHECK-DAG: <<One:i\d+>> IntConstant 1
@@ -89,7 +89,7 @@ public class TestSignum {
/// CHECK-DAG: <<Result:i\d+>> Compare [<<Sel>>,<<Zero>>]
/// CHECK-DAG: Return [<<Result>>]
- /// CHECK-START: int TestSignum.signBoolean(boolean) select_generator (after)
+ /// CHECK-START: int TestSignum.signBoolean(boolean) code_flow_simplifier (after)
/// CHECK-NOT: Phi
/// CHECK-START: int TestSignum.signBoolean(boolean) instruction_simplifier$after_gvn (after)
diff --git a/test/592-checker-regression-bool-input/smali/TestCase.smali b/test/592-checker-regression-bool-input/smali/TestCase.smali
index ad4e902724..29037ab397 100644
--- a/test/592-checker-regression-bool-input/smali/TestCase.smali
+++ b/test/592-checker-regression-bool-input/smali/TestCase.smali
@@ -16,7 +16,7 @@
.super Ljava/lang/Object;
-## CHECK-START: boolean TestCase.testCase() select_generator (after)
+## CHECK-START: boolean TestCase.testCase() code_flow_simplifier (after)
## CHECK-DAG: <<Select:i\d+>> Select
## CHECK-DAG: Return [<<Select>>]
diff --git a/test/593-checker-boolean-2-integral-conv/smali/SmaliTests.smali b/test/593-checker-boolean-2-integral-conv/smali/SmaliTests.smali
index 8e84d054a0..dc544bd101 100644
--- a/test/593-checker-boolean-2-integral-conv/smali/SmaliTests.smali
+++ b/test/593-checker-boolean-2-integral-conv/smali/SmaliTests.smali
@@ -40,7 +40,7 @@
## CHECK-DAG: <<IToS:b\d+>> TypeConversion [<<Phi>>]
## CHECK-DAG: Return [<<IToS>>]
-## CHECK-START: byte SmaliTests.booleanToByte(boolean) select_generator (after)
+## CHECK-START: byte SmaliTests.booleanToByte(boolean) code_flow_simplifier (after)
## CHECK: <<Arg:z\d+>> ParameterValue
## CHECK-DAG: <<Zero:i\d+>> IntConstant 0
## CHECK-DAG: <<One:i\d+>> IntConstant 1
@@ -75,7 +75,7 @@
## CHECK-DAG: <<IToS:s\d+>> TypeConversion [<<Phi>>]
## CHECK-DAG: Return [<<IToS>>]
-## CHECK-START: short SmaliTests.booleanToShort(boolean) select_generator (after)
+## CHECK-START: short SmaliTests.booleanToShort(boolean) code_flow_simplifier (after)
## CHECK: <<Arg:z\d+>> ParameterValue
## CHECK-DAG: <<Zero:i\d+>> IntConstant 0
## CHECK-DAG: <<One:i\d+>> IntConstant 1
@@ -110,7 +110,7 @@
## CHECK-DAG: <<IToC:c\d+>> TypeConversion [<<Phi>>]
## CHECK-DAG: Return [<<IToC>>]
-## CHECK-START: char SmaliTests.booleanToChar(boolean) select_generator (after)
+## CHECK-START: char SmaliTests.booleanToChar(boolean) code_flow_simplifier (after)
## CHECK: <<Arg:z\d+>> ParameterValue
## CHECK-DAG: <<Zero:i\d+>> IntConstant 0
## CHECK-DAG: <<One:i\d+>> IntConstant 1
@@ -144,7 +144,7 @@
## CHECK-DAG: <<Phi:i\d+>> Phi [<<One>>,<<Zero>>]
## CHECK-DAG: Return [<<Phi>>]
-## CHECK-START: int SmaliTests.booleanToInt(boolean) select_generator (after)
+## CHECK-START: int SmaliTests.booleanToInt(boolean) code_flow_simplifier (after)
## CHECK: <<Arg:z\d+>> ParameterValue
## CHECK-DAG: <<Zero:i\d+>> IntConstant 0
## CHECK-DAG: <<One:i\d+>> IntConstant 1
@@ -177,7 +177,7 @@
## CHECK-DAG: <<IToJ:j\d+>> TypeConversion [<<Phi>>]
## CHECK-DAG: Return [<<IToJ>>]
-## CHECK-START: long SmaliTests.booleanToLong(boolean) select_generator (after)
+## CHECK-START: long SmaliTests.booleanToLong(boolean) code_flow_simplifier (after)
## CHECK-DAG: <<Arg:z\d+>> ParameterValue
## CHECK-DAG: <<Zero:i\d+>> IntConstant 0
## CHECK-DAG: <<One:i\d+>> IntConstant 1
@@ -227,7 +227,7 @@
## CHECK-DAG: <<JToI:i\d+>> TypeConversion [<<IToJ>>]
## CHECK-DAG: Return [<<JToI>>]
-## CHECK-START: int SmaliTests.longToIntOfBoolean() select_generator (after)
+## CHECK-START: int SmaliTests.longToIntOfBoolean() code_flow_simplifier (after)
## CHECK-DAG: <<Zero:i\d+>> IntConstant 0
## CHECK-DAG: <<One:i\d+>> IntConstant 1
## CHECK-DAG: <<Sget:z\d+>> StaticFieldGet
diff --git a/test/593-checker-boolean-2-integral-conv/src/Main.java b/test/593-checker-boolean-2-integral-conv/src/Main.java
index 545f16d27e..7a1b83ab23 100644
--- a/test/593-checker-boolean-2-integral-conv/src/Main.java
+++ b/test/593-checker-boolean-2-integral-conv/src/Main.java
@@ -74,13 +74,13 @@ public class Main {
/// CHECK-DAG: <<Phi:j\d+>> Phi [<<One>>,<<Zero>>]
/// CHECK-DAG: Return [<<Phi>>]
- /// CHECK-START: long Main.booleanToLong(boolean) select_generator (after)
+ /// CHECK-START: long Main.booleanToLong(boolean) code_flow_simplifier (after)
/// CHECK-NOT: IntConstant
/// CHECK-NOT: Equal
/// CHECK-NOT: If
/// CHECK-NOT: Phi
- /// CHECK-START: long Main.booleanToLong(boolean) select_generator (after)
+ /// CHECK-START: long Main.booleanToLong(boolean) code_flow_simplifier (after)
/// CHECK: <<Arg:z\d+>> ParameterValue
/// CHECK-DAG: <<Zero:j\d+>> LongConstant 0
/// CHECK-DAG: <<One:j\d+>> LongConstant 1
@@ -114,13 +114,13 @@ public class Main {
/// CHECK-DAG: <<JToI:i\d+>> TypeConversion [<<Phi>>]
/// CHECK-DAG: Return [<<JToI>>]
- /// CHECK-START: long Main.booleanToLong(boolean) select_generator (after)
+ /// CHECK-START: long Main.booleanToLong(boolean) code_flow_simplifier (after)
/// CHECK-NOT: IntConstant
/// CHECK-NOT: Equal
/// CHECK-NOT: If
/// CHECK-NOT: Phi
- /// CHECK-START: int Main.longToIntOfBoolean() select_generator (after)
+ /// CHECK-START: int Main.longToIntOfBoolean() code_flow_simplifier (after)
/// CHECK-DAG: <<Zero:j\d+>> LongConstant 0
/// CHECK-DAG: <<One:j\d+>> LongConstant 1
/// CHECK-DAG: <<Sget:z\d+>> StaticFieldGet
diff --git a/test/657-branches/src/Main.java b/test/657-branches/src/Main.java
index 2b62c5faa1..bb448eb44e 100644
--- a/test/657-branches/src/Main.java
+++ b/test/657-branches/src/Main.java
@@ -19,11 +19,11 @@ public class Main {
public static void foo(float f) {
// The reason this used to break:
// 1) We inline the 'foo' call, so blocks now only contain HLoadClass instructions.
- // 2) We then run the select_generator pass, which cannot change the
+ // 2) We then run the code_flow_simplifier pass, which cannot change the
// if/else because blocks contain instructions.
// 3) We run GVN which will remove the HLoadClass instructions in the blocks.
// 4) At code generation, we are in the unlikely situation that a diamond shape
- // contains no instruction (usually removed by select_generator). This used
+ // contains no instruction (usually removed by code_flow_simplifier). This used
// to trip the ARM code generators.
if (f < 1.2f) {
foo(Main.class, Object.class);
diff --git a/test/663-checker-select-generator/src/Main.java b/test/663-checker-select-generator/src/Main.java
index 1a185fbc62..6a5564b1c1 100644
--- a/test/663-checker-select-generator/src/Main.java
+++ b/test/663-checker-select-generator/src/Main.java
@@ -21,13 +21,13 @@ public class Main {
/// CHECK-START: int Main.$noinline$testSimpleDiamondSameValue(boolean) builder (after)
/// CHECK-NOT: Phi
- /// CHECK-START: int Main.$noinline$testSimpleDiamondSameValue(boolean) select_generator (before)
+ /// CHECK-START: int Main.$noinline$testSimpleDiamondSameValue(boolean) code_flow_simplifier (before)
/// CHECK-NOT: Phi
- /// CHECK-START: int Main.$noinline$testSimpleDiamondSameValue(boolean) select_generator (after)
+ /// CHECK-START: int Main.$noinline$testSimpleDiamondSameValue(boolean) code_flow_simplifier (after)
/// CHECK-NOT: Phi
- /// CHECK-START: int Main.$noinline$testSimpleDiamondSameValue(boolean) select_generator (after)
+ /// CHECK-START: int Main.$noinline$testSimpleDiamondSameValue(boolean) code_flow_simplifier (after)
/// CHECK-NOT: Select
private static int $noinline$testSimpleDiamondSameValue(boolean bool_param) {
int return_value;
@@ -41,14 +41,14 @@ public class Main {
// Check that we generate a select for a simple diamond pattern, with different values.
- /// CHECK-START: int Main.$noinline$testSimpleDiamondDifferentValue(boolean) select_generator (before)
+ /// CHECK-START: int Main.$noinline$testSimpleDiamondDifferentValue(boolean) code_flow_simplifier (before)
/// CHECK-DAG: <<Const10:i\d+>> IntConstant 10
/// CHECK-DAG: <<Const20:i\d+>> IntConstant 20
/// CHECK-DAG: <<Phi:i\d+>> Phi [<<Arg1:i\d+>>,<<Arg2:i\d+>>]
/// CHECK-DAG: Return [<<Phi>>]
/// CHECK-EVAL: set(["<<Arg1>>","<<Arg2>>"]) == set(["<<Const10>>","<<Const20>>"])
- /// CHECK-START: int Main.$noinline$testSimpleDiamondDifferentValue(boolean) select_generator (after)
+ /// CHECK-START: int Main.$noinline$testSimpleDiamondDifferentValue(boolean) code_flow_simplifier (after)
/// CHECK-DAG: <<Bool:z\d+>> ParameterValue
/// CHECK-DAG: <<Const10:i\d+>> IntConstant 10
/// CHECK-DAG: <<Const20:i\d+>> IntConstant 20
@@ -70,13 +70,13 @@ public class Main {
/// CHECK-START: int Main.$noinline$testDoubleDiamondSameValue(boolean, boolean) builder (after)
/// CHECK-NOT: Phi
- /// CHECK-START: int Main.$noinline$testDoubleDiamondSameValue(boolean, boolean) select_generator (before)
+ /// CHECK-START: int Main.$noinline$testDoubleDiamondSameValue(boolean, boolean) code_flow_simplifier (before)
/// CHECK-NOT: Phi
- /// CHECK-START: int Main.$noinline$testDoubleDiamondSameValue(boolean, boolean) select_generator (after)
+ /// CHECK-START: int Main.$noinline$testDoubleDiamondSameValue(boolean, boolean) code_flow_simplifier (after)
/// CHECK-NOT: Phi
- /// CHECK-START: int Main.$noinline$testDoubleDiamondSameValue(boolean, boolean) select_generator (after)
+ /// CHECK-START: int Main.$noinline$testDoubleDiamondSameValue(boolean, boolean) code_flow_simplifier (after)
/// CHECK-NOT: Select
private static int $noinline$testDoubleDiamondSameValue(boolean bool_param_1, boolean bool_param_2) {
int return_value;
@@ -94,14 +94,14 @@ public class Main {
// Check that we generate a select for a double diamond pattern, with a different value in the outer branch.
- /// CHECK-START: int Main.$noinline$testDoubleDiamondSameValueButNotAllOuter(boolean, boolean) select_generator (before)
+ /// CHECK-START: int Main.$noinline$testDoubleDiamondSameValueButNotAllOuter(boolean, boolean) code_flow_simplifier (before)
/// CHECK-DAG: <<Const10:i\d+>> IntConstant 10
/// CHECK-DAG: <<Const20:i\d+>> IntConstant 20
/// CHECK-DAG: <<Phi:i\d+>> Phi [<<Arg1:i\d+>>,<<Arg2:i\d+>>,<<Arg3:i\d+>>]
/// CHECK-DAG: Return [<<Phi>>]
/// CHECK-EVAL: set(["<<Arg1>>","<<Arg2>>","<<Arg3>>"]) == set(["<<Const10>>","<<Const20>>","<<Const20>>"])
- /// CHECK-START: int Main.$noinline$testDoubleDiamondSameValueButNotAllOuter(boolean, boolean) select_generator (after)
+ /// CHECK-START: int Main.$noinline$testDoubleDiamondSameValueButNotAllOuter(boolean, boolean) code_flow_simplifier (after)
/// CHECK-DAG: <<Bool1:z\d+>> ParameterValue
/// CHECK-DAG: <<Bool2:z\d+>> ParameterValue
/// CHECK-DAG: <<Const10:i\d+>> IntConstant 10
@@ -125,14 +125,14 @@ public class Main {
// Check that we generate a select for a double diamond pattern, with a different value in the inner branch.
- /// CHECK-START: int Main.$noinline$testDoubleDiamondSameValueButNotAllInner(boolean, boolean) select_generator (before)
+ /// CHECK-START: int Main.$noinline$testDoubleDiamondSameValueButNotAllInner(boolean, boolean) code_flow_simplifier (before)
/// CHECK-DAG: <<Const10:i\d+>> IntConstant 10
/// CHECK-DAG: <<Const20:i\d+>> IntConstant 20
/// CHECK-DAG: <<Phi:i\d+>> Phi [<<Arg1:i\d+>>,<<Arg2:i\d+>>,<<Arg3:i\d+>>]
/// CHECK-DAG: Return [<<Phi>>]
/// CHECK-EVAL: set(["<<Arg1>>","<<Arg2>>","<<Arg3>>"]) == set(["<<Const10>>","<<Const20>>","<<Const20>>"])
- /// CHECK-START: int Main.$noinline$testDoubleDiamondSameValueButNotAllInner(boolean, boolean) select_generator (after)
+ /// CHECK-START: int Main.$noinline$testDoubleDiamondSameValueButNotAllInner(boolean, boolean) code_flow_simplifier (after)
/// CHECK-DAG: <<Bool1:z\d+>> ParameterValue
/// CHECK-DAG: <<Bool2:z\d+>> ParameterValue
/// CHECK-DAG: <<Const10:i\d+>> IntConstant 10
@@ -156,7 +156,7 @@ public class Main {
// Check that we generate a select for a double diamond pattern, with a all different values.
- /// CHECK-START: int Main.$noinline$testDoubleDiamondDifferentValue(boolean, boolean) select_generator (before)
+ /// CHECK-START: int Main.$noinline$testDoubleDiamondDifferentValue(boolean, boolean) code_flow_simplifier (before)
/// CHECK-DAG: <<Const10:i\d+>> IntConstant 10
/// CHECK-DAG: <<Const20:i\d+>> IntConstant 20
/// CHECK-DAG: <<Const30:i\d+>> IntConstant 30
@@ -164,7 +164,7 @@ public class Main {
/// CHECK-DAG: Return [<<Phi>>]
/// CHECK-EVAL: set(["<<Arg1>>","<<Arg2>>","<<Arg3>>"]) == set(["<<Const10>>","<<Const20>>","<<Const30>>"])
- /// CHECK-START: int Main.$noinline$testDoubleDiamondDifferentValue(boolean, boolean) select_generator (after)
+ /// CHECK-START: int Main.$noinline$testDoubleDiamondDifferentValue(boolean, boolean) code_flow_simplifier (after)
/// CHECK-DAG: <<Bool1:z\d+>> ParameterValue
/// CHECK-DAG: <<Bool2:z\d+>> ParameterValue
/// CHECK-DAG: <<Const10:i\d+>> IntConstant 10
@@ -200,7 +200,7 @@ public class Main {
/// CHECK: Return [<<Const10>>]
/// CHECK: Return [<<Const10>>]
- /// CHECK-START: int Main.$noinline$testSimpleDiamondSameValueWithReturn(boolean) select_generator (after)
+ /// CHECK-START: int Main.$noinline$testSimpleDiamondSameValueWithReturn(boolean) code_flow_simplifier (after)
/// CHECK-DAG: <<Bool:z\d+>> ParameterValue
/// CHECK-DAG: <<Const10:i\d+>> IntConstant 10
/// CHECK-DAG: <<Select:i\d+>> Select [<<Const10>>,<<Const10>>,<<Bool>>]
@@ -222,13 +222,13 @@ public class Main {
// Same as testSimpleDiamondDifferentValue, but branches return.
- /// CHECK-START: int Main.$noinline$testSimpleDiamondDifferentValueWithReturn(boolean) select_generator (before)
+ /// CHECK-START: int Main.$noinline$testSimpleDiamondDifferentValueWithReturn(boolean) code_flow_simplifier (before)
/// CHECK-DAG: <<Const10:i\d+>> IntConstant 10
/// CHECK-DAG: <<Const20:i\d+>> IntConstant 20
/// CHECK-DAG: Return [<<Const10>>]
/// CHECK-DAG: Return [<<Const20>>]
- /// CHECK-START: int Main.$noinline$testSimpleDiamondDifferentValueWithReturn(boolean) select_generator (after)
+ /// CHECK-START: int Main.$noinline$testSimpleDiamondDifferentValueWithReturn(boolean) code_flow_simplifier (after)
/// CHECK-DAG: <<Bool:z\d+>> ParameterValue
/// CHECK-DAG: <<Const10:i\d+>> IntConstant 10
/// CHECK-DAG: <<Const20:i\d+>> IntConstant 20
@@ -249,7 +249,7 @@ public class Main {
/// CHECK: Return [<<Const10>>]
/// CHECK: Return [<<Const10>>]
- /// CHECK-START: int Main.$noinline$testDoubleDiamondSameValueWithReturn(boolean, boolean) select_generator (after)
+ /// CHECK-START: int Main.$noinline$testDoubleDiamondSameValueWithReturn(boolean, boolean) code_flow_simplifier (after)
/// CHECK-DAG: <<Bool1:z\d+>> ParameterValue
/// CHECK-DAG: <<Bool2:z\d+>> ParameterValue
/// CHECK-DAG: <<Const10:i\d+>> IntConstant 10
@@ -278,7 +278,7 @@ public class Main {
// Same as testDoubleDiamondSameValueButNotAllOuter, but branches return.
- /// CHECK-START: int Main.$noinline$testDoubleDiamondSameValueButNotAllOuterWithReturn(boolean, boolean) select_generator (before)
+ /// CHECK-START: int Main.$noinline$testDoubleDiamondSameValueButNotAllOuterWithReturn(boolean, boolean) code_flow_simplifier (before)
/// CHECK-DAG: <<Const10:i\d+>> IntConstant 10
/// CHECK-DAG: <<Const20:i\d+>> IntConstant 20
/// CHECK-DAG: Return [<<Const10>>]
@@ -286,12 +286,12 @@ public class Main {
/// CHECK-DAG: Return [<<Const20>>]
// Note that we have 3 returns as D8 only merges when the line positions are equal.
- /// CHECK-START: int Main.$noinline$testDoubleDiamondSameValueButNotAllOuterWithReturn(boolean, boolean) select_generator (before)
+ /// CHECK-START: int Main.$noinline$testDoubleDiamondSameValueButNotAllOuterWithReturn(boolean, boolean) code_flow_simplifier (before)
/// CHECK: Return
/// CHECK: Return
/// CHECK: Return
- /// CHECK-START: int Main.$noinline$testDoubleDiamondSameValueButNotAllOuterWithReturn(boolean, boolean) select_generator (after)
+ /// CHECK-START: int Main.$noinline$testDoubleDiamondSameValueButNotAllOuterWithReturn(boolean, boolean) code_flow_simplifier (after)
/// CHECK-DAG: <<Bool1:z\d+>> ParameterValue
/// CHECK-DAG: <<Bool2:z\d+>> ParameterValue
/// CHECK-DAG: <<Const10:i\d+>> IntConstant 10
@@ -313,14 +313,14 @@ public class Main {
// Same as testDoubleDiamondSameValueButNotAllInner, but branches return.
- /// CHECK-START: int Main.$noinline$testDoubleDiamondSameValueButNotAllInnerWithReturn(boolean, boolean) select_generator (before)
+ /// CHECK-START: int Main.$noinline$testDoubleDiamondSameValueButNotAllInnerWithReturn(boolean, boolean) code_flow_simplifier (before)
/// CHECK-DAG: <<Const10:i\d+>> IntConstant 10
/// CHECK-DAG: <<Const20:i\d+>> IntConstant 20
/// CHECK-DAG: Return [<<Const10>>]
/// CHECK-DAG: Return [<<Const20>>]
/// CHECK-DAG: Return [<<Const20>>]
- /// CHECK-START: int Main.$noinline$testDoubleDiamondSameValueButNotAllInnerWithReturn(boolean, boolean) select_generator (after)
+ /// CHECK-START: int Main.$noinline$testDoubleDiamondSameValueButNotAllInnerWithReturn(boolean, boolean) code_flow_simplifier (after)
/// CHECK-DAG: <<Bool1:z\d+>> ParameterValue
/// CHECK-DAG: <<Bool2:z\d+>> ParameterValue
/// CHECK-DAG: <<Const10:i\d+>> IntConstant 10
@@ -342,7 +342,7 @@ public class Main {
// Same as testDoubleDiamondDifferentValue, but branches return.
- /// CHECK-START: int Main.$noinline$testDoubleDiamondDifferentValueWithReturn(boolean, boolean) select_generator (before)
+ /// CHECK-START: int Main.$noinline$testDoubleDiamondDifferentValueWithReturn(boolean, boolean) code_flow_simplifier (before)
/// CHECK-DAG: <<Const10:i\d+>> IntConstant 10
/// CHECK-DAG: <<Const20:i\d+>> IntConstant 20
/// CHECK-DAG: <<Const30:i\d+>> IntConstant 30
@@ -350,7 +350,7 @@ public class Main {
/// CHECK-DAG: Return [<<Const20>>]
/// CHECK-DAG: Return [<<Const30>>]
- /// CHECK-START: int Main.$noinline$testDoubleDiamondDifferentValueWithReturn(boolean, boolean) select_generator (after)
+ /// CHECK-START: int Main.$noinline$testDoubleDiamondDifferentValueWithReturn(boolean, boolean) code_flow_simplifier (after)
/// CHECK-DAG: <<Bool1:z\d+>> ParameterValue
/// CHECK-DAG: <<Bool2:z\d+>> ParameterValue
/// CHECK-DAG: <<Const10:i\d+>> IntConstant 10
diff --git a/test/850-checker-branches/smali/TestCase.smali b/test/850-checker-branches/smali/TestCase.smali
index 1c9dc50b0b..786b4304f0 100644
--- a/test/850-checker-branches/smali/TestCase.smali
+++ b/test/850-checker-branches/smali/TestCase.smali
@@ -16,7 +16,7 @@
.super Ljava/lang/Object;
-## CHECK-START: int TestCase.withBranch(boolean) select_generator (before)
+## CHECK-START: int TestCase.withBranch(boolean) code_flow_simplifier (before)
## CHECK: If true_count:2 false_count:1
.method public static withBranch(Z)I
.registers 2