Ignore:
Timestamp:
Mar 7, 2012, 7:08:36 PM (13 years ago)
Author:
[email protected]
Message:

Eliminate redundant Phis in DFG
https://bugs.webkit.org/show_bug.cgi?id=80415

Reviewed by Filip Pizlo.

Although this may not have any advantage at current stage, this is towards
minimal SSA to make more high level optimizations (like bug 76770) easier.
We have the choices either to build minimal SSA from scratch or to
keep current simple Phi insertion mechanism and remove the redundancy
in another phase. Currently we choose the latter because the change
could be smaller.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • Target.pri:
  • dfg/DFGDriver.cpp:

(JSC::DFG::compile):

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::dump):

  • dfg/DFGRedundantPhiEliminationPhase.cpp: Added.

(DFG):
(RedundantPhiEliminationPhase):
(JSC::DFG::RedundantPhiEliminationPhase::RedundantPhiEliminationPhase):
(JSC::DFG::RedundantPhiEliminationPhase::run):
(JSC::DFG::RedundantPhiEliminationPhase::getRedundantReplacement):
(JSC::DFG::RedundantPhiEliminationPhase::replacePhiChild):
(JSC::DFG::RedundantPhiEliminationPhase::fixupPhis):
(JSC::DFG::RedundantPhiEliminationPhase::updateBlockVariableInformation):
(JSC::DFG::performRedundantPhiElimination):

  • dfg/DFGRedundantPhiEliminationPhase.h: Added.

(DFG):

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/Target.pri

    r109705 r110132  
    104104    dfg/DFGPhase.cpp \
    105105    dfg/DFGPredictionPropagationPhase.cpp \
     106    dfg/DFGRedundantPhiEliminationPhase.cpp \
    106107    dfg/DFGRepatch.cpp \
    107108    dfg/DFGSpeculativeJIT.cpp \
Note: See TracChangeset for help on using the changeset viewer.