[PATCH] D59731: [LiveRange] Reset the VNIs when splitting subranges

Quentin Colombet via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Mar 22 18:11:47 PDT 2019


qcolombet created this revision.
qcolombet added reviewers: jnspaulsson, kparzysz.
Herald added subscribers: tpr, MatzeB.
Herald added a project: LLVM.

When splitting a subrange we end up with two different subranges covering
two different, non overlapping, lanes.
As part of this splitting the VNIs of the original live-range need
to be dispatched to the subranges according to which lanes they are
actually defining.

Prior to this patch we were assuming that all values were defining
all lanes. This was wrong as demonstrated by llvm.org/PR40835.


Repository:
  rL LLVM

https://reviews.llvm.org/D59731

Files:
  include/llvm/CodeGen/LiveInterval.h
  lib/CodeGen/LiveInterval.cpp
  lib/CodeGen/LiveRangeCalc.cpp
  lib/CodeGen/RegisterCoalescer.cpp
  lib/CodeGen/SplitKit.cpp
  test/CodeGen/SystemZ/regcoal-subranges-update.mir

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D59731.191980.patch
Type: text/x-patch
Size: 10756 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190323/be97549d/attachment.bin>


More information about the llvm-commits mailing list