]> granicus.if.org Git - llvm/commit
Revert r313157 "ThinLTO: Correctly follow aliasee references when dead stripping."
authorHans Wennborg <hans@hanshq.net>
Thu, 14 Sep 2017 00:40:14 +0000 (00:40 +0000)
committerHans Wennborg <hans@hanshq.net>
Thu, 14 Sep 2017 00:40:14 +0000 (00:40 +0000)
commit2ca4715d250736139b8fce4ce71f474050128a55
tree619f483dc130c1d2d19e85e12bbcb8fbf49957f2
parentcca65fd2eddb7a79b7c21e49f777f301ff56c452
Revert r313157 "ThinLTO: Correctly follow aliasee references when dead stripping."

This broke Chromium's CFI build; see crbug.com/765004.

> We were previously handling aliases during dead stripping by adding
> the aliased global's "original name" GUID to the worklist. This will
> lead to incorrect behaviour if the global has local linkage because
> the original name GUID will not correspond to the global's GUID in
> the summary.
>
> Because an alias is just another name for the global that it
> references, there is no need to mark the referenced global as used,
> or to follow references from any other copies of the global. So all
> we need to do is to follow references from the aliasee's summary
> instead of the alias.
>
> Differential Revision: https://reviews.llvm.org/D37789

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@313222 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Transforms/IPO/FunctionImport.cpp
test/LTO/Resolution/X86/Inputs/dead-strip-alias.ll [deleted file]
test/LTO/Resolution/X86/dead-strip-alias.ll [deleted file]