• Sigurd Schneider's avatar
    [turbofan] Apply duct-tape to load elimination · b28637b4
    Sigurd Schneider authored
    Load elimination is running together with to dead code elimination, the
    latter of which might eliminate allocations (in particular FinishRegion
    nodes). These are treated as alias nodes by load elimination, and load
    elimination does not immediatelly learn that a node has been disconnected.
    This causes load elimination to access the inputs of dead code eliminated
    nodes while resolving renames, which causes nullptr dereferences.
    
    This CL modifies load elimination to not resolve to a nullptr alias but
    simply stop before that.
    
    Change-Id: If4cef061c7c0e25f353727c9e27f790439b0beb5
    Bug: chromium:906406
    Reviewed-on: https://chromium-review.googlesource.com/c/1346491
    Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
    Reviewed-by: 's avatarJaroslav Sevcik <jarin@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#57688}
    b28637b4
load-elimination.cc 46.1 KB