]> granicus.if.org Git - llvm/commit
[GlobalDCE, Misc] Don't remove functions referenced by ifuncs
authorDavid Majnemer <david.majnemer@gmail.com>
Wed, 4 May 2016 00:20:48 +0000 (00:20 +0000)
committerDavid Majnemer <david.majnemer@gmail.com>
Wed, 4 May 2016 00:20:48 +0000 (00:20 +0000)
commitfea3ecb60ce0f48d893c549ce92ae7dbb2ee76e4
tree878af03e4d136a7dfb7ae8ed371a4c7fbe6884c3
parent7212e1ee9696659a1097ca9e65b1f5f4d3612fce
[GlobalDCE, Misc] Don't remove functions referenced by ifuncs

We forgot to consider the target of ifuncs when considering if a
function was alive or dead.

N.B. Also update a few auxiliary tools like bugpoint and
verify-uselistorder.

This fixes PR27593.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@268468 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/IR/GlobalAlias.h
include/llvm/IR/GlobalIndirectSymbol.h
lib/Transforms/IPO/GlobalDCE.cpp
lib/Transforms/Utils/SplitModule.cpp
test/Transforms/GlobalDCE/global-ifunc.ll [new file with mode: 0644]
tools/bugpoint/CrashDebugger.cpp
tools/verify-uselistorder/verify-uselistorder.cpp