forked from OSchip/llvm-project
Add a new argument to ReplaceAllUsesWith to keep track of nodes deleted by
this method llvm-svn: 23254
This commit is contained in:
parent
007c650699
commit
3852fd0e49
|
@ -328,9 +328,16 @@ public:
|
|||
/// version if 'From' is known to have a single result, use the second
|
||||
/// if you have two nodes with identical results, use the third otherwise.
|
||||
///
|
||||
void ReplaceAllUsesWith(SDOperand From, SDOperand Op);
|
||||
void ReplaceAllUsesWith(SDNode *From, SDNode *To);
|
||||
void ReplaceAllUsesWith(SDNode *From, const std::vector<SDOperand> &To);
|
||||
/// These methods all take an optional vector, which (if not null) is
|
||||
/// populated with any nodes that are deleted from the SelectionDAG, due to
|
||||
/// new equivalences that are discovered.
|
||||
///
|
||||
void ReplaceAllUsesWith(SDOperand From, SDOperand Op,
|
||||
std::vector<SDNode*> *Deleted = 0);
|
||||
void ReplaceAllUsesWith(SDNode *From, SDNode *To,
|
||||
std::vector<SDNode*> *Deleted = 0);
|
||||
void ReplaceAllUsesWith(SDNode *From, const std::vector<SDOperand> &To,
|
||||
std::vector<SDNode*> *Deleted = 0);
|
||||
|
||||
|
||||
/// DeleteNode - Remove the specified node from the system. This node must
|
||||
|
@ -343,6 +350,7 @@ private:
|
|||
void RemoveNodeFromCSEMaps(SDNode *N);
|
||||
SDNode *AddNonLeafNodeToCSEMaps(SDNode *N);
|
||||
void DeleteNodeIfDead(SDNode *N, void *NodeSet);
|
||||
void DeleteNodeNotInCSEMaps(SDNode *N);
|
||||
|
||||
/// SimplifySetCC - Try to simplify a setcc built with the specified operands
|
||||
/// and cc. If unable to simplify it, return a null SDOperand.
|
||||
|
|
Loading…
Reference in New Issue