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

Evan Cheng evan.cheng at apple.com
Wed May 23 00:20:12 PDT 2007



Changes in directory llvm/include/llvm/Target:

TargetInstrInfo.h updated: 1.123 -> 1.124
---
Log message:

Add a couple of target hooks for predication.

---
Diffs of the changes:  (+14 -1)

 TargetInstrInfo.h |   15 ++++++++++++++-
 1 files changed, 14 insertions(+), 1 deletion(-)


Index: llvm/include/llvm/Target/TargetInstrInfo.h
diff -u llvm/include/llvm/Target/TargetInstrInfo.h:1.123 llvm/include/llvm/Target/TargetInstrInfo.h:1.124
--- llvm/include/llvm/Target/TargetInstrInfo.h:1.123	Mon May 21 20:21:58 2007
+++ llvm/include/llvm/Target/TargetInstrInfo.h	Wed May 23 02:19:12 2007
@@ -393,10 +393,23 @@
     abort();
   }
 
+  /// isPredicable - Returns true if the instruction is already predicated.
+  ///
+  virtual bool isPredicated(MachineInstr *MI) const {
+    return false;
+  }
+
   /// PredicateInstruction - Convert the instruction into a predicated
   /// instruction. It returns true if the operation was successful.
   virtual bool PredicateInstruction(MachineInstr *MI,
-                                    std::vector<MachineOperand> &Cond) const;
+                                    std::vector<MachineOperand> &Pred) const;
+
+  /// SubsumesPredicate - Returns true if the first specified predicated
+  /// subsumes the second, e.g. GE subsumes GT.
+  virtual bool SubsumesPredicate(std::vector<MachineOperand> &Pred1,
+                                 std::vector<MachineOperand> &Pred2) const {
+    return false;
+  }
 
   /// getPointerRegClass - Returns a TargetRegisterClass used for pointer
   /// values.






More information about the llvm-commits mailing list