Checking that the use-def chain that performs the loop count isSafeToRemove is not sufficient because it means that we can remove register copies that we need to restore lr to its correct value. This change now prevents the transform from kicking in for the 'remove-elem-moves' test which needs to addressed later on.
Details
Details
Diff Detail
Diff Detail
Event Timeline
Comment Actions
Looks like a good fix to me.
The tests are big, but it's probably good to have some larger tests too.
llvm/lib/Target/ARM/ARMLowOverheadLoops.cpp | ||
---|---|---|
727 | Nit: I think some comments would be good here |
Nit: I think some comments would be good here