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

Evan Cheng evan.cheng at apple.com
Wed Jan 31 01:29:29 PST 2007



Changes in directory llvm/include/llvm/Target:

TargetLowering.h updated: 1.104 -> 1.105
---
Log message:

Allow the target to override the ISD::CondCode that's to be used to test the
result of the comparison libcall against zero.


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

 TargetLowering.h |   16 ++++++++++++++++
 1 files changed, 16 insertions(+)


Index: llvm/include/llvm/Target/TargetLowering.h
diff -u llvm/include/llvm/Target/TargetLowering.h:1.104 llvm/include/llvm/Target/TargetLowering.h:1.105
--- llvm/include/llvm/Target/TargetLowering.h:1.104	Mon Jan 29 16:58:52 2007
+++ llvm/include/llvm/Target/TargetLowering.h	Wed Jan 31 03:29:11 2007
@@ -855,6 +855,18 @@
     return LibcallRoutineNames[Call];
   }
 
+  /// setCmpLibcallCC - Override the default CondCode to be used to test the
+  /// result of the comparison libcall against zero.
+  void setCmpLibcallCC(RTLIB::Libcall Call, ISD::CondCode CC) {
+    CmpLibcallCCs[Call] = CC;
+  }
+
+  /// getCmpLibcallCC - Get the CondCode that's to be used to test the result of
+  /// the comparison libcall against zero.
+  ISD::CondCode getCmpLibcallCC(RTLIB::Libcall Call) const {
+    return CmpLibcallCCs[Call];
+  }
+
 protected:
   /// addLegalAddressScale - Add a integer (> 1) value which can be used as
   /// scale in the target addressing mode. Note: the ordering matters so the
@@ -992,6 +1004,10 @@
   ///
   const char *LibcallRoutineNames[RTLIB::UNKNOWN_LIBCALL];
 
+  /// CmpLibcallCCs - The ISD::CondCode that should be used to test the result
+  /// of each of the comparison libcall against zero.
+  ISD::CondCode CmpLibcallCCs[RTLIB::UNKNOWN_LIBCALL];
+
 protected:
   /// When lowering %llvm.memset this field specifies the maximum number of
   /// store operations that may be substituted for the call to memset. Targets






More information about the llvm-commits mailing list