]> granicus.if.org Git - clang/commit
Generating assumption loads of vptr after ctor call (fixed)
authorPiotr Padlewski <prazek@google.com>
Wed, 9 Sep 2015 22:20:28 +0000 (22:20 +0000)
committerPiotr Padlewski <prazek@google.com>
Wed, 9 Sep 2015 22:20:28 +0000 (22:20 +0000)
commit982bb7d966947812d216489b3c519c9825cacbf2
treea5f1d33eaeba73405bac45876d93625415f38b5c
parent1694b9d193ea9f50314856b0f2d769ba20e92778
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.
After this patch got reverted because of ScalarEvolution bug (D12719)
Merged after John McCall big patch (Added Address).

http://reviews.llvm.org/D11859

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@247199 91177308-0d34-0410-b5e6-96231b3b80d8
13 files changed:
lib/CodeGen/CGCXXABI.h
lib/CodeGen/CGCall.cpp
lib/CodeGen/CGClass.cpp
lib/CodeGen/CGVTables.cpp
lib/CodeGen/CodeGenFunction.h
lib/CodeGen/ItaniumCXXABI.cpp
lib/CodeGen/MicrosoftCXXABI.cpp
test/CodeGen/available-externally-hidden.cpp
test/CodeGenCXX/ctor-globalopt.cpp
test/CodeGenCXX/thunks.cpp
test/CodeGenCXX/virtual-base-ctor.cpp
test/CodeGenCXX/vtable-assume-load.cpp [new file with mode: 0644]
test/CodeGenCXX/vtable-available-externally.cpp