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

Pavel Samolysov via All-commits all-commits at lists.llvm.org
Thu Sep 22 15:34:14 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 1c530500ab86f823df8d5ec1ec9f97ec4772418b
      https://github.com/llvm/llvm-project/commit/1c530500ab86f823df8d5ec1ec9f97ec4772418b
  Author: Pavel Samolysov <samolisov at gmail.com>
  Date:   2022-09-22 (Thu, 22 Sep 2022)

  Changed paths:
    M clang/test/CodeGen/thinlto-distributed-newpm.ll
    M cross-project-tests/debuginfo-tests/dexter-tests/memvars/unused-merged-value.c
    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