[all-commits] [llvm/llvm-project] cced97: [ARM][ReachingDefs] RDA in LoLoops

Sam Parker via All-commits all-commits at lists.llvm.org
Tue Nov 26 02:14:18 PST 2019


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: cced971fd3d6713ec4989990e1b2f42c8539f0f3
      https://github.com/llvm/llvm-project/commit/cced971fd3d6713ec4989990e1b2f42c8539f0f3
  Author: Sam Parker <sam.parker at arm.com>
  Date:   2019-11-26 (Tue, 26 Nov 2019)

  Changed paths:
    M llvm/include/llvm/CodeGen/ReachingDefAnalysis.h
    M llvm/lib/CodeGen/ReachingDefAnalysis.cpp
    M llvm/lib/Target/ARM/ARMLowOverheadLoops.cpp
    M llvm/test/CodeGen/ARM/O3-pipeline.ll
    A llvm/test/CodeGen/Thumb2/LowOverheadLoops/unsafe-cpsr-loop-def.mir
    A llvm/test/CodeGen/Thumb2/LowOverheadLoops/unsafe-cpsr-loop-use.mir
    M llvm/test/CodeGen/Thumb2/ifcvt-neon-deprecated.mir

  Log Message:
  -----------
  [ARM][ReachingDefs] RDA in LoLoops

Add several new methods to ReachingDefAnalysis:
- getReachingMIDef, instead of returning an integer, return the
  MachineInstr that produces the def.
- getInstFromId, return a MachineInstr for which the given integer
  corresponds to.
- hasSameReachingDef, return whether two MachineInstr use the same
  def of a register.
- isRegUsedAfter, return whether a register is used after a given
  MachineInstr.

These methods have been used in ARMLowOverhead to replace searching
for uses/defs.

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




More information about the All-commits mailing list