[ConstantFolding] Support folding loads from a GlobalAlias
authorDavid Majnemer <david.majnemer@gmail.com>
Wed, 22 Jul 2015 22:29:30 +0000 (22:29 +0000)
committerDavid Majnemer <david.majnemer@gmail.com>
Wed, 22 Jul 2015 22:29:30 +0000 (22:29 +0000)
commited9abe119b3cfa2b4019782dbe10180e1e71b8cf
tree827702d3eb30e33ad0e76683d8d86d66b6048595
parente92ae2dcd153dd73ba1c374f01f546b04502a351
[ConstantFolding] Support folding loads from a GlobalAlias

The MSVC ABI requires that we generate an alias for the vtable which
means looking through a GlobalAlias which cannot be overridden improves
our ability to devirtualize.

Found while investigating PR20801.

Patch by Andrew Zhogin!

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

llvm-svn: 242955
llvm/lib/Analysis/ConstantFolding.cpp
llvm/test/Transforms/SCCP/global-alias-constprop.ll [new file with mode: 0644]