[llvm-commits] CVS: llvm/include/llvm/Target/TargetInstrInfo.h

Chris Lattner sabre at nondot.org
Sat Oct 28 10:30:11 PDT 2006



Changes in directory llvm/include/llvm/Target:

TargetInstrInfo.h updated: 1.98 -> 1.99
---
Log message:

add another target hook for branch folding.


---
Diffs of the changes:  (+8 -0)

 TargetInstrInfo.h |    8 ++++++++
 1 files changed, 8 insertions(+)


Index: llvm/include/llvm/Target/TargetInstrInfo.h
diff -u llvm/include/llvm/Target/TargetInstrInfo.h:1.98 llvm/include/llvm/Target/TargetInstrInfo.h:1.99
--- llvm/include/llvm/Target/TargetInstrInfo.h:1.98	Tue Oct 24 12:41:22 2006
+++ llvm/include/llvm/Target/TargetInstrInfo.h	Sat Oct 28 12:29:57 2006
@@ -318,6 +318,14 @@
     assert(0 && "Target didn't implement TargetInstrInfo::InsertBranch!"); 
   }
   
+  /// BlockHasNoFallThrough - Return true if the specified block does not
+  /// fall-through into its successor block.  This is primarily used when a
+  /// branch is unanalyzable.  It is useful for things like unconditional
+  /// indirect branches (jump tables).
+  virtual bool BlockHasNoFallThrough(MachineBasicBlock &MBB) const {
+    return false;
+  }
+  
   /// ReverseBranchCondition - Reverses the branch condition of the specified
   /// condition list, returning false on success and true if it cannot be
   /// reversed.






More information about the llvm-commits mailing list