Generating assumption loads of vptr after ctor call (fixed)
Generating call assume(icmp %vtable, %global_vtable) after constructor call for devirtualization purposes. For more info go to: http://lists.llvm.org/pipermail/cfe-dev/2015-July/044227.html Edit: Fixed version because of PR24479. http://reviews.llvm.org/D11859 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@245264 91177308-0d34-0410-b5e6-96231b3b80d8
Showing
- lib/CodeGen/CGCXXABI.h 18 additions, 6 deletionslib/CodeGen/CGCXXABI.h
- lib/CodeGen/CGCall.cpp 2 additions, 1 deletionlib/CodeGen/CGCall.cpp
- lib/CodeGen/CGClass.cpp 76 additions, 43 deletionslib/CodeGen/CGClass.cpp
- lib/CodeGen/CodeGenFunction.h 28 additions, 13 deletionslib/CodeGen/CodeGenFunction.h
- lib/CodeGen/ItaniumCXXABI.cpp 58 additions, 32 deletionslib/CodeGen/ItaniumCXXABI.cpp
- lib/CodeGen/MicrosoftCXXABI.cpp 36 additions, 15 deletionslib/CodeGen/MicrosoftCXXABI.cpp
- test/CodeGen/available-externally-hidden.cpp 1 addition, 1 deletiontest/CodeGen/available-externally-hidden.cpp
- test/CodeGenCXX/ctor-globalopt.cpp 2 additions, 2 deletionstest/CodeGenCXX/ctor-globalopt.cpp
- test/CodeGenCXX/template-instantiation.cpp 2 additions, 1 deletiontest/CodeGenCXX/template-instantiation.cpp
- test/CodeGenCXX/thunks.cpp 23 additions, 7 deletionstest/CodeGenCXX/thunks.cpp
- test/CodeGenCXX/virtual-base-ctor.cpp 1 addition, 1 deletiontest/CodeGenCXX/virtual-base-ctor.cpp
- test/CodeGenCXX/vtable-assume-load.cpp 172 additions, 0 deletionstest/CodeGenCXX/vtable-assume-load.cpp
- test/CodeGenCXX/vtable-available-externally.cpp 7 additions, 7 deletionstest/CodeGenCXX/vtable-available-externally.cpp
Loading
Please register or sign in to comment