This is an archive of the discontinued LLVM Phabricator instance.

[ARM][LowOverheadLoops] Fix generated code for "revert".
ClosedPublic

Authored by efriedma on Aug 14 2019, 12:51 PM.

Details

Summary

Two issues:

  1. t2CMPri shouldn't use CPSR if it isn't predicated. This doesn't really have any visible effect at the moment, but it might matter in the future.
  2. The t2CMPri generated for t2WhileLoopStart might need to use a register that isn't LR.

My team found this because we have a patch to track register liveness late in the pass pipeline. I'll look into upstreaming it to help catch issues like this earlier.

Diff Detail

Repository
rL LLVM

Event Timeline

efriedma created this revision.Aug 14 2019, 12:51 PM
Herald added a project: Restricted Project. · View Herald TranscriptAug 14 2019, 12:51 PM
SjoerdMeijer accepted this revision.Aug 14 2019, 11:25 PM

Thanks for fixing.

My team found this because we have a patch to track register liveness late in the pass pipeline. I'll look into upstreaming it to help catch issues like this earlier.

that sounds very interesting/useful.

This revision is now accepted and ready to land.Aug 14 2019, 11:25 PM
This revision was automatically updated to reflect the committed changes.