• Stephan Herhut's avatar
    [regalloc] Add two spill modes. · 9b1ab6f8
    Stephan Herhut authored
    This change adds two spilling modes: SpillAtDefinition and SpillDeferred.
    The former is the known spilling mode where we spill at definition. The
    latter spills only in deferred code regions. This is implemented based on
    control flow aware allocation and its invariants.
    
    The effect is mostly the same as splintering with the exception of
    forward looking allocation decisions still being impacted by register
    constraints in deferred code.
    
    Change-Id: Ia708e5765dd095196a8127deb2d8bec950d37e04
    Reviewed-on: https://chromium-review.googlesource.com/c/1437118Reviewed-by: 's avatarSigurd Schneider <sigurds@chromium.org>
    Commit-Queue: Stephan Herhut <herhut@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#59759}
    9b1ab6f8
instruction.h 55.7 KB