summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorHans Wennborg <hans@hanshq.net>2018-02-05 09:55:40 +0000
committerHans Wennborg <hans@hanshq.net>2018-02-05 09:55:40 +0000
commitdd47b68215bf30ddd89ebf6424aa5d885033f995 (patch)
tree286705d527a83884509f532a54fd3f4035c47bc7 /docs
parent24c873b42c15bf757d3c8a272aef57eed6e4207c (diff)
Merging r324039: (test case modified to work around r323886 et al.)
------------------------------------------------------------------------ r324039 | matze | 2018-02-02 01:08:19 +0100 (Fri, 02 Feb 2018) | 33 lines SplitKit: Fix liveness recomputation in some remat cases. Example situation: ``` BB0: %0 = ... use %0 ; ... condjump BB1 jmp BB2 BB1: %0 = ... ; rematerialized def from above (from earlier split step) jmp BB2 BB2: ; ... use %0 ``` %0 will have a live interval with 3 value numbers (for the BB0, BB1 and BB2 parts). Now SplitKit tries and succeeds in rematerializing the value number in BB2 (This only works because it is a secondary split so SplitKit is can trace this back to a single original def). We need to recompute all live ranges affected by a value number that we rematerialize. The case that we missed before is that when the value that is rematerialized is at a join (Phi VNI) then we also have to recompute liveness for the predecessor VNIs. rdar://35699130 Differential Revision: https://reviews.llvm.org/D42667 ------------------------------------------------------------------------ git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_60@324218 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'docs')
0 files changed, 0 insertions, 0 deletions