This is an archive of the discontinued LLVM Phabricator instance.

[ARM][LowOverheadLoops] Don't ignore VCTP
ClosedPublic

Authored by samparker on Jan 23 2020, 8:07 AM.

Details

Summary

When expanding the LoopStart, we try to remove the iteration count calculation. However, if part of the calculation was also used to calculate the number of elements we could end up deleting instructions that were required to feed DLSTP/WLSTP.

Diff Detail

Event Timeline

samparker created this revision.Jan 23 2020, 8:07 AM
Herald added a project: Restricted Project. · View Herald TranscriptJan 23 2020, 8:07 AM
SjoerdMeijer accepted this revision.Jan 27 2020, 2:15 AM

Looks like a straightforward fix to me.

llvm/lib/Target/ARM/ARMLowOverheadLoops.cpp
906

nit: you can ignore this remark, but perhaps time to rename Ignore to something 'scarier' such as UnsafeToRemove (the variable is called Ignore, but the test file dont-ignore-vctp.mir, if you see what I mean).

llvm/test/CodeGen/Thumb2/LowOverheadLoops/dont-ignore-vctp.mir
6

nit: don't think it matters in this case, but perhaps rename the function name

This revision is now accepted and ready to land.Jan 27 2020, 2:15 AM
This revision was automatically updated to reflect the committed changes.