[PATCH] D48032: [RegisterCoalescer] Avoid erasing copy that breaks subranges

Tim Renouf via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Jun 12 12:35:54 PDT 2018


tpr added a comment.

To try and diagnose this kind of problem in the future, I added code (not in this change) to always recalculate the live interval if there are subranges, and compare it with the one updated in RegisterCoalescer.cpp. The problem I ran into then is that RegisterCoalescer remembers more information about when subregs are undef and thus considered not live than is available in the MIR after coalescing. I wonder if there is some way of recording undef subregs in a use in MIR such that recalculating a live interval should always give the same result as updating in coalescing, and if it doesn't then you've found a bug.


Repository:
  rL LLVM

https://reviews.llvm.org/D48032





More information about the llvm-commits mailing list