]> granicus.if.org Git - clang/commit
Generating assumption loads of vptr after ctor call (fixed)
authorPiotr Padlewski <prazek@google.com>
Tue, 15 Sep 2015 00:37:06 +0000 (00:37 +0000)
committerPiotr Padlewski <prazek@google.com>
Tue, 15 Sep 2015 00:37:06 +0000 (00:37 +0000)
commit81654dc1dd49b8634a2ae591b9393e09fc70cc06
tree37d51821690068e6e182c2c4c9b5cce9b629926c
parent65721268c69eadf998d8fb55c65d384088c71eac
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
14 files changed:
include/clang/AST/VTableBuilder.h
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