[all-commits] [llvm/llvm-project] 879f51: [Pipelines] Introduce DAE after ArgumentPromotion

Pavel Samolysov via All-commits all-commits at lists.llvm.org
Thu Aug 25 00:56:33 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 879f5118fc74657e4a5c4eff6810098e1eed75ac
      https://github.com/llvm/llvm-project/commit/879f5118fc74657e4a5c4eff6810098e1eed75ac
  Author: Pavel Samolysov <samolisov at gmail.com>
  Date:   2022-08-25 (Thu, 25 Aug 2022)

  Changed paths:
    M clang/test/CodeGen/thinlto-distributed-newpm.ll
    M llvm/lib/Passes/PassBuilderPipelines.cpp
    M llvm/test/Other/new-pm-defaults.ll
    M llvm/test/Other/new-pm-lto-defaults.ll
    M llvm/test/Other/new-pm-thinlto-defaults.ll
    M llvm/test/Other/new-pm-thinlto-postlink-pgo-defaults.ll
    M llvm/test/Other/new-pm-thinlto-postlink-samplepgo-defaults.ll
    M llvm/test/Other/new-pm-thinlto-prelink-pgo-defaults.ll
    M llvm/test/Other/new-pm-thinlto-prelink-samplepgo-defaults.ll
    M llvm/test/Transforms/InstCombine/unused-nonnull.ll
    M llvm/test/Transforms/PhaseOrdering/dce-after-argument-promotion.ll

  Log Message:
  -----------
  [Pipelines] Introduce DAE after ArgumentPromotion

The ArgumentPromotion pass uses Mem2Reg promotion at the end to cutting
down generated `alloca` instructions as well as meaningless `store`s and
this behavior can leave unused (dead) arguments. To eliminate the dead
arguments and therefore let the DeadCodeElimination remove becoming dead
inserted `GEP`s as well as `load`s and `cast`s in the callers, the
DeadArgumentElimination pass should be run after the ArgumentPromotion
one.

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




More information about the All-commits mailing list