[llvm-commits] [llvm] r89298 - /llvm/trunk/lib/Transforms/Utils/LoopSimplify.cpp

Jim Grosbach grosbach at apple.com
Wed Nov 18 18:03:18 PST 2009


Author: grosbach
Date: Wed Nov 18 20:03:18 2009
New Revision: 89298

URL: http://llvm.org/viewvc/llvm-project?rev=89298&view=rev
Log:
Eliminate duplicate phi nodes in loops. Loop rotation, for example, can introduce these, and it's beneficial to later passes to clean them up.

Modified:
    llvm/trunk/lib/Transforms/Utils/LoopSimplify.cpp

Modified: llvm/trunk/lib/Transforms/Utils/LoopSimplify.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/Utils/LoopSimplify.cpp?rev=89298&r1=89297&r2=89298&view=diff

==============================================================================
--- llvm/trunk/lib/Transforms/Utils/LoopSimplify.cpp (original)
+++ llvm/trunk/lib/Transforms/Utils/LoopSimplify.cpp Wed Nov 18 20:03:18 2009
@@ -305,6 +305,12 @@
     }
   }
 
+  // If there are duplicate phi nodes (for example, from loop rotation),
+  // get rid of them.
+  for (Loop::block_iterator BB = L->block_begin(), E = L->block_end();
+       BB != E; ++BB)
+    EliminateDuplicatePHINodes(*BB);
+
   return Changed;
 }
 





More information about the llvm-commits mailing list