diff options
author | Gabor Greif <ggreif@gmail.com> | 2008-08-26 22:36:50 +0000 |
---|---|---|
committer | Gabor Greif <ggreif@gmail.com> | 2008-08-26 22:36:50 +0000 |
commit | 99a6cb92d173c142073416c81efe6d3daeb80b49 (patch) | |
tree | 6bb72e831f77e338e8be827a61363847b91723b5 /include/llvm/CodeGen/SelectionDAGNodes.h | |
parent | 13269335a55395f2914c81ddb2401524abb4fa5e (diff) |
disallow direct access to SDValue::ResNo, provide a getter instead
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55394 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/CodeGen/SelectionDAGNodes.h')
-rw-r--r-- | include/llvm/CodeGen/SelectionDAGNodes.h | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/include/llvm/CodeGen/SelectionDAGNodes.h b/include/llvm/CodeGen/SelectionDAGNodes.h index 5fe9647a0a..b509667528 100644 --- a/include/llvm/CodeGen/SelectionDAGNodes.h +++ b/include/llvm/CodeGen/SelectionDAGNodes.h @@ -811,11 +811,15 @@ namespace ISD { class SDValue { public: SDNode *Val; // The node defining the value we are using. +private: unsigned ResNo; // Which return value of the node we are using. - +public: SDValue() : Val(0), ResNo(0) {} SDValue(SDNode *val, unsigned resno) : Val(val), ResNo(resno) {} + /// get the index which selects a specific result in the SDNode + unsigned getResNo() const { return ResNo; } + bool operator==(const SDValue &O) const { return Val == O.Val && ResNo == O.ResNo; } @@ -882,7 +886,7 @@ template<> struct DenseMapInfo<SDValue> { } static unsigned getHashValue(const SDValue &Val) { return ((unsigned)((uintptr_t)Val.Val >> 4) ^ - (unsigned)((uintptr_t)Val.Val >> 9)) + Val.ResNo; + (unsigned)((uintptr_t)Val.Val >> 9)) + Val.getResNo(); } static bool isEqual(const SDValue &LHS, const SDValue &RHS) { return LHS == RHS; |