]> granicus.if.org Git - clang/commit
CodeGen: Cleanup MS ABI RTTI LLVM IR
authorDavid Majnemer <david.majnemer@gmail.com>
Mon, 7 Jul 2014 08:09:15 +0000 (08:09 +0000)
committerDavid Majnemer <david.majnemer@gmail.com>
Mon, 7 Jul 2014 08:09:15 +0000 (08:09 +0000)
commit926f58b96ef5cea00290671da575b7d2273c2c5f
tree51538c6d4beeb698d48bd11c5ec40c8bd5d8e476
parent57b86d027b2c471918bb22f31af23b0e0418110e
CodeGen: Cleanup MS ABI RTTI LLVM IR

The MS ABI RTTI emission code would choose names for IR types like
%"MSRTTITypeDescriptor\02".  This name is undesirable because it
requires escaping; the underlying reason for this is that the name is
unprintable.  Fix this by naming it %rtti.TypeDescriptor2.

While here, stop trying to do lookups in the LLVM Module's type table.
Instead, store the IR types in MicrosoftCXXABI.  Lookups by name aren't
particularly fast.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@212439 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/MicrosoftCXXABI.cpp
test/CodeGenCXX/dllexport.cpp
test/CodeGenCXX/microsoft-abi-dynamic-cast.cpp
test/CodeGenCXX/microsoft-abi-rtti.cpp
test/CodeGenCXX/microsoft-abi-typeid.cpp