[PATCH] D41098: [InlineSpiller] Fix a crash due to lack of forward progress from remat

Philip Reames via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Dec 21 11:21:18 PST 2017

reames added inline comments.

Comment at: lib/CodeGen/InlineSpiller.cpp:588
+      return false;
+  }
qcolombet wrote:
> Counting by RC is not going to give you the result you want.
> You can imagine some instruction with different RCs that overlap, e.g., GPRsp, GPR.
> With the current counting your going to count them in different bucket and miss the overlap.
> I believe the pressure sets (look in TargetRegisterInfo) would do what you want. Double check because it's been a while since I've played with it.
I looked at pressure sets and they didn't seem to have an obvious application here, but they did lead me to the notion of RegUnits.  I think the updated code addresses the aliasing concern you raise, can you confirm?  I'm figuring this out as I go along and am not familiar with this area of the code.


More information about the llvm-commits mailing list