[PATCH] D21189: Create subranges for new intervals resulting from live interval splitting

Krzysztof Parzyszek via llvm-commits llvm-commits at lists.llvm.org
Mon Aug 15 12:13:38 PDT 2016


kparzysz updated this revision to Diff 68057.
kparzysz added a comment.

Added a few of fixes:

1. Don't create "undef" defs that don't have subregisters. This did happened in the register coalescer in some cases. Matthias followup patch exposed that.
2. Update only the affected subranges after rematerializing an instruction in SplitKit. The previous assumption was that rematerialization will always generate a def of the entire register. That is not true.
3. Don't crash on missing ranges in extendPHIKillRanges.

This update will prepare this patch to work with Matthias's https://reviews.llvm.org/D23484.


Repository:
  rL LLVM

https://reviews.llvm.org/D21189

Files:
  include/llvm/CodeGen/LiveInterval.h
  include/llvm/CodeGen/LiveIntervalAnalysis.h
  lib/CodeGen/LiveInterval.cpp
  lib/CodeGen/LiveIntervalAnalysis.cpp
  lib/CodeGen/LiveRangeCalc.cpp
  lib/CodeGen/LiveRangeCalc.h
  lib/CodeGen/LiveRangeEdit.cpp
  lib/CodeGen/MachineVerifier.cpp
  lib/CodeGen/RegAllocBase.cpp
  lib/CodeGen/RegisterCoalescer.cpp
  lib/CodeGen/RenameIndependentSubregs.cpp
  lib/CodeGen/SplitKit.cpp
  lib/CodeGen/SplitKit.h
  lib/CodeGen/TargetInstrInfo.cpp
  lib/CodeGen/VirtRegMap.cpp
  lib/Target/Hexagon/HexagonExpandCondsets.cpp
  test/CodeGen/Hexagon/regalloc-bad-undef.mir

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D21189.68057.patch
Type: text/x-patch
Size: 87050 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160815/b7fa1566/attachment.bin>


More information about the llvm-commits mailing list