Optimizing: Add `HInstruction::As##type()`.

After the old implementation was renamed in
    https://android-review.googlesource.com/2526708 ,
we introduce a new function with the old name but new
behavior, just `DCHECK()`-ing the instruction kind before
casting down the pointer. We change appropriate calls from
`As##type##OrNull()` to `As##type()` to avoid unncessary
run-time checks and reduce the size of libart-compiler.so.

Test: m test-art-host-gtest
Test: testrunner.py --host --optimizing
Test: run-gtests.sh
Test: testrunner.py --target --optimizing
Bug: 181943478
Change-Id: I025681612a77ca2157fed4886ca47f2053975d4e
diff --git a/compiler/optimizing/scheduler.cc b/compiler/optimizing/scheduler.cc
index 299418a..1cdc98a 100644
--- a/compiler/optimizing/scheduler.cc
+++ b/compiler/optimizing/scheduler.cc
@@ -150,8 +150,7 @@
   DCHECK(heap_location_collector_ != nullptr);
 
   HInstruction* ref = instr->IsPredicatedInstanceFieldGet()
-      // TODO: Remove "OrNull".
-      ? instr->AsPredicatedInstanceFieldGetOrNull()->GetTarget()
+      ? instr->AsPredicatedInstanceFieldGet()->GetTarget()
       : instr->InputAt(0);
   size_t heap_loc = heap_location_collector_->GetFieldHeapLocation(ref, GetFieldInfo(instr));
   // This field access should be analyzed and added to HeapLocationCollector before.
@@ -491,11 +490,9 @@
   DCHECK(instruction != nullptr);
 
   if (instruction->IsIf()) {
-    // TODO: Remove first "OrNull", keep the second.
-    condition = instruction->AsIfOrNull()->InputAt(0)->AsConditionOrNull();
+    condition = instruction->AsIf()->InputAt(0)->AsConditionOrNull();
   } else if (instruction->IsSelect()) {
-    // TODO: Remove first "OrNull", keep the second.
-    condition = instruction->AsSelectOrNull()->GetCondition()->AsConditionOrNull();
+    condition = instruction->AsSelect()->GetCondition()->AsConditionOrNull();
   }
 
   SchedulingNode* condition_node = (condition != nullptr) ? graph.GetNode(condition) : nullptr;
@@ -736,15 +733,10 @@
          instruction->IsClassTableGet() ||
          instruction->IsCurrentMethod() ||
          instruction->IsDivZeroCheck() ||
-         (instruction->IsInstanceFieldGet() &&
-          // TODO: Remove "OrNull".
-          !instruction->AsInstanceFieldGetOrNull()->IsVolatile()) ||
+         (instruction->IsInstanceFieldGet() && !instruction->AsInstanceFieldGet()->IsVolatile()) ||
          (instruction->IsPredicatedInstanceFieldGet() &&
-          // TODO: Remove "OrNull".
-          !instruction->AsPredicatedInstanceFieldGetOrNull()->IsVolatile()) ||
-         (instruction->IsInstanceFieldSet() &&
-          // TODO: Remove "OrNull".
-          !instruction->AsInstanceFieldSetOrNull()->IsVolatile()) ||
+          !instruction->AsPredicatedInstanceFieldGet()->IsVolatile()) ||
+         (instruction->IsInstanceFieldSet() && !instruction->AsInstanceFieldSet()->IsVolatile()) ||
          instruction->IsInstanceOf() ||
          instruction->IsInvokeInterface() ||
          instruction->IsInvokeStaticOrDirect() ||
@@ -760,12 +752,8 @@
          instruction->IsReturn() ||
          instruction->IsReturnVoid() ||
          instruction->IsSelect() ||
-         (instruction->IsStaticFieldGet() &&
-          // TODO: Remove "OrNull".
-          !instruction->AsStaticFieldGetOrNull()->IsVolatile()) ||
-         (instruction->IsStaticFieldSet() &&
-          // TODO: Remove "OrNull".
-          !instruction->AsStaticFieldSetOrNull()->IsVolatile()) ||
+         (instruction->IsStaticFieldGet() && !instruction->AsStaticFieldGet()->IsVolatile()) ||
+         (instruction->IsStaticFieldSet() && !instruction->AsStaticFieldSet()->IsVolatile()) ||
          instruction->IsSuspendCheck() ||
          instruction->IsTypeConversion();
 }