I added !invariant.load to virtual functions load, so when optimizer see
case like this
%vtable = load ...
%1 = load (...) %vtable, !invariant.load !0
call %1(...)
%2 = load (...) %vtable, !invariant.load !0
call %2(...)
can merge the 2 virtual functions load into one like this:
%vtable = load
On Wed, Sep 30, 2015 at 8:52 PM Piotr Padlewski via cfe-commits <
cfe-commits@lists.llvm.org> wrote:
> Author: prazek
> Date: Wed Sep 30 22:50:41 2015
> New Revision: 248982
>
> URL: http://llvm.org/viewvc/llvm-project?rev=248982&view=rev
> Log:
> Decorating virtual functions load with invariant.l
Author: prazek
Date: Wed Sep 30 22:50:41 2015
New Revision: 248982
URL: http://llvm.org/viewvc/llvm-project?rev=248982&view=rev
Log:
Decorating virtual functions load with invariant.load
http://reviews.llvm.org/D13279
Modified:
cfe/trunk/lib/CodeGen/ItaniumCXXABI.cpp
cfe/trunk/test/CodeG