2dde35bc626153492f5f58202506c88a27fbff5b |
|
19-Oct-2011 |
John McCall <rjmccall@apple.com> |
More metaprogramming with builtin types. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142433 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
0ddaeb9b031070ec64afe92d9892875ac44df427 |
|
17-Oct-2011 |
John McCall <rjmccall@apple.com> |
Add a new placeholder type to represent "unbridged" casts in ARC. No semantic analysis yet. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142208 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
aa4a99b4a62615db243f7a5c433169f2fc704420 |
|
15-Oct-2011 |
Anton Korobeynikov <asl@math.spbu.ru> |
Provide half floating point support as a storage only type. Lack of half FP was a regression compared to llvm-gcc. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142016 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
5e1cdac63c3d9c9b32fa41fa0b2d242a58a20d49 |
|
07-Oct-2011 |
John McCall <rjmccall@apple.com> |
Rename TagDecl::isDefinition -> isCompleteDefinition for better self-documenting code, since the semantics are subtly different from getDefinition(). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141355 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
b001de7458d17c17e6d8b8034c7cfcefd3b70c00 |
|
07-Oct-2011 |
Eli Friedman <eli.friedman@gmail.com> |
Support for C1x _Atomic specifier (see testcase). This is primarily being committed at the moment to help support C++0x <atomic>, but it should be a solid base for implementing the full specification of C1x _Atomic. Thanks to Jeffrey Yasskin for the thorough review! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141330 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
1d2b31710539d705a3850c9fc3aa1804c2a5efee |
|
26-Sep-2011 |
Peter Collingbourne <peter@pcc.me.uk> |
Create a VTableContext class and start moving CodeGenVTables methods to it git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140502 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
b219cfc4d75f0a03630b7c4509ef791b7e97b2c8 |
|
23-Sep-2011 |
David Blaikie <dblaikie@gmail.com> |
Switch assert(0/false) llvm_unreachable. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140367 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
e926523105dd2604ccd5c101605dea43c5269965 |
|
27-Jul-2011 |
Peter Collingbourne <peter@pcc.me.uk> |
CodeGen: rename CodeGenModule::Runtime to ObjCRuntime git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136254 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
5f9e272e632e951b1efe824cd16acb4d96077930 |
|
23-Jul-2011 |
Chris Lattner <sabre@nondot.org> |
remove unneeded llvm:: namespace qualifiers on some core types now that LLVM.h imports them into the clang namespace. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@135852 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
a5c04344fa70d6eec34344760c1fe511e16f2d76 |
|
21-Jul-2011 |
Jay Foad <jay.foad@gmail.com> |
Convert ConstantExpr::getGetElementPtr and ConstantExpr::getInBoundsGetElementPtr to use ArrayRef. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@135673 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
2acc6e3feda5e4f7d9009bdcf8b1cd777fecfe2d |
|
18-Jul-2011 |
Chris Lattner <sabre@nondot.org> |
de-constify llvm::Type, patch by David Blaikie! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@135370 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
c5cbb909e8a27deb8f1a2b6b7bf56a96051af81a |
|
20-Jun-2011 |
Chris Lattner <sabre@nondot.org> |
Update to match mainline ConstantStruct::get API change. Also, use ConvertType on InitListExprs as they are being converted. This is needed for a forthcoming patch, and improves the IR generated anyway (see additional type names in testcases). This patch also converts a bunch of std::vector's in CGObjCMac to use C arrays. There are a ton more that should be converted as well. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@133413 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
864c041e118155c2b1ce0ba36942a3da5a4a055e |
|
26-Apr-2011 |
John McCall <rjmccall@apple.com> |
Make yet another placeholder type, this one marking that an expression is a bound member function, i.e. something of the form 'x.f' where 'f' is a non-static member function. Diagnose this in the general case. Some of the new diagnostics are probably worse than the old ones, but we now get this right much more universally, and there's certainly room for improvement in the diagnostics. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@130239 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
b653d5ac2f1afab5bf3256145c4112754f4b5779 |
|
09-Apr-2011 |
Ken Dyck <kd@kendyck.com> |
Eliminate a divide-by-8 in BuildVMIClassTypeInfo() by using CharUnits for the base offset. No change in functionality intended. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129179 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
14c65ca4cd914f3090d7eedb9bff4deb0ffc7927 |
|
07-Apr-2011 |
Ken Dyck <kd@kendyck.com> |
[Reapply r128776, modified so that it does not break debug info.] Change the return type of CodeGenVTables::getVirtualBaseOffsetOffset() to CharUnits. No change in functionality intended. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129072 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
1de4d4e8cb2e9c88809fea8092bc6e835a5473d2 |
|
07-Apr-2011 |
John McCall <rjmccall@apple.com> |
Basic, untested implementation for an "unknown any" type requested by LLDB. The idea is that you can create a VarDecl with an unknown type, or a FunctionDecl with an unknown return type, and it will still be valid to access that object as long as you explicitly cast it at every use. I'm still going back and forth about how I want to test this effectively, but I wanted to go ahead and provide a skeletal implementation for the LLDB folks' benefit and because it also improves some diagnostic goodness for placeholder expressions. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129065 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
62c117db25cf7142e149fce82d2b3caa1237674c |
|
04-Apr-2011 |
Devang Patel <dpatel@apple.com> |
Revert r128770, r128771, r128773 and r128776 for now. It breaks debug info. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128842 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
4fbabd37fd107e0e477b45146499d38a77bf9335 |
|
02-Apr-2011 |
Ken Dyck <kd@kendyck.com> |
Change the return type of CodeGenVTables::getVirtualBaseOffsetOffset() to CharUnits. No change in functionality intended. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128776 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
80558d2db10a96eada4d8fb79949b3263b44652b |
|
20-Mar-2011 |
David Chisnall <csdavec@swan.ac.uk> |
Fix Objective-C++ exceptions (GNU runtime). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@127980 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
34b41d939a1328f484511c6002ba2456db879a29 |
|
20-Feb-2011 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Implement the C++0x deduced 'auto' feature. This fixes PR 8738, 9060 and 9132. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126069 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
f0be979bddb8baa28e77693a3dc931e487b2a9f2 |
|
11-Feb-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
For consistency, use llvm::raw_ostream in the rest of the mangle api. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@125360 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
6d7f8473cd6e967b3676948894ce72472102f9cb |
|
30-Jan-2011 |
Anders Carlsson <andersca@mac.com> |
When building with optimizations, emit vtables where the key is not in the current translation unit as available_externally. This helps devirtualize the second example in PR3100, comment 18: struct S { S() {}; virtual void xyzzy(); }; inline void foo(S *s) { s->xyzzy(); } void bar() { S s; foo(&s); } This involved four major changes: 1. In DefineUsedVTables, always mark virtual member functions as referenced for non-template classes and class template specializations. 2. In CodeGenVTables::ShouldEmitVTableInThisTU return true if optimizations are enabled, even if the key function is not implemented in this translation unit. We don't ever do this for code compiled with -fapple-kext, because we don't ever want to devirtualize virtual member function calls in that case. 3. Give the correct linkage for vtables where the key function is not defined. 4. Update the linkage for RTTI structures when necessary. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@124565 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
237f95996c82f63582c13987ce5e64629f7539b0 |
|
29-Jan-2011 |
Anders Carlsson <andersca@mac.com> |
Remove dead code. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@124554 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
907c828b080332854826a87451e838930f4be788 |
|
29-Jan-2011 |
Anders Carlsson <andersca@mac.com> |
When emitting RTTI for a non-class type, compute the visibility of the RTTI data based on the explicit visibility of the type. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@124553 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
9a86a137b0872bad25161fb3408a71d919638757 |
|
29-Jan-2011 |
Anders Carlsson <andersca@mac.com> |
Add RTTIBuilder::GetAddrOfTypeName which uses the newly added CreateOrReplaceCXXRuntimeVariable. Set the visibility for typeinfo names. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@124548 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
fa2e99f72f9bfe2270ea8caf76d0eef11c45259f |
|
29-Jan-2011 |
Anders Carlsson <andersca@mac.com> |
Change CodeGenModule::setTypeVisibility to take a TypeVisibilityKind enum instead of an "IsForRTTI" flag. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@124546 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
1cbce125b91cad81c8be3f8bbae8df917211176c |
|
29-Jan-2011 |
Anders Carlsson <andersca@mac.com> |
Make emitting a VTT a two-step process, much like emitting a VTable. You first get the address of the VTT, and then pass it to EmitVTTDefinition. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@124539 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
c93a776c89bd0820813e5c7c87af2c820d9bbd27 |
|
29-Jan-2011 |
Anders Carlsson <andersca@mac.com> |
Remove IsDefinition from CodeGenModule::setTypeVisibility; it is always true. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@124529 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
e34e3aa7b8dfd0794e5f5293a4aef178eed10a16 |
|
24-Jan-2011 |
Anders Carlsson <andersca@mac.com> |
When building a type info struct for EH, we always want it to have linkonce_odr linkage. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@124096 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
3a717f7fbb94ec31b826b48c15fdc965b5910df3 |
|
24-Jan-2011 |
Anders Carlsson <andersca@mac.com> |
Change CodeGenModule::getVTableLinkage to be a non-static member function. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@124095 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
f502d93b0ea970bfbd897e657f8d940a20984de2 |
|
24-Jan-2011 |
Anders Carlsson <andersca@mac.com> |
Mark VTables and RTTI data linkonce_odr instead of weak_odr, with the exception of explicit template instantiations, which have to be weak_odr. This fixes PR6996. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@124089 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
57244f69e2e780bb5584a37a12e31be83b1eaadb |
|
12-Jan-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
Set unnamed_addr in every type info. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@123293 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
b1c65ff108de47a89585ad37874bd6cb232664cd |
|
11-Jan-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
Set unnamed_addr for type infos that we are confortable marking as hidden. I think it is safe to mark all type infos with unnamed_addr, but I am not sure. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@123275 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
3f59c975aa5d047f7edd1b900b5e885c38af0ef7 |
|
26-Dec-2010 |
Chris Lattner <sabre@nondot.org> |
The -fshort-wchar option causes wchar_t to become unsigned, in addition to being 16-bits in size. Implement this by splitting WChar into two enums, like we have for char. This fixes a miscompmilation of XULRunner, PR8856. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@122558 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
9c39acfda88268bcc7fb5521b55ce41942dcb3b0 |
|
17-Dec-2010 |
John McCall <rjmccall@apple.com> |
Give hidden visibility to RTTI for derived types. This is kindof a hacky way to do this, but it fixes rdar://problem/8778973 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@122033 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
2bd6250f8e14750033362664ee298c2cc0e64853 |
|
04-Nov-2010 |
Anders Carlsson <andersca@mac.com> |
std::nullptr_t is a fundamental type for RTTI purposes. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@118238 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
a14f5979572aa25c03d24750ee4724d2031d4ede |
|
01-Nov-2010 |
Anders Carlsson <andersca@mac.com> |
Rename getBaseClassOffset to getBaseClassOffsetInBits and introduce a getBaseClassOffset which returns the offset in CharUnits. Do the same thing for getVBaseClassOffset. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@117881 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
af14603ca61757cf4361b583b45639a04c57e651 |
|
30-Oct-2010 |
John McCall <rjmccall@apple.com> |
Better solution: calculate the visibility of functions and variables independently of whether they're definitions, then teach IR generation to ignore non-explicit visibility when emitting declarations. Use this to make sure that RTTI, vtables, and VTTs get the right visibility. More of rdar://problem/8613093 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@117781 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
1fb0caaa7bef765b85972274e3b434af2572c141 |
|
22-Oct-2010 |
John McCall <rjmccall@apple.com> |
Substantially revise how clang computes the visibility of a declaration to more closely parallel the computation of linkage. This gets us to a state much closer to what gcc emits, modulo bugs, which will undoubtedly arise in abundance. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@117147 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
79ba2a6379f87fa137377c3f55ff993b9e5cc144 |
|
22-Oct-2010 |
Benjamin Kramer <benny.kra@googlemail.com> |
More class anonymization. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@117106 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
d2c47bde3bc0c0debd8a9728781d3375efe22bc5 |
|
11-Oct-2010 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Make sure the VTables for template instantiations are emitted even if the key function doesn't have a body. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116186 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
6d576051b9ca56fe962077fb194ed2917539989a |
|
11-Oct-2010 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Don't let typeinfo name symbols be 'internal hidden', it can lead to linker conflicts with similarly named classes in anonymous namespaces. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116185 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
26fc28d88e6ff0279e37074cc304e0cfe3e31714 |
|
04-Sep-2010 |
John McCall <rjmccall@apple.com> |
Petty optimization. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@113049 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
4c40d98ab7acf5f27fa89b17bd8fc0ef7683df37 |
|
31-Aug-2010 |
John McCall <rjmccall@apple.com> |
Teach IR generation to return 'this' from constructors and destructors under the ARM ABI. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112588 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
a7e6845660f91ec611427e1db842780e1ec12bdb |
|
22-Aug-2010 |
Eli Friedman <eli.friedman@gmail.com> |
Detabify. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111768 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
f2aabe199a9a2c794faf6ec16c26a340d18e9eb8 |
|
15-Aug-2010 |
Eli Friedman <eli.friedman@gmail.com> |
Explicitly handle every case in the switch in RTTIBuilder::BuildTypeInfo. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111085 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
279b5eb6910d64a293e9c0e2887a05c65d8737d7 |
|
13-Aug-2010 |
John McCall <rjmccall@apple.com> |
Just disable the hidden-visibility optimization for now by hiding it behind a -cc1 option. The Darwin linker complains about mixed visibility when linking gcc-built objects with clang-built objects, and the optimization isn't really that valuable. Platforms with less ornery linkers can feel free to enable this. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110979 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
e8dc53e5857ac1cf65fa4e9d87e3d88d4452b9d4 |
|
12-Aug-2010 |
John McCall <rjmccall@apple.com> |
Implement RTTI generation for Objective C types. Fixes PR7864. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110900 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
1cf26f5c103cd2d6d1e14d4d6b72df477d8bf107 |
|
11-Aug-2010 |
Eli Friedman <eli.friedman@gmail.com> |
Work in progress for PR7864. Someone more familiar with ObjC++ needs to fill in the code after the "FIXME: Needs to be written". git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110849 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
cbfe50224b19119e759802bd0c1463269dffd09e |
|
04-Aug-2010 |
John McCall <rjmccall@apple.com> |
Emit standard-library RTTI with external linkage, not weak_odr. Apply hidden visibility to most RTTI; libstdc++ does not rely on exact pointer equality for the type info (just the type info names). Apply the same optimization to RTTI that we do to vtables. Fixes PR5962. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110192 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
4aedb1cab1a731bfa5c82459669320a72b0d6e66 |
|
07-Jul-2010 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
getBody() -> hasBody() git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107773 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
abd6b09e3daa4d82b7e8ee6966d7f745fd121835 |
|
02-Jun-2010 |
Anders Carlsson <andersca@mac.com> |
When building RTTI descriptors for pointer types, we need to get the unqualified array type and the qualifiers from it. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@105326 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
9dffe6f51c676c1e423c382c62d1648746e36cd4 |
|
30-Apr-2010 |
John McCall <rjmccall@apple.com> |
Fix -fno-rtti -fexceptions by forcing the emission of (non-"builtin") RTTI when used by the exceptions routines. Fixes PR 6974. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@102684 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
046c294a43024874ff35656c6e785b64e72f1f36 |
|
17-Apr-2010 |
Anders Carlsson <andersca@mac.com> |
Vtable -> VTable renames across the board. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@101666 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
1e201b4a9d4880c3f90ab77e8a308140f003c7da |
|
08-Apr-2010 |
Douglas Gregor <dgregor@apple.com> |
Eliminate excessive PCH deserialization caused by the search for __cxxabiv1::__fundamental_type_info in every translation unit. Previously, we would perform name lookup for __cxxabiv1::__fundamental_type_info at the end of IRGen for a each translation unit, to determine whether it was present. If so, we we produce type information for all of the fundamental types. However, this name lookup causes PCH deserialization of a significant part of the translation unit, which has a woeful impact on performance. With this change, we now look at each record type after we've generated its vtable to see if it is __cxxabiv1::__fundamental_type_info. If so, we generate type info for all of the fundamental types. This works because __cxxabiv1::__fundamental_type_info should always have a key function (typically the virtual destructor), that will be defined once in the support library. The fundamental type information will end up there. Fixes <rdar://problem/7840011>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100772 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
031b37140d0864c741618960b5220245a2a086ae |
|
31-Mar-2010 |
Douglas Gregor <dgregor@apple.com> |
Drastically simplify the computation of linkage for typeinfo by using the existing (and already well-tested) linkage computation for types, with minor tweaks for dynamic classes and (pointers to) incomplete types. Fixes PR6597. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@99968 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
d1a5c31b78997befe75d10a4731cee4ab211cc31 |
|
27-Mar-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
When given the magic class __cxxabiv1::__fundamental_type_info, produce the typeinfo for the fundamental types. Fixes PR6685. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@99701 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
af4403545a50a60d208e6fcae057308d576a92e0 |
|
23-Mar-2010 |
Anders Carlsson <andersca@mac.com> |
Rename CGVtableInfo to CodeGenVTables in preparation of adding another VTableInfo class. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@99250 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
bba16079eed1f3c8cd141685ecfaec9e78e07e35 |
|
11-Mar-2010 |
Anders Carlsson <andersca@mac.com> |
Rename getVirtualBaseOffsetIndex to getVirtualBaseOffsetOffset to reflect what it actually does. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98248 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
86ff308724171494395a840fd2efbe25e62f352e |
|
04-Feb-2010 |
John McCall <rjmccall@apple.com> |
Extract a common structure for holding information about the definition of a C++ record. Exposed a lot of problems where various routines were silently doing The Wrong Thing (or The Acceptable Thing in The Wrong Order) when presented with a non-definition. Also cuts down on memory usage. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95330 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
dffb8010a130733f1b55acf0af01deb0a2e083d3 |
|
06-Jan-2010 |
Douglas Gregor <dgregor@apple.com> |
Fix linkage for RTTI names by re-using the logic for computing the linkage of vtables. Before this, we were emitting RTTI names for template instantiations with strong external linkage rather than with weak ODR linkage. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@92857 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
9ed2059d7b0da1775bcd0e64621aa3d90c014dc0 |
|
02-Jan-2010 |
Anders Carlsson <andersca@mac.com> |
Speculative MSVC fix. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@92421 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
e8f90389c43efbbe820574f674a98ac701bf48a2 |
|
31-Dec-2009 |
Anders Carlsson <andersca@mac.com> |
If the key function of a record is inline, then the RTTI data should have weak_odr linkage. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@92371 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
531d55ff7b3ab8910487f916c340c7eccd7ef27e |
|
31-Dec-2009 |
Anders Carlsson <andersca@mac.com> |
More RTTI builder cleanup. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@92360 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
0814809e5bc27cccd59b63e99ab1eb52042dc13c |
|
31-Dec-2009 |
Anders Carlsson <andersca@mac.com> |
Fix a bunch of bugs with VMI RTTI building, and add a whole bunch of tests. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@92319 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
f64531a17037faa9e0119e90961d2db77d06865d |
|
30-Dec-2009 |
Anders Carlsson <andersca@mac.com> |
More RTTI cleanup, test that RTTI classes have the correct vtables. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@92284 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
c8cfd636f645bdd4f8a519a925c697e528eb7f3f |
|
29-Dec-2009 |
Anders Carlsson <andersca@mac.com> |
Match gcc and treat vector types as fundamental types. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@92278 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
9c7b6bb952672b9d184a4426138579d55c370afc |
|
29-Dec-2009 |
Anders Carlsson <andersca@mac.com> |
Handle enum types as well. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@92276 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
978ef68bc4cde1448a1f6c8ab0e20543cec1a486 |
|
29-Dec-2009 |
Anders Carlsson <andersca@mac.com> |
Test linkage of RTTI descriptors of array types. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@92274 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
09b6e6e8854cc4a824060101a9633082e55d7a33 |
|
29-Dec-2009 |
Anders Carlsson <andersca@mac.com> |
Fix function type RTTI linkage and add tests. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@92266 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
4e6f8ee45d9b822b437529e2334b146bb8c3537f |
|
24-Dec-2009 |
Mike Stump <mrs@apple.com> |
Don't set hidden for a non-external symbol as that would make it extenal. Refine codegen for visibility and hidden. WIP. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@92118 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
c8f76f557c4839c8e5f142ac4681ad010e07c855 |
|
24-Dec-2009 |
Mike Stump <mrs@apple.com> |
Fix recent regression caught by g++.old-deja/g++.mike/eh19.C. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@92109 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
8d9fb9b21364892b5e41ebfacdad8f41414d2b89 |
|
23-Dec-2009 |
Mike Stump <mrs@apple.com> |
Fix regression found by g++.dg/eh/alias1.C. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@92072 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
625c1ae781e3b8973bc9ec520268fe3301e4caf5 |
|
21-Dec-2009 |
Anders Carlsson <andersca@mac.com> |
Incomplete structs should also have internal linkage. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91805 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
17fa6f971c1912c77aa10bdac4b7991b5e1646e2 |
|
21-Dec-2009 |
Anders Carlsson <andersca@mac.com> |
Correcly handle pointers to member pointer types where the class or the pointee is incomplete. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91804 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
8d1451535524cb21a6f8347bad9fed371b9d9ecb |
|
20-Dec-2009 |
Anders Carlsson <andersca@mac.com> |
Rework the way pointer types are handled by the RTTI builder. We now get the right linkage for indirect pointers to incomplete structs. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91799 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
7177dee8aee4b432911c91f1b788963bec0cac9f |
|
19-Dec-2009 |
Daniel Dunbar <daniel@zuster.org> |
Remove ';' after method definition. Noticed by clang++, which one would think would have a higher respect for its own code. This is getting old, is this warning really adding value? git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91779 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
1d7088d1d9dc99e5478c0184a3e21cafef2a0b53 |
|
17-Dec-2009 |
Anders Carlsson <andersca@mac.com> |
Rename GetAddrOfRTTI to GetAddrOfRTTIDescriptor. Remove the overload that takes a CXXRecordDecl since we were just creating a QualType from it anyway. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91590 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
ab6faf34259881cbaf0197430831ebac1fb98a34 |
|
17-Dec-2009 |
Anders Carlsson <andersca@mac.com> |
Simplify RTTIBuilder::finish. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91585 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
234407793b43179f56268fbbb459e5a480df6dc5 |
|
17-Dec-2009 |
Anders Carlsson <andersca@mac.com> |
Move the Info vector into the RTTIBuilder struct. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91583 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
e8e4a1c0bf2e3dd26dd0721a102307bbb589e96a |
|
16-Dec-2009 |
Anders Carlsson <andersca@mac.com> |
Use GetAddrOfRTTI everywhere and remove GenerateRTTI and GenerateRTTIRef. With this change, we can now compile and link TableGen. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91520 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
3bf190ebefb861fd05c77d5f47d4709386735a12 |
|
14-Dec-2009 |
Anders Carlsson <andersca@mac.com> |
Simplify BuildSimpleType in the RTTBuilder to avoid using an std::vector. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91255 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
5ba7d2156f5b3f7b078b33fa9cd264762bc6779b |
|
13-Dec-2009 |
Anders Carlsson <andersca@mac.com> |
Change the RTTIBuilder's finish member function to take a pointer to the constants array + the length of the array. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91241 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
470fb73d4e09e1dfe62cb545d7fe0e567ac6e8d6 |
|
11-Dec-2009 |
Eli Friedman <eli.friedman@gmail.com> |
Fix linkage of type info and vtable for classes without linkage. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91152 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
44636d11eab74ea3948393f889173766096916ae |
|
11-Dec-2009 |
Anders Carlsson <andersca@mac.com> |
Move info vectors and add assertions in preparation of moving the vector directly into RTTIBuilder. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91129 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
4e7135613a558020f003972b2a5ae5f8d5306508 |
|
11-Dec-2009 |
Anders Carlsson <andersca@mac.com> |
Use GetAddrOfRTTI when getting the RTTI pointer for a base class. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91127 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
31b7f52d8c8d459e80d2a72176cc7fcc4b7d8d38 |
|
11-Dec-2009 |
Anders Carlsson <andersca@mac.com> |
Improve linkage of RTTI data structures. Introduce CodeGenModule::GetAddrOfRTTI which figures out the right linkage of the RTTI information for the given type and whether it should be defined or not. I will migrate clients over to GetAddrOfRTTI in subsequent commits (with tests). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91098 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
d6baec80f2e7763bbcc9aefd7eaa1580223b1389 |
|
11-Dec-2009 |
Anders Carlsson <andersca@mac.com> |
Use named flags in RTTIBuilder::BuildPointerType. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91088 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
1c4269a9d9a61b48d1ad7c180fb8f8fc07c2ad8c |
|
04-Dec-2009 |
Mike Stump <mrs@apple.com> |
Be sure to instantiate rtti for non-polymorphic bases. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90586 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
92f2fe2541c60d2130677a1613b0d5f257798b8f |
|
02-Dec-2009 |
Mike Stump <mrs@apple.com> |
Put the Builder classes into the anonymous namespace. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90335 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
de05057932cebc3f43911f87d75869cb7b705a19 |
|
02-Dec-2009 |
Mike Stump <mrs@apple.com> |
Change rtti/Rtti to RTTI, as it is an acronym. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90334 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|
0cb6c19e466e640853568386e35ee77b34ecbcea |
|
02-Dec-2009 |
Mike Stump <mrs@apple.com> |
Rename CGRtti.cpp to CGRTTI.cpp. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90331 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/CodeGen/CGRTTI.cpp
|