This is an archive of the discontinued LLVM Phabricator instance.

[ARM] ARMLoadStoreOpt generates deprecated T1 STM
ClosedPublic

Authored by zzheng on Dec 18 2016, 7:16 PM.

Details

Summary

Fix for

if (isThumb1 && isi32Load && ...) {
  if (...)
  else if (opcode == ARM:tSTRi) 
     ... 
}

and add an test case. This would prevent generating stm r1!, {r1, r0} on Thumb1, where value stored for r1 is UNKONWN.

Diff Detail

Repository
rL LLVM

Event Timeline

zzheng updated this revision to Diff 81911.Dec 18 2016, 7:16 PM
zzheng retitled this revision from to [ARM] ARMLoadStoreOpt generates deprecated T1 STM.
zzheng updated this object.
zzheng set the repository for this revision to rL LLVM.
zzheng added a subscriber: llvm-commits.
zzheng updated this object.Dec 18 2016, 7:17 PM
jmolloy accepted this revision.Dec 19 2016, 12:08 AM
jmolloy edited edge metadata.

LGTM, thanks!

This revision is now accepted and ready to land.Dec 19 2016, 12:08 AM
This revision was automatically updated to reflect the committed changes.