[llvm-commits] [llvm] r72325 - in /llvm/trunk: include/llvm/CodeGen/SelectionDAG.h lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp

Duncan Sands baldrick at free.fr
Wed May 27 02:22:43 PDT 2009


Hi Chris,

> The first one is just assertions, but yes I agree that the type  
> legalizer is really complex.  A lot of this is because we don't have a  
> callbackvh equivalent to remove processed nodes from the various maps  
> that legalizetypes keeps, and have no callback that is notified when  
> new nodes are created.

most of the pain comes from CSE, which causes nodes to pop up again
in the most surprising places.  The comments in PerformExpensiveChecks
describe some of the oddities that can occur.  Some of these would go
away if N is deleted after CSE or RAUW transforms N -> M.  Easy to do
with callbackvh.

Ciao,

Duncan.



More information about the llvm-commits mailing list