[PATCH] Cast vtable address points to i32 (...)** to enable more globalopt
Reid Kleckner
rnk at google.com
Wed Oct 22 10:44:11 PDT 2014
Hi majnemer, nlewycky,
We currently use i32 (...)** as the type of the vptr field in the LLVM
struct type. LLVM's GlobalOpt prefers any bitcasts to be on the side of
the data being stored rather than on the pointer being stored to.
http://reviews.llvm.org/D5916
Files:
lib/CodeGen/CGClass.cpp
test/CodeGenCXX/constructor-init.cpp
test/CodeGenCXX/copy-constructor-synthesis-2.cpp
test/CodeGenCXX/copy-constructor-synthesis.cpp
test/CodeGenCXX/ctor-globalopt.cpp
test/CodeGenCXX/microsoft-abi-multiple-nonvirtual-inheritance.cpp
test/CodeGenCXX/microsoft-abi-structors.cpp
test/CodeGenCXX/microsoft-abi-virtual-inheritance.cpp
test/CodeGenCXX/microsoft-interface.cpp
test/CodeGenCXX/skip-vtable-pointer-initialization.cpp
test/CodeGenCXX/vtable-pointer-initialization.cpp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D5916.15260.patch
Type: text/x-patch
Size: 19195 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20141022/3ea99f06/attachment.bin>
More information about the cfe-commits
mailing list