From 7a24cdc4ed5c357e9de4e36a39379e0aa67f6f9c Mon Sep 17 00:00:00 2001 From: Dan Gohman Date: Sun, 27 Jul 2008 17:44:52 +0000 Subject: [PATCH] Improve comments for SDNode use-count methods. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54123 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/CodeGen/SelectionDAGNodes.h | 31 ++++++++++++++++-------- 1 file changed, 21 insertions(+), 10 deletions(-) diff --git a/include/llvm/CodeGen/SelectionDAGNodes.h b/include/llvm/CodeGen/SelectionDAGNodes.h index 78897cbbdd3..147b9772de5 100644 --- a/include/llvm/CodeGen/SelectionDAGNodes.h +++ b/include/llvm/CodeGen/SelectionDAGNodes.h @@ -858,13 +858,15 @@ public: bool reachesChainWithoutSideEffects(SDOperand Dest, unsigned Depth = 2) const; - /// hasOneUse - Return true if there is exactly one operation using this - /// result value of the defining operator. - inline bool hasOneUse() const; - - /// use_empty - Return true if there are no operations using this - /// result value of the defining operator. + /// use_empty - Return true if there are no nodes using value ResNo + /// of node Val. + /// inline bool use_empty() const; + + /// use_empty - Return true if there is exactly one node using value + /// ResNo of node Val. + /// + inline bool hasOneUse() const; }; @@ -1096,12 +1098,21 @@ public: return ~NodeType; } - size_t use_size() const { return std::distance(use_begin(), use_end()); } + /// use_empty - Return true if there are no uses of this value. + /// bool use_empty() const { return Uses == NULL; } + + /// hasOneUse - Return true if there is exactly one use of this value. + /// bool hasOneUse() const { return !use_empty() && next(use_begin()) == use_end(); } + /// use_size - Return the number of uses of this value. This method takes + /// time proportional to the number of uses. + /// + size_t use_size() const { return std::distance(use_begin(), use_end()); } + /// getNodeId - Return the unique node id. /// int getNodeId() const { return NodeId; } @@ -1373,12 +1384,12 @@ inline bool SDOperand::isMachineOpcode() const { inline unsigned SDOperand::getMachineOpcode() const { return Val->getMachineOpcode(); } -inline bool SDOperand::hasOneUse() const { - return Val->hasNUsesOfValue(1, ResNo); -} inline bool SDOperand::use_empty() const { return !Val->hasAnyUseOfValue(ResNo); } +inline bool SDOperand::hasOneUse() const { + return Val->hasNUsesOfValue(1, ResNo); +} /// UnarySDNode - This class is used for single-operand SDNodes. This is solely /// to allow co-allocation of node operands with the node itself. -- 2.34.1