[all-commits] [llvm/llvm-project] ab7518: [DirectX] Remove trivially dead functions at linka...

Greg Roth via All-commits all-commits at lists.llvm.org
Thu Oct 17 11:55:13 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: ab7518050183162f09724ef8682a580cc68709bc
      https://github.com/llvm/llvm-project/commit/ab7518050183162f09724ef8682a580cc68709bc
  Author: Greg Roth <grroth at microsoft.com>
  Date:   2024-10-17 (Thu, 17 Oct 2024)

  Changed paths:
    M llvm/lib/Target/DirectX/DXILFinalizeLinkage.cpp
    M llvm/test/CodeGen/DirectX/ShaderFlags/double-extensions.ll
    M llvm/test/CodeGen/DirectX/ShaderFlags/doubles.ll
    M llvm/test/CodeGen/DirectX/conflicting-bitcast-insert.ll
    A llvm/test/CodeGen/DirectX/finalize-linkage-remove-dead-lib.ll
    A llvm/test/CodeGen/DirectX/finalize-linkage-remove-dead.ll
    M llvm/test/CodeGen/DirectX/finalize_linkage.ll
    M llvm/test/CodeGen/DirectX/fneg-conversion.ll
    M llvm/test/CodeGen/DirectX/omit-bitcast-insert.ll
    M llvm/test/CodeGen/DirectX/scalar-load.ll
    M llvm/test/CodeGen/DirectX/scalar-store.ll
    M llvm/test/CodeGen/DirectX/scalarize-two-calls.ll
    M llvm/test/CodeGen/DirectX/strip-fn-attrs.ll

  Log Message:
  -----------
  [DirectX] Remove trivially dead functions at linkage finalize (#106146)

Functions are not removed even when made internal by
DXILFinalizeLinkage. The removal code is called from alwaysinliner and
globalopt, which are invoked too early to remove functions made internal
by this pass.

This adds a check similar to that in alwaysinliner that removes
trivially dead functions after being marked internal. It refactors that
code a bit to make it simpler including reversing what is stored int he
work queue.

Tests both the pass in isolation and the full i0nlining, linkage
finalization and function removal steps.

Fixes #106139



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list