diff options
author | Evan Cheng <evan.cheng@apple.com> | 2007-01-31 09:29:11 +0000 |
---|---|---|
committer | Evan Cheng <evan.cheng@apple.com> | 2007-01-31 09:29:11 +0000 |
commit | d385fd62cb43435b3ad70d789198d34bf148e579 (patch) | |
tree | 4c9b22c9a5ac109a37aa496486177e4549027137 /include | |
parent | 991d3616c8383688f1acf443cc698edef850da4d (diff) | |
download | llvm-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.h | 16 |
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 |