Add conditional branches, and build dominator tree.

Change-Id: I4b151a07b72692961235a1419b54b6b45cf54e63
diff --git a/compiler/utils/growable_array.h b/compiler/utils/growable_array.h
index b591870..82b6a60 100644
--- a/compiler/utils/growable_array.h
+++ b/compiler/utils/growable_array.h
@@ -161,6 +161,18 @@
 
     size_t Size() const { return num_used_; }
 
+    bool IsEmpty() const { return num_used_ == 0; }
+
+    T Pop() {
+      DCHECK_GE(num_used_, (size_t)0);
+      return elem_list_[--num_used_];
+    }
+
+    T Peek() const {
+      DCHECK_GE(num_used_, (size_t)0);
+      return elem_list_[num_used_ - 1];
+    }
+
     void SetSize(size_t new_size) {
       Resize(new_size);
       num_used_ = new_size;