• Manos Koukoutos's avatar
    [turbofan] Separate BranchElimination and CsaLoadElimination · a41c0c67
    Manos Koukoutos authored
    BranchElimination and CsaLoadElimination interracted badly and created
    quadratic behavior when run together. This happened when
    CsaLoadElimination kept updating arguments of a Merge, and
    BranchElimination kept going through all of them to find the common
    prefix of all path conditions. Therefore, we separate BranchElimination
    and CsaLoadElimination in the csa and wasm optimization pipelines.
    
    Additional changes:
    - Split WasmOptimizationPhase from CsaOptimizationPhase.
    - Remove now-redundant argument from CsaOptimizationPhase::Run.
    - Fine-grain how statistics are measured in the wasm pipeline.
    
    Change-Id: Id166f4f7d1ea69a1a7b7ca108af4ffedbcda8abb
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2912779
    Commit-Queue: Manos Koukoutos <manoskouk@chromium.org>
    Reviewed-by: 's avatarGeorg Neis <neis@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#74779}
    a41c0c67
runtime-call-stats.h 35.6 KB