Revert "ART: Refactor SsaBuilder for more precise typing info"

This reverts commit d9510dfc32349eeb4f2145c801f7ba1d5bccfb12.

Bug: 26208284

Bug: 24252151
Bug: 24252100
Bug: 22538329
Bug: 25786318

Change-Id: I5f491becdf076ff51d437d490405ec4e1586c010
diff --git a/compiler/optimizing/ssa_test.cc b/compiler/optimizing/ssa_test.cc
index d2885a8..024278f 100644
--- a/compiler/optimizing/ssa_test.cc
+++ b/compiler/optimizing/ssa_test.cc
@@ -28,8 +28,6 @@
 
 namespace art {
 
-class SsaTest : public CommonCompilerTest {};
-
 class SsaPrettyPrinter : public HPrettyPrinter {
  public:
   explicit SsaPrettyPrinter(HGraph* graph) : HPrettyPrinter(graph), str_("") {}
@@ -85,10 +83,11 @@
   bool graph_built = builder.BuildGraph(*item);
   ASSERT_TRUE(graph_built);
 
-  TransformToSsa(graph);
+  graph->BuildDominatorTree();
   // Suspend checks implementation may change in the future, and this test relies
   // on how instructions are ordered.
   RemoveSuspendChecks(graph);
+  graph->TransformToSsa();
   ReNumberInstructions(graph);
 
   // Test that phis had their type set.
@@ -104,7 +103,7 @@
   ASSERT_STREQ(expected, printer.str().c_str());
 }
 
-TEST_F(SsaTest, CFG1) {
+TEST(SsaTest, CFG1) {
   // Test that we get rid of loads and stores.
   const char* expected =
     "BasicBlock 0, succ: 1\n"
@@ -132,7 +131,7 @@
   TestCode(data, expected);
 }
 
-TEST_F(SsaTest, CFG2) {
+TEST(SsaTest, CFG2) {
   // Test that we create a phi for the join block of an if control flow instruction
   // when there is only code in the else branch.
   const char* expected =
@@ -163,7 +162,7 @@
   TestCode(data, expected);
 }
 
-TEST_F(SsaTest, CFG3) {
+TEST(SsaTest, CFG3) {
   // Test that we create a phi for the join block of an if control flow instruction
   // when both branches update a local.
   const char* expected =
@@ -196,7 +195,7 @@
   TestCode(data, expected);
 }
 
-TEST_F(SsaTest, Loop1) {
+TEST(SsaTest, Loop1) {
   // Test that we create a phi for an initialized local at entry of a loop.
   const char* expected =
     "BasicBlock 0, succ: 1\n"
@@ -229,7 +228,7 @@
   TestCode(data, expected);
 }
 
-TEST_F(SsaTest, Loop2) {
+TEST(SsaTest, Loop2) {
   // Simple loop with one preheader and one back edge.
   const char* expected =
     "BasicBlock 0, succ: 1\n"
@@ -259,7 +258,7 @@
   TestCode(data, expected);
 }
 
-TEST_F(SsaTest, Loop3) {
+TEST(SsaTest, Loop3) {
   // Test that a local not yet defined at the entry of a loop is handled properly.
   const char* expected =
     "BasicBlock 0, succ: 1\n"
@@ -291,7 +290,7 @@
   TestCode(data, expected);
 }
 
-TEST_F(SsaTest, Loop4) {
+TEST(SsaTest, Loop4) {
   // Make sure we support a preheader of a loop not being the first predecessor
   // in the predecessor list of the header.
   const char* expected =
@@ -326,7 +325,7 @@
   TestCode(data, expected);
 }
 
-TEST_F(SsaTest, Loop5) {
+TEST(SsaTest, Loop5) {
   // Make sure we create a preheader of a loop when a header originally has two
   // incoming blocks and one back edge.
   const char* expected =
@@ -368,7 +367,7 @@
   TestCode(data, expected);
 }
 
-TEST_F(SsaTest, Loop6) {
+TEST(SsaTest, Loop6) {
   // Test a loop with one preheader and two back edges (e.g. continue).
   const char* expected =
     "BasicBlock 0, succ: 1\n"
@@ -407,7 +406,7 @@
   TestCode(data, expected);
 }
 
-TEST_F(SsaTest, Loop7) {
+TEST(SsaTest, Loop7) {
   // Test a loop with one preheader, one back edge, and two exit edges (e.g. break).
   const char* expected =
     "BasicBlock 0, succ: 1\n"
@@ -449,7 +448,7 @@
   TestCode(data, expected);
 }
 
-TEST_F(SsaTest, DeadLocal) {
+TEST(SsaTest, DeadLocal) {
   // Test that we correctly handle a local not being used.
   const char* expected =
     "BasicBlock 0, succ: 1\n"
@@ -467,7 +466,7 @@
   TestCode(data, expected);
 }
 
-TEST_F(SsaTest, LocalInIf) {
+TEST(SsaTest, LocalInIf) {
   // Test that we do not create a phi in the join block when one predecessor
   // does not update the local.
   const char* expected =
@@ -497,7 +496,7 @@
   TestCode(data, expected);
 }
 
-TEST_F(SsaTest, MultiplePredecessors) {
+TEST(SsaTest, MultiplePredecessors) {
   // Test that we do not create a phi when one predecessor
   // does not update the local.
   const char* expected =