Handle calls and invokes in GlobalStatus.
authorRafael Espindola <rafael.espindola@gmail.com>
Fri, 25 Oct 2013 21:29:52 +0000 (21:29 +0000)
committerRafael Espindola <rafael.espindola@gmail.com>
Fri, 25 Oct 2013 21:29:52 +0000 (21:29 +0000)
commit0f978ea45945bf3b8f2ce20f46d78dc840894623
treef4530b935c5be83b41b669610d72aab832e45115
parent006183a9364660daba786d352df720e079412d60
Handle calls and invokes in GlobalStatus.

This patch teaches GlobalStatus to analyze a call that uses the global value as
a callee, not as an argument.

With this change internalize call handle the common use of linkonce_odr
functions. This reduces the number of linkonce_odr functions in a LTO build of
clang (checked with the emit-llvm gold plugin option) from 1730 to 60.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193436 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Transforms/Utils/GlobalStatus.cpp
test/Transforms/Internalize/linkonce_odr_func.ll [new file with mode: 0644]