• fpizlo@apple.com's avatar
    Rationalize DFG DCE · 9775655d
    fpizlo@apple.com authored
    https://bugs.webkit.org/show_bug.cgi?id=125523
    
    Reviewed by Mark Hahnenberg.
            
    Adds the ability to DCE more things. It's now the case that if a node is completely
    pure, we clear NodeMustGenerate and the node becomes a DCE candidate.
    
    * dfg/DFGAbstractInterpreterInlines.h:
    (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
    * dfg/DFGCSEPhase.cpp:
    (JSC::DFG::CSEPhase::performNodeCSE):
    * dfg/DFGClobberize.h:
    (JSC::DFG::clobberize):
    * dfg/DFGDCEPhase.cpp:
    (JSC::DFG::DCEPhase::cleanVariables):
    * dfg/DFGFixupPhase.cpp:
    (JSC::DFG::FixupPhase::fixupNode):
    * dfg/DFGGraph.h:
    (JSC::DFG::Graph::clobbersWorld):
    * dfg/DFGNodeType.h:
    * dfg/DFGSpeculativeJIT.cpp:
    (JSC::DFG::SpeculativeJIT::compileAdd):
    * dfg/DFGSpeculativeJIT.h:
    * dfg/DFGSpeculativeJIT32_64.cpp:
    (JSC::DFG::SpeculativeJIT::compile):
    * dfg/DFGSpeculativeJIT64.cpp:
    (JSC::DFG::SpeculativeJIT::compile):
    * ftl/FTLLowerDFGToLLVM.cpp:
    (JSC::FTL::LowerDFGToLLVM::compileNode):
    (JSC::FTL::LowerDFGToLLVM::compileValueAdd):
    
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161218 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    9775655d
DFGDCEPhase.cpp 10 KB