Skip to content

Commit

Permalink
[CodeGen][ShrinkWrap] Split restore point
Browse files Browse the repository at this point in the history
This patch splits a restore point to allow it to only post-dominate blocks reachable by use
or def of CSRs(Callee Saved Registers)/FI(Frame Index).

Benchmarking this on SPEC2017, this gives around 4% improvement on povray and no significant change
for others.

Co-authored-by: junbuml

Differential Revision: https://reviews.llvm.org/D42600
  • Loading branch information
sushgokh committed Apr 11, 2023
1 parent 437dfa5 commit 5f0bccc
Show file tree
Hide file tree
Showing 33 changed files with 1,393 additions and 334 deletions.
388 changes: 356 additions & 32 deletions llvm/lib/CodeGen/ShrinkWrap.cpp

Large diffs are not rendered by default.

Expand Up @@ -6,8 +6,8 @@
; RUN: llc -x=mir -simplify-mir -run-pass=shrink-wrap -o - %s | FileCheck %s
; CHECK: name: compiler_pop_stack
; CHECK: frameInfo:
; CHECK-NOT: savePoint:
; CHECK-NOT: restorePoint:
; CHECK: savePoint: '%bb.1'
; CHECK-NEXT: restorePoint: '%bb.7'
; CHECK: stack:
; CHECK: name: f
; CHECK: frameInfo:
Expand Down

0 comments on commit 5f0bccc

Please sign in to comment.