[all-commits] [llvm/llvm-project] 917dc0: [ARM] Recognize t2LoopEnd for software pipelining

dpenry via All-commits all-commits at lists.llvm.org
Thu May 26 09:57:01 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 917dc0749b77467188872c4a0f217cedd874de36
      https://github.com/llvm/llvm-project/commit/917dc0749b77467188872c4a0f217cedd874de36
  Author: David Penry <david.penry at arm.com>
  Date:   2022-05-26 (Thu, 26 May 2022)

  Changed paths:
    M llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
    M llvm/lib/Target/ARM/MVETPAndVPTOptimisationsPass.cpp
    A llvm/test/CodeGen/Thumb2/swp-fixedii-le.mir

  Log Message:
  -----------
  [ARM] Recognize t2LoopEnd for software pipelining

- Add t2LoopEnd to TargetInstrInfo::analyzeBranch and
  related functions.  As there are many side effects of
  analyzing a branch, only do so if software pipelining
  is enabled to maintain previous behavior when pipelining
  is not desired.
- Make sure that t2LoopEndDec is immediately followed by
  a t2B when it is synthesized from a t2LoopEnd. This is
  done because the t2LoopEnd might have acquired a
  fall-through path, but IfConversion assumes that
  fall-through are only possible on analyzable branches.

Reviewed By: dmgreen

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




More information about the All-commits mailing list