• Ross McIlroy's avatar
    [TurboProp] Add the ability for GraphAssembler to update basic blocks. · 0c0042cc
    Ross McIlroy authored
    Adds the ability for the GraphAssembler to operate on, and maintain, a
    scheduled graph. This will be used by TurboProp to maintain the initial
    schedule created before effect-control-linearization, by updating this schedule
    during effect-control, select and memory lowering stages rather than doing a
    later reschedule.
    
    In order to do this, an internal BlockUpdater is added to GraphAssembler,
    which is enabled by passing the schedule to the GraphAssembler. The
    GraphAssembler is modified to call into the block updater when nodes are added
    and updates the schedule with new basic blocks when new control flow is updated.
    
    BUG=v8:9684
    
    Change-Id: I6d428ad21d869c472bb20f43cc8caf44722f090a
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1841355
    Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
    Reviewed-by: 's avatarTobias Tebbi <tebbi@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#64519}
    0c0042cc
effect-control-linearizer.cc 218 KB