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
This commit is contained in:
Gabor Greif
2008-08-26 22:36:50 +00:00
parent 13269335a5
commit 99a6cb92d1
17 changed files with 77 additions and 73 deletions

View File

@@ -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;