• Tobias Tebbi's avatar
    Reland "[turbofan] eagerly prune None types and deadness from the graph" · 3c4bc27f
    Tobias Tebbi authored
    This is a reland of e1cdda25
    Original change's description:
    > [turbofan] eagerly prune None types and deadness from the graph
    > 
    > In addition to using the {Dead} node to prune dead control nodes and nodes that 
    > depend on them, we introduce a {DeadValue} node representing an impossible value 
    > that can occur at any position in the graph. The extended {DeadCodeElimination}
    > prunes {DeadValue} and its uses, inserting a crashing {Unreachable} node into
    > the effect chain when possible. The remaining uses of {DeadValue} are handled
    > in {EffectControlLinearizer}, where we always have access to the effect chain.
    > In addition to explicitly introduced {DeadValue} nodes, we consider any value use
    > of a node with type {None} as dead.
    > 
    > Bug: chromium:741225
    > Change-Id: Icc4b636d1d018c452ba1a2fa7cd3e00e522f1655
    > Reviewed-on: https://chromium-review.googlesource.com/641250
    > Commit-Queue: Tobias Tebbi <tebbi@chromium.org>
    > Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
    > Cr-Commit-Position: refs/heads/master@{#48208}
    
    Bug: chromium:741225
    Change-Id: I21316913dae02864f7a6d7c9269405a79f054138
    Reviewed-on: https://chromium-review.googlesource.com/692034Reviewed-by: 's avatarJaroslav Sevcik <jarin@chromium.org>
    Commit-Queue: Tobias Tebbi <tebbi@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#48232}
    3c4bc27f
branch-elimination.cc 12.3 KB