[PATCH] D70009: [ARM][ReachingDefAnalysis] Use RDA for loloops

Sam Parker via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Nov 8 07:12:58 PST 2019


samparker created this revision.
samparker added a reviewer: dmgreen.
Herald added subscribers: hiraditya, kristof.beyls.
Herald added a project: LLVM.

Replace the searches for uses and defs, in ARMLowOverheadLoops, to calls into RDA. I've added a couple of methods into RDA to enable getting the MachineInstr that is the def, as well as being able to query what the MI an Id corresponds to.

      

I've also added an implicit CPSR def to LoopDec to simplify things and hopefully prevent more instructions from being inserted between LoopDec and LoopEnd.

I wasn't sure who to add for the ReachingDef changes... @craig.topper would you mind taking a look or suggesting someone?


https://reviews.llvm.org/D70009

Files:
  llvm/include/llvm/CodeGen/ReachingDefAnalysis.h
  llvm/lib/CodeGen/ReachingDefAnalysis.cpp
  llvm/lib/Target/ARM/ARMInstrThumb2.td
  llvm/lib/Target/ARM/ARMLowOverheadLoops.cpp
  llvm/test/CodeGen/ARM/O3-pipeline.ll
  llvm/test/CodeGen/Thumb2/LowOverheadLoops/cond-mov.mir
  llvm/test/CodeGen/Thumb2/LowOverheadLoops/end-positive-offset.mir
  llvm/test/CodeGen/Thumb2/LowOverheadLoops/massive.mir
  llvm/test/CodeGen/Thumb2/LowOverheadLoops/mov-after-dls.mir
  llvm/test/CodeGen/Thumb2/LowOverheadLoops/multiblock-massive.mir
  llvm/test/CodeGen/Thumb2/LowOverheadLoops/revert-after-call.mir
  llvm/test/CodeGen/Thumb2/LowOverheadLoops/revert-after-read.mir
  llvm/test/CodeGen/Thumb2/LowOverheadLoops/revert-after-write.mir
  llvm/test/CodeGen/Thumb2/LowOverheadLoops/revert-non-header.mir
  llvm/test/CodeGen/Thumb2/LowOverheadLoops/revert-non-loop.mir
  llvm/test/CodeGen/Thumb2/LowOverheadLoops/revert-while.mir
  llvm/test/CodeGen/Thumb2/LowOverheadLoops/safe-def-no-mov.mir
  llvm/test/CodeGen/Thumb2/LowOverheadLoops/size-limit.mir
  llvm/test/CodeGen/Thumb2/LowOverheadLoops/switch.mir
  llvm/test/CodeGen/Thumb2/LowOverheadLoops/unsafe-liveout.mir
  llvm/test/CodeGen/Thumb2/LowOverheadLoops/unsafe-use-after.mir
  llvm/test/CodeGen/Thumb2/LowOverheadLoops/while-negative-offset.mir
  llvm/test/CodeGen/Thumb2/LowOverheadLoops/while.mir

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D70009.228444.patch
Type: text/x-patch
Size: 25139 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20191108/792536a0/attachment.bin>


More information about the llvm-commits mailing list