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

Pavel Samolysov via All-commits all-commits at lists.llvm.org
Sun Aug 28 00:51:15 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: b10a341aa5b0b93b9175a8f11efc9a0955ab361e
      https://github.com/llvm/llvm-project/commit/b10a341aa5b0b93b9175a8f11efc9a0955ab361e
  Author: Pavel Samolysov <samolisov at gmail.com>
  Date:   2022-08-28 (Sun, 28 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