Oy! When reverting r68073, I added in experimental code. Sorry...
[oota-llvm.git] / include / llvm / CodeGen / MachineBasicBlock.h
index 1ba7e798f832d602f5686a2f8b08ce6322fa3198..f962273d2beedfcededcfb8d49774495451fe266 100644 (file)
@@ -253,6 +253,15 @@ public:
   /// it returns end()
   iterator getFirstTerminator();
 
+  /// isOnlyReachableViaFallthough - Return true if this basic block has
+  /// exactly one predecessor and the control transfer mechanism between
+  /// the predecessor and this block is a fall-through.
+  bool isOnlyReachableByFallthrough() const {
+    return !pred_empty() &&
+           next(pred_begin()) == pred_end() &&
+           (*pred_begin())->getFirstTerminator() == (*pred_begin())->end();
+  }
+
   void pop_front() { Insts.pop_front(); }
   void pop_back() { Insts.pop_back(); }
   void push_back(MachineInstr *MI) { Insts.push_back(MI); }