aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Transforms/Utils/InlineFunction.cpp
diff options
context:
space:
mode:
authorGreg Roth <grroth@microsoft.com>2024-10-17 12:54:52 -0600
committerGitHub <noreply@github.com>2024-10-17 12:54:52 -0600
commitab7518050183162f09724ef8682a580cc68709bc (patch)
treee3ef3b81950a441425adf5a6bc3f5059106dd048 /llvm/lib/Transforms/Utils/InlineFunction.cpp
parented3d05178274890fb804f43ae1bcdfd33b5fd8f0 (diff)
downloadllvm-ab7518050183162f09724ef8682a580cc68709bc.zip
llvm-ab7518050183162f09724ef8682a580cc68709bc.tar.gz
llvm-ab7518050183162f09724ef8682a580cc68709bc.tar.bz2
[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
Diffstat (limited to 'llvm/lib/Transforms/Utils/InlineFunction.cpp')
0 files changed, 0 insertions, 0 deletions