[PATCH] D73117: [ARM] Mark MVE loads/store as not having side effects

Dave Green via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Jan 22 03:58:23 PST 2020


dmgreen updated this revision to Diff 239534.
dmgreen added a comment.

Yes... Gather loads should probably be in here too. I was just worried about exactly what the mayLoad would mean for an instruction that can load multiple chunks of data from around memory. I think it should be fine though. And, um, I might have accidentally added them without adding the testing. MVE_VLDRSTR_base is the base class of both.

I've included the interleaving loads too VLDn/VSTn, and added tests for all of them.

The other option would be to mark all MVE instructions as not having side effects at the top level, in MVE_MI (other than VCTP, which is specifically marked as having side effects). That's more of a change than I would like to make right here though.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D73117/new/

https://reviews.llvm.org/D73117

Files:
  llvm/lib/Target/ARM/ARMInstrMVE.td
  llvm/test/CodeGen/Thumb2/LowOverheadLoops/mve-float-loops.ll
  llvm/unittests/Target/ARM/MachineInstrTest.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D73117.239534.patch
Type: text/x-patch
Size: 5847 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200122/c0e4b263/attachment.bin>


More information about the llvm-commits mailing list