summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorEvan Cheng <evan.cheng@apple.com>2007-01-31 09:29:11 +0000
committerEvan Cheng <evan.cheng@apple.com>2007-01-31 09:29:11 +0000
commitd385fd62cb43435b3ad70d789198d34bf148e579 (patch)
tree4c9b22c9a5ac109a37aa496486177e4549027137 /include
parent991d3616c8383688f1acf443cc698edef850da4d (diff)
downloadllvm-d385fd62cb43435b3ad70d789198d34bf148e579.tar.gz
llvm-d385fd62cb43435b3ad70d789198d34bf148e579.tar.bz2
llvm-d385fd62cb43435b3ad70d789198d34bf148e579.tar.xz
Allow the target to override the ISD::CondCode that's to be used to test the
result of the comparison libcall against zero. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33701 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include')
-rw-r--r--include/llvm/Target/TargetLowering.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/include/llvm/Target/TargetLowering.h b/include/llvm/Target/TargetLowering.h
index 35fa59e379..51828d9728 100644
--- a/include/llvm/Target/TargetLowering.h
+++ b/include/llvm/Target/TargetLowering.h
@@ -855,6 +855,18 @@ public:
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 @@ private:
///
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