[PATCH] D81639: [ARM] Remove hasSideEffects from FP converts

Dave Green via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Jun 11 03:01:41 PDT 2020


dmgreen created this revision.
dmgreen added reviewers: samparker, SjoerdMeijer, efriedma, simon_tatham, ostannard.
Herald added subscribers: danielkiss, hiraditya, kristof.beyls.
Herald added a project: LLVM.

Whether an instruction is deemed to have side effects in determined by whether it has an instruction pattern that emits a single instruction. Because of the way a lot of the the vcvt instructions are specified either in dagtodag code or with tblgen patterns that emit multiple instructions, they don't get marked as not having side effects.

This just marks them as not having side effects manually. It can help especially with instruction scheduling, to not create artificial barriers, but one of these tests also managed to produce fewer instructions.


https://reviews.llvm.org/D81639

Files:
  llvm/lib/Target/ARM/ARMInstrVFP.td
  llvm/test/CodeGen/ARM/cmov_fp16.ll
  llvm/test/CodeGen/ARM/fp16-args.ll
  llvm/test/CodeGen/ARM/fp16-bitcast.ll
  llvm/test/CodeGen/ARM/fp16-fullfp16.ll
  llvm/test/CodeGen/ARM/fp16-instructions.ll
  llvm/test/CodeGen/ARM/no-fpscr-liveness.ll
  llvm/test/CodeGen/ARM/vcvt.ll
  llvm/test/CodeGen/Thumb2/LowOverheadLoops/mve-float-loops.ll
  llvm/test/CodeGen/Thumb2/mve-masked-ldst.ll
  llvm/test/CodeGen/Thumb2/mve-masked-store.ll
  llvm/test/CodeGen/Thumb2/mve-vcvt.ll
  llvm/test/CodeGen/Thumb2/mve-vcvt16.ll
  llvm/unittests/Target/ARM/MachineInstrTest.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D81639.270080.patch
Type: text/x-patch
Size: 41613 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200611/9278ebe6/attachment-0001.bin>


More information about the llvm-commits mailing list