]> granicus.if.org Git - clang/commit
MS ABI: Emit more canonical vbptr stores and loads
authorReid Kleckner <reid@kleckner.net>
Wed, 22 Oct 2014 17:26:00 +0000 (17:26 +0000)
committerReid Kleckner <reid@kleckner.net>
Wed, 22 Oct 2014 17:26:00 +0000 (17:26 +0000)
commitb7f05872636b6eaf6f0b11b177b812dee891c19f
tree68de3ad2c2dca80940115e237b9dd19e2012f428
parentc886ae8062c914804256420f20c918685da5d1b5
MS ABI: Emit more canonical vbptr stores and loads

This eliminates some i8* GEPs and makes the IR that clang emits a bit
more canonical. More work is needed for vftables, but that isn't a clear
win so I plan to send it for review.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@220398 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/MicrosoftCXXABI.cpp
test/CodeGenCXX/microsoft-abi-dynamic-cast.cpp
test/CodeGenCXX/microsoft-abi-member-pointers.cpp
test/CodeGenCXX/microsoft-abi-structors.cpp
test/CodeGenCXX/microsoft-abi-thunks.cpp
test/CodeGenCXX/microsoft-abi-typeid.cpp
test/CodeGenCXX/microsoft-abi-virtual-inheritance-vtordisps.cpp
test/CodeGenCXX/microsoft-abi-virtual-inheritance.cpp
test/CodeGenCXX/virtual-base-cast.cpp