[all-commits] [llvm/llvm-project] f55dbf: [AArch64] Move SeparateConstOffsetFromGEPPass befo...

shubhamnarlawar via All-commits all-commits at lists.llvm.org
Fri Jul 22 07:21:06 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: f55dbfbd9d8cee45375f86a93e2c83bc30336285
      https://github.com/llvm/llvm-project/commit/f55dbfbd9d8cee45375f86a93e2c83bc30336285
  Author: Shubham Narlawar <shubham.narlawar at rrlogic.co.in>
  Date:   2022-07-22 (Fri, 22 Jul 2022)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/arm64-irtranslator-gep.ll
    M llvm/test/CodeGen/AArch64/GlobalISel/arm64-irtranslator.ll
    M llvm/test/CodeGen/AArch64/O3-pipeline.ll
    M llvm/test/CodeGen/AArch64/cond-br-tuning.ll
    A llvm/test/Transforms/SeparateConstOffsetFromGEP/AArch64/lit.local.cfg
    A llvm/test/Transforms/SeparateConstOffsetFromGEP/AArch64/split-gep.ll

  Log Message:
  -----------
  [AArch64] Move SeparateConstOffsetFromGEPPass before LSR and enable EnableGEPOpt by default.

GEP's across basic blocks were not getting splitted due to EnableGEPOpt
which was turned off by default. Hence, EarlyCSE missed the opportunity
to eliminate common part of GEP's. This can be achieved by simply
turning GEP pass on.
 - This patch moves SeparateConstOffsetFromGEPPass() just before LSR.
 - It enables EnableGEPOpt by default.

Resolves - https://github.com/llvm/llvm-project/issues/50528

Added an unit test.

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




More information about the All-commits mailing list