| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | Set unnamed_addr in every type info. | Rafael Espindola | 2011-01-11 | 1 | -4/+2 |
| | | | | | llvm-svn: 123293 | ||||
| * | Set unnamed_addr for type infos that we are confortable marking as hidden. I | Rafael Espindola | 2011-01-11 | 1 | -1/+5 |
| | | | | | | | think it is safe to mark all type infos with unnamed_addr, but I am not sure. llvm-svn: 123275 | ||||
| * | The -fshort-wchar option causes wchar_t to become unsigned, in addition to being | Chris Lattner | 2010-12-25 | 1 | -1/+2 |
| | | | | | | | | 16-bits in size. Implement this by splitting WChar into two enums, like we have for char. This fixes a miscompmilation of XULRunner, PR8856. llvm-svn: 122558 | ||||
| * | Give hidden visibility to RTTI for derived types. This is kindof a hacky | John McCall | 2010-12-17 | 1 | -3/+5 |
| | | | | | | | way to do this, but it fixes rdar://problem/8778973 llvm-svn: 122033 | ||||
| * | std::nullptr_t is a fundamental type for RTTI purposes. | Anders Carlsson | 2010-11-04 | 1 | -18/+16 |
| | | | | | llvm-svn: 118238 | ||||
| * | Rename getBaseClassOffset to getBaseClassOffsetInBits and introduce a ↵ | Anders Carlsson | 2010-10-31 | 1 | -1/+1 |
| | | | | | | | getBaseClassOffset which returns the offset in CharUnits. Do the same thing for getVBaseClassOffset. llvm-svn: 117881 | ||||
| * | Better solution: calculate the visibility of functions and variables | John McCall | 2010-10-30 | 1 | -1/+1 |
| | | | | | | | | | | | 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 llvm-svn: 117781 | ||||
| * | Substantially revise how clang computes the visibility of a declaration to | John McCall | 2010-10-22 | 1 | -1/+1 |
| | | | | | | | | | 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. llvm-svn: 117147 | ||||
| * | More class anonymization. | Benjamin Kramer | 2010-10-22 | 1 | -6/+8 |
| | | | | | llvm-svn: 117106 | ||||
| * | Make sure the VTables for template instantiations are emitted even if the ↵ | Argyrios Kyrtzidis | 2010-10-11 | 1 | -11/+5 |
| | | | | | | | key function doesn't have a body. llvm-svn: 116186 | ||||
| * | Don't let typeinfo name symbols be 'internal hidden', it can lead to linker ↵ | Argyrios Kyrtzidis | 2010-10-11 | 1 | -1/+1 |
| | | | | | | | | | conflicts with similarly named classes in anonymous namespaces. llvm-svn: 116185 | ||||
| * | Petty optimization. | John McCall | 2010-09-04 | 1 | -1/+1 |
| | | | | | llvm-svn: 113049 | ||||
| * | Teach IR generation to return 'this' from constructors and destructors | John McCall | 2010-08-31 | 1 | -3/+4 |
| | | | | | | | under the ARM ABI. llvm-svn: 112588 | ||||
| * | Detabify. | Eli Friedman | 2010-08-22 | 1 | -1/+1 |
| | | | | | llvm-svn: 111768 | ||||
| * | Explicitly handle every case in the switch in RTTIBuilder::BuildTypeInfo. | Eli Friedman | 2010-08-15 | 1 | -2/+15 |
| | | | | | llvm-svn: 111085 | ||||
| * | Just disable the hidden-visibility optimization for now by hiding it behind | John McCall | 2010-08-12 | 1 | -3/+8 |
| | | | | | | | | | 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. llvm-svn: 110979 | ||||
| * | Implement RTTI generation for Objective C types. Fixes PR7864. | John McCall | 2010-08-12 | 1 | -16/+73 |
| | | | | | llvm-svn: 110900 | ||||
| * | Work in progress for PR7864. Someone more familiar with ObjC++ needs to fill | Eli Friedman | 2010-08-11 | 1 | -3/+24 |
| | | | | | | | in the code after the "FIXME: Needs to be written". llvm-svn: 110849 | ||||
| * | Emit standard-library RTTI with external linkage, not weak_odr. | John McCall | 2010-08-04 | 1 | -12/+33 |
| | | | | | | | | | | | 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. llvm-svn: 110192 | ||||
| * | getBody() -> hasBody() | Argyrios Kyrtzidis | 2010-07-07 | 1 | -1/+1 |
| | | | | | llvm-svn: 107773 | ||||
| * | When building RTTI descriptors for pointer types, we need to get the ↵ | Anders Carlsson | 2010-06-02 | 1 | -6/+14 |
| | | | | | | | unqualified array type and the qualifiers from it. llvm-svn: 105326 | ||||
| * | Fix -fno-rtti -fexceptions by forcing the emission of (non-"builtin") RTTI | John McCall | 2010-04-30 | 1 | -7/+19 |
| | | | | | | | when used by the exceptions routines. Fixes PR 6974. llvm-svn: 102684 | ||||
| * | Vtable -> VTable renames across the board. | Anders Carlsson | 2010-04-17 | 1 | -20/+20 |
| | | | | | llvm-svn: 101666 | ||||
| * | Eliminate excessive PCH deserialization caused by the search for | Douglas Gregor | 2010-04-08 | 1 | -35/+0 |
| | | | | | | | | | | | | | | | | | | | | | | | __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>. llvm-svn: 100772 | ||||
| * | Drastically simplify the computation of linkage for typeinfo by using | Douglas Gregor | 2010-03-31 | 1 | -75/+12 |
| | | | | | | | | | the existing (and already well-tested) linkage computation for types, with minor tweaks for dynamic classes and (pointers to) incomplete types. Fixes PR6597. llvm-svn: 99968 | ||||
| * | When given the magic class __cxxabiv1::__fundamental_type_info, produce | Rafael Espindola | 2010-03-27 | 1 | -6/+63 |
| | | | | | | | | | the typeinfo for the fundamental types. Fixes PR6685. llvm-svn: 99701 | ||||
| * | Rename CGVtableInfo to CodeGenVTables in preparation of adding another ↵ | Anders Carlsson | 2010-03-23 | 1 | -1/+1 |
| | | | | | | | VTableInfo class. llvm-svn: 99250 | ||||
| * | Rename getVirtualBaseOffsetIndex to getVirtualBaseOffsetOffset to reflect ↵ | Anders Carlsson | 2010-03-11 | 1 | -1/+1 |
| | | | | | | | what it actually does. llvm-svn: 98248 | ||||
| * | Extract a common structure for holding information about the definition | John McCall | 2010-02-04 | 1 | -2/+5 |
| | | | | | | | | | 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. llvm-svn: 95330 | ||||
| * | Fix linkage for RTTI names by re-using the logic for computing the | Douglas Gregor | 2010-01-06 | 1 | -18/+3 |
| | | | | | | | | | linkage of vtables. Before this, we were emitting RTTI names for template instantiations with strong external linkage rather than with weak ODR linkage. llvm-svn: 92857 | ||||
| * | Speculative MSVC fix. | Anders Carlsson | 2010-01-02 | 1 | -3/+2 |
| | | | | | llvm-svn: 92421 | ||||
| * | If the key function of a record is inline, then the RTTI data should have ↵ | Anders Carlsson | 2009-12-31 | 1 | -0/+8 |
| | | | | | | | weak_odr linkage. llvm-svn: 92371 | ||||
| * | More RTTI builder cleanup. | Anders Carlsson | 2009-12-31 | 1 | -76/+26 |
| | | | | | llvm-svn: 92360 | ||||
| * | Fix a bunch of bugs with VMI RTTI building, and add a whole bunch of tests. | Anders Carlsson | 2009-12-30 | 1 | -213/+188 |
| | | | | | llvm-svn: 92319 | ||||
| * | More RTTI cleanup, test that RTTI classes have the correct vtables. | Anders Carlsson | 2009-12-30 | 1 | -52/+57 |
| | | | | | llvm-svn: 92284 | ||||
| * | Match gcc and treat vector types as fundamental types. | Anders Carlsson | 2009-12-29 | 1 | -9/+23 |
| | | | | | llvm-svn: 92278 | ||||
| * | Handle enum types as well. | Anders Carlsson | 2009-12-29 | 1 | -3/+22 |
| | | | | | llvm-svn: 92276 | ||||
| * | Test linkage of RTTI descriptors of array types. | Anders Carlsson | 2009-12-29 | 1 | -29/+61 |
| | | | | | llvm-svn: 92274 | ||||
| * | Fix function type RTTI linkage and add tests. | Anders Carlsson | 2009-12-29 | 1 | -4/+14 |
| | | | | | llvm-svn: 92266 | ||||
| * | Don't set hidden for a non-external symbol as that would make it extenal. | Mike Stump | 2009-12-24 | 1 | -1/+29 |
| | | | | | | | Refine codegen for visibility and hidden. WIP. llvm-svn: 92118 | ||||
| * | Fix recent regression caught by g++.old-deja/g++.mike/eh19.C. | Mike Stump | 2009-12-24 | 1 | -0/+20 |
| | | | | | llvm-svn: 92109 | ||||
| * | Fix regression found by g++.dg/eh/alias1.C. | Mike Stump | 2009-12-23 | 1 | -0/+4 |
| | | | | | llvm-svn: 92072 | ||||
| * | Incomplete structs should also have internal linkage. | Anders Carlsson | 2009-12-21 | 1 | -9/+76 |
| | | | | | llvm-svn: 91805 | ||||
| * | Correcly handle pointers to member pointer types where the class or the ↵ | Anders Carlsson | 2009-12-20 | 1 | -42/+48 |
| | | | | | | | pointee is incomplete. llvm-svn: 91804 | ||||
| * | Rework the way pointer types are handled by the RTTI builder. We now get the ↵ | Anders Carlsson | 2009-12-20 | 1 | -101/+354 |
| | | | | | | | right linkage for indirect pointers to incomplete structs. llvm-svn: 91799 | ||||
| * | Remove ';' after method definition. Noticed by clang++, which one would think | Daniel Dunbar | 2009-12-19 | 1 | -1/+1 |
| | | | | | | | | would have a higher respect for its own code. This is getting old, is this warning really adding value? llvm-svn: 91779 | ||||
| * | Rename GetAddrOfRTTI to GetAddrOfRTTIDescriptor. Remove the overload that ↵ | Anders Carlsson | 2009-12-17 | 1 | -34/+26 |
| | | | | | | | takes a CXXRecordDecl since we were just creating a QualType from it anyway. llvm-svn: 91590 | ||||
| * | Simplify RTTIBuilder::finish. | Anders Carlsson | 2009-12-17 | 1 | -11/+9 |
| | | | | | llvm-svn: 91585 | ||||
| * | Move the Info vector into the RTTIBuilder struct. No functionality change. | Anders Carlsson | 2009-12-17 | 1 | -18/+19 |
| | | | | | llvm-svn: 91583 | ||||
| * | Use GetAddrOfRTTI everywhere and remove GenerateRTTI and GenerateRTTIRef. ↵ | Anders Carlsson | 2009-12-16 | 1 | -18/+0 |
| | | | | | | | With this change, we can now compile and link TableGen. llvm-svn: 91520 | ||||

