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 and other bug caused in chrome. After this patch got reverted because of ScalarEvolution bug (D12719) Merged after John McCall big patch (Added Address). http://reviews.llvm.org/D11859 http://reviews.llvm.org/D12865 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@247646 91177308-0d34-0410-b5e6-96231b3b80d8
Showing
- include/clang/AST/VTableBuilder.h 7 additions, 2 deletionsinclude/clang/AST/VTableBuilder.h
- lib/CodeGen/CGCXXABI.h 22 additions, 8 deletionslib/CodeGen/CGCXXABI.h
- lib/CodeGen/CGCall.cpp 2 additions, 1 deletionlib/CodeGen/CGCall.cpp
- lib/CodeGen/CGClass.cpp 86 additions, 47 deletionslib/CodeGen/CGClass.cpp
- lib/CodeGen/CGVTables.cpp 3 additions, 3 deletionslib/CodeGen/CGVTables.cpp
- lib/CodeGen/CodeGenFunction.h 27 additions, 13 deletionslib/CodeGen/CodeGenFunction.h
- lib/CodeGen/ItaniumCXXABI.cpp 81 additions, 37 deletionslib/CodeGen/ItaniumCXXABI.cpp
- lib/CodeGen/MicrosoftCXXABI.cpp 37 additions, 17 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/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 312 additions, 0 deletionstest/CodeGenCXX/vtable-assume-load.cpp
- test/CodeGenCXX/vtable-available-externally.cpp 37 additions, 12 deletionstest/CodeGenCXX/vtable-available-externally.cpp
Loading
Please register or sign in to comment