[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;
> 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