aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDan Gohman <gohman@apple.com>2009-01-21 20:50:09 +0000
committerDan Gohman <gohman@apple.com>2009-01-21 20:50:09 +0000
commit9ad136c851e0a66eb471573aac9fec47d53a61ba (patch)
tree6e697f58bd4aa493c99e91e2526418b56c11f6a0
parent541ed9fd02ea48d2739f4a9dd681ba2d5da26886 (diff)
downloadexternal_llvm-9ad136c851e0a66eb471573aac9fec47d53a61ba.zip
external_llvm-9ad136c851e0a66eb471573aac9fec47d53a61ba.tar.gz
external_llvm-9ad136c851e0a66eb471573aac9fec47d53a61ba.tar.bz2
Add a comment to SelectionDAG::ReplaceAllUsesWith to describe a subtle
iteraction with SelectionDAG CSE. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62713 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--include/llvm/CodeGen/SelectionDAG.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/include/llvm/CodeGen/SelectionDAG.h b/include/llvm/CodeGen/SelectionDAG.h
index d7802d3..f93b620 100644
--- a/include/llvm/CodeGen/SelectionDAG.h
+++ b/include/llvm/CodeGen/SelectionDAG.h
@@ -680,6 +680,11 @@ public:
/// informed about nodes that are deleted and modified due to recursive
/// changes in the dag.
///
+ /// These functions only replace all existing uses. It's possible that as
+ /// these replacements are being performed, CSE may cause the From node
+ /// to be given new uses. These new uses of From are left in place, and
+ /// not automatically transfered to To.
+ ///
void ReplaceAllUsesWith(SDValue From, SDValue Op,
DAGUpdateListener *UpdateListener = 0);
void ReplaceAllUsesWith(SDNode *From, SDNode *To,