[PATCH] D26359: Use LiveRangeCalc to extend live ranges in shrinkToUses

Krzysztof Parzyszek via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Jun 28 13:06:59 PDT 2018


kparzysz added a comment.

I'm assuming that the line 10000B was misplaced in the snippet above, and should be in bb.2.

The subrange with the mask L00000001 corresponds to sub0.  %8273.sub0 is assigned a value at 336r, which is then reached in bb.4 by the spill at 13576r.  Blocks bb.2 and bb.3 both have instructions of form `undef %8273.sub1:vreg_64 = ...`, which defines %8273.sub1, while simultaneously undefining all other subregisters of %8273.  Therefore, sub0 has a def at 336r, and an undef at 5760r and at 10000r.  If there are no other uses of %8273.sub0 in bb.2 or bb.3, then it won't be live in those blocks, because its liveness is terminated by these undefs.


Repository:
  rL LLVM

https://reviews.llvm.org/D26359





More information about the llvm-commits mailing list