[all-commits] [llvm/llvm-project] 58991b: [ARM] Mark MVE loads/store as not having side effects

David Green via All-commits all-commits at lists.llvm.org
Wed Jan 22 09:57:10 PST 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 58991ba773774f7dbdf2844a737845298e9e71bb
      https://github.com/llvm/llvm-project/commit/58991ba773774f7dbdf2844a737845298e9e71bb
  Author: David Green <david.green at arm.com>
  Date:   2020-01-22 (Wed, 22 Jan 2020)

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

  Log Message:
  -----------
  [ARM] Mark MVE loads/store as not having side effects

The hasSideEffect parameter is usually automatically inferred from
instruction patterns. For some of our MVE instructions, we do not have
patterns though, such as for the pre/post inc loads and stores. This
instead specifies the flag manually on the base MVE_VLDRSTR_base
tablegen class, making sure we get this correct.

This can help with scheduling multiple loads more optimally. Here I've
added a unittest as a more direct form of testing.

Differential Revision: https://reviews.llvm.org/D73117




More information about the All-commits mailing list