]> granicus.if.org Git - clang/commit
Assume loads fix #2
authorPiotr Padlewski <prazek@google.com>
Thu, 27 Aug 2015 21:35:41 +0000 (21:35 +0000)
committerPiotr Padlewski <prazek@google.com>
Thu, 27 Aug 2015 21:35:41 +0000 (21:35 +0000)
commit3e3b23e283a01c27838620db2aaae56aea621ef0
tree18b4801d2cd86b0f5063e75793b20b95cf07f8a9
parentb50aff8739667e100bca22d3a62bcaba9709ec48
Assume loads fix #2

There was linker problem, and it turns out that it is not always safe
to refer to vtable. If the vtable is used, then we can refer to it
without any problem, but because we don't know when it will be used or
not, we can only check if vtable is external or it is safe to to emit it
speculativly (when class it doesn't have any inline virtual functions).
It should be fixed in the future.

http://reviews.llvm.org/D12385

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@246214 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/CGCXXABI.h
lib/CodeGen/CGClass.cpp
lib/CodeGen/CGVTables.cpp
lib/CodeGen/ItaniumCXXABI.cpp
lib/CodeGen/MicrosoftCXXABI.cpp
test/CodeGenCXX/template-instantiation.cpp
test/CodeGenCXX/thunks.cpp
test/CodeGenCXX/vtable-assume-load.cpp
test/CodeGenCXX/vtable-available-externally.cpp