• Jaroslav Sevcik's avatar
    [turbofan] Load elimination prunes control flow based on instance type. · 71bcc1d9
    Jaroslav Sevcik authored
    Changes:
    - introduce the notion of unreachable abstract states.
    
    - reconnect unreachables states to runtime abort in effect phis (so that
      the merged states are not polluted by unreachable branches while
      preserving SSA).
    
    - mark states with failed map checks, unreachable map guars as unreachable.
    
    - add instance type to AbstractMaps, only invalidate instance type on
      mismatched effect merges.
    
    
    This results in 2-3% improvement on ARES/ML steady state.
    
    Bug: v8:6396
    Change-Id: I35b0d4482fa400ba7ee9a754f8ef1b2663ebc7dc
    Reviewed-on: https://chromium-review.googlesource.com/727761Reviewed-by: 's avatarBenedikt Meurer <bmeurer@chromium.org>
    Commit-Queue: Jaroslav Sevcik <jarin@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#48742}
    71bcc1d9
load-elimination.cc 57 KB