Rename MachineInstr::getInstrDescriptor -> getDesc(), which reflects
that it is cheap and efficient to get.

Move a variety of predicates from TargetInstrInfo into 
TargetInstrDescriptor, which makes it much easier to query a predicate
when you don't have TII around.  Now you can use MI->getDesc()->isBranch()
instead of going through TII, and this is much more efficient anyway. Not
all of the predicates have been moved over yet.

Update old code that used MI->getInstrDescriptor()->Flags to use the
new predicates in many places.




git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45674 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/CodeGen/MachineBasicBlock.cpp b/lib/CodeGen/MachineBasicBlock.cpp
index 7f93185..d2dcd38 100644
--- a/lib/CodeGen/MachineBasicBlock.cpp
+++ b/lib/CodeGen/MachineBasicBlock.cpp
@@ -131,11 +131,10 @@
 }
 
 MachineBasicBlock::iterator MachineBasicBlock::getFirstTerminator() {
-  const TargetInstrInfo& TII = *getParent()->getTarget().getInstrInfo();
   iterator I = end();
-  while (I != begin() && TII.isTerminatorInstr((--I)->getOpcode()))
+  while (I != begin() && (--I)->getDesc()->isTerminator())
     ; /*noop */
-  if (I != end() && !TII.isTerminatorInstr(I->getOpcode())) ++I;
+  if (I != end() && !I->getDesc()->isTerminator()) ++I;
   return I;
 }
 
@@ -262,7 +261,7 @@
   MachineBasicBlock::iterator I = end();
   while (I != begin()) {
     --I;
-    if (!(I->getInstrDescriptor()->Flags & M_TERMINATOR_FLAG)) break;
+    if (!I->getDesc()->isTerminator()) break;
 
     // Scan the operands of this machine instruction, replacing any uses of Old
     // with New.