From faf4cc2da072a1e90c75c711d3a563bf9726a1e6 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Thu, 29 May 2003 20:26:30 +0000 Subject: Add comment git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6415 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Transforms/Scalar/PRE.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'lib/Transforms/Scalar/PRE.cpp') diff --git a/lib/Transforms/Scalar/PRE.cpp b/lib/Transforms/Scalar/PRE.cpp index 6227a37..3a1239f 100644 --- a/lib/Transforms/Scalar/PRE.cpp +++ b/lib/Transforms/Scalar/PRE.cpp @@ -307,6 +307,17 @@ bool PRE::ProcessExpression(Instruction *Expr) { std::vector Values; VN->getEqualNumberNodes(Expr, Values); +#if 0 + // FIXME: This should handle PHI nodes correctly. To do this, we need to + // consider expressions of the following form equivalent to this set of + // expressions: + // + // If an operand is a PHI node, add any occurances of the expression with the + // PHI operand replaced with the PHI node operands. This is only valid if the + // PHI operand occurances exist in blocks post-dominated by the incoming edge + // of the PHI node. +#endif + // We have to be careful to handle expression definitions which dominated by // other expressions. These can be directly eliminated in favor of their // dominating value. Keep track of which blocks contain definitions (the key) -- cgit v1.1