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)
commit611cdb9a63cb6ace5c113957432cf19ef6895fe5
tree58dbd7f6f38334a59d3d45e75bc78001ecccea41
parent1b070d25ca6d0e18aced39ba82b3a1cfb6dde099
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.

llvm-svn: 212439
clang/lib/CodeGen/MicrosoftCXXABI.cpp
clang/test/CodeGenCXX/dllexport.cpp
clang/test/CodeGenCXX/microsoft-abi-dynamic-cast.cpp
clang/test/CodeGenCXX/microsoft-abi-rtti.cpp
clang/test/CodeGenCXX/microsoft-abi-typeid.cpp