• Tobias Tebbi's avatar
    [compiler] make CanCover() transitive · 6048f754
    Tobias Tebbi authored
    In addition to checking that a node is owned, CanCover() also needs to
    check if there are any side-effects in between the current node and
    the merged node. When merging inputs of inputs, this check was done
    with the wrong side-effect level of the in-between node.
    We partially fixed this before with `CanCoverTransitively`.
    This CL addresses the issue by always comparing to the side-effect
    level of the node from which we started, making `CanCoverTransitively`
    superfluous.
    
    Bug: chromium:1336869
    Change-Id: I78479b32461ede81138f8b5d48d60058cfb5fa0a
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3707277Reviewed-by: 's avatarClemens Backes <clemensb@chromium.org>
    Commit-Queue: Tobias Tebbi <tebbi@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#81217}
    6048f754
instruction-selector.h 31.2 KB