OSDN Git Service

[PM/AA] Replace the only use of the AliasAnalysis::deleteValue API (in
authorChandler Carruth <chandlerc@gmail.com>
Wed, 22 Jul 2015 09:27:58 +0000 (09:27 +0000)
committerChandler Carruth <chandlerc@gmail.com>
Wed, 22 Jul 2015 09:27:58 +0000 (09:27 +0000)
commit0ea4760295580b558db6bb8d8ef3b5980160efb9
tree3d11d851ee69d45511f0dc2fdf0b9106720358fe
parent78d824a9ff9d54706494714332ed9a4395b4f87b
[PM/AA] Replace the only use of the AliasAnalysis::deleteValue API (in
GlobalsModRef) with CallbackVHs that trigger the same behavior.

This is technically more expensive, but in benchmarking some LTO runs,
it seems unlikely to even be above the noise floor. The only way I was
able to measure the performance of GMR at all was to run nothing else
but this one analysis on a linked clang bitcode file. The call graph
analysis still took 5x more time than GMR, and this change at most made
GMR 2% slower (this is well within the noise, so its hard for me to be
sure that this is an actual change). However, in a real LTO run over the
same bitcode, the GMR run takes so little time that the pass timers
don't measure it.

With this, I can remove the last update API from the AliasAnalysis
interface, but I'll actually remove the interface hook point in
a follow-up commit.

Differential Revision: http://reviews.llvm.org/D11324

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@242878 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Analysis/IPA/GlobalsModRef.cpp