[llvm] Teach GlobalDCE about dso_local_equivalent
authorLeonard Chan <leonardchan@google.com>
Tue, 18 Oct 2022 18:23:48 +0000 (18:23 +0000)
committerLeonard Chan <leonardchan@google.com>
Thu, 23 Feb 2023 23:13:57 +0000 (23:13 +0000)
commit86dbcafd0cdc88ae85896c6f12ecaa6006aeba54
treef23ad90e5aa32635575a6e344cc392b828fc71d7
parentab9b2fe2a5f817f3bbca0d187a99aaae23e75d6a
[llvm] Teach GlobalDCE about dso_local_equivalent

This way, C++ relative-vtables can also participate in GlobalDCE. This
depends on some TypeMetadataUtils.cpp bits in D134320, but that
dependency can be removed and included here if necessary.

Differential Revision: https://reviews.llvm.org/D135928
llvm/include/llvm/Analysis/TypeMetadataUtils.h
llvm/lib/Analysis/TypeMetadataUtils.cpp
llvm/test/Transforms/GlobalDCE/virtual-functions-relative-pointers-bad.ll
llvm/test/Transforms/GlobalDCE/virtual-functions-relative-pointers-gep.ll
llvm/test/Transforms/GlobalDCE/virtual-functions-relative-pointers.ll