Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Work-in-progress: teach mangler how to mangle thunks for destructors. | Eli Friedman | 2009-12-03 | 1 | -0/+3 |
| | | | | llvm-svn: 90360 | ||||
* | Change rtti/Rtti to RTTI, as it is an acronym. | Mike Stump | 2009-12-02 | 1 | -2/+2 |
| | | | | llvm-svn: 90334 | ||||
* | Add a CovariantThunkAdjustment struct that represents the adjustments needed ↵ | Anders Carlsson | 2009-11-26 | 1 | -2/+3 |
| | | | | | | for a covariant thunk. llvm-svn: 89933 | ||||
* | Move the mangler into the CodeGen namespace. Change mangleThunk to take a ↵ | Anders Carlsson | 2009-11-26 | 1 | -9/+13 |
| | | | | | | ThunkAdjustment. llvm-svn: 89930 | ||||
* | Add a ThunkAdjustment struct which holds a non-virtual and a virtual ↵ | Anders Carlsson | 2009-11-26 | 1 | -1/+2 |
| | | | | | | adjustment offset. Start using it. General cleanup in Mangle.cpp. llvm-svn: 89925 | ||||
* | Mangler: Lift shouldMangleDeclName predicate out of CXXNameMangler::mangle. | Daniel Dunbar | 2009-11-21 | 1 | -1/+3 |
| | | | | | | | | - Sometimes we have to mangle things we wouldn't normally (e.g., because they appear in a template expression). - This also tidies up the predicate to be more obvious what is getting mangled. llvm-svn: 89555 | ||||
* | IRgen: Switch the C++ mangler interfaces to take the SmallVector to write into, | Daniel Dunbar | 2009-11-21 | 1 | -12/+15 |
| | | | | | | | instead of requiring clients to make a raw_svector_ostream, which is just an implementation detail. llvm-svn: 89548 | ||||
* | Sink free mangle* methods into MangleContext. | Daniel Dunbar | 2009-11-21 | 1 | -46/+44 |
| | | | | llvm-svn: 89547 | ||||
* | Mangling support for typeinfo names. | Mike Stump | 2009-11-14 | 1 | -0/+2 |
| | | | | llvm-svn: 88726 | ||||
* | Add mangling for the construction vtable. | Mike Stump | 2009-11-10 | 1 | -0/+3 |
| | | | | llvm-svn: 86643 | ||||
* | Fix thinko, mangleCXXRtti should obviously take a QualType! | Anders Carlsson | 2009-10-30 | 1 | -1/+1 |
| | | | | llvm-svn: 85565 | ||||
* | mangleCXXRtti obviously needs to take a type, what was I thinking... | Anders Carlsson | 2009-10-30 | 1 | -1/+1 |
| | | | | llvm-svn: 85555 | ||||
* | Add mangling for VTTs. | Mike Stump | 2009-10-28 | 1 | -0/+2 |
| | | | | llvm-svn: 85363 | ||||
* | Change mangleCXXVtable and mangleCXXRtti to take CXXRecordDecls instead of ↵ | Anders Carlsson | 2009-10-11 | 1 | -2/+4 |
| | | | | | | QualTypes. llvm-svn: 83793 | ||||
* | Mangle anonymous structs/unions correctly. Fixes PR5139. | Anders Carlsson | 2009-10-07 | 1 | -0/+11 |
| | | | | llvm-svn: 83448 | ||||
* | Add a MangleContext and pass it to all mangle functions. It will be used for ↵ | Anders Carlsson | 2009-10-07 | 1 | -12/+22 |
| | | | | | | keeping state, such as identifiers assigned to anonymous structs as well as scope encoding. llvm-svn: 83442 | ||||
* | Add basic covariant thunk generation support. WIP. | Mike Stump | 2009-09-11 | 1 | -4/+3 |
| | | | | llvm-svn: 81585 | ||||
* | Remove tabs, and whitespace cleanups. | Mike Stump | 2009-09-09 | 1 | -3/+3 |
| | | | | llvm-svn: 81346 | ||||
* | Refine vcall offsets. Cleanups. WIP. | Mike Stump | 2009-09-07 | 1 | -1/+2 |
| | | | | llvm-svn: 81143 | ||||
* | Install thunks later to fixup overrides. Track space taken by vbase | Mike Stump | 2009-09-05 | 1 | -1/+1 |
| | | | | | | offsets better for thunk refinements. Cleanups. WIP. llvm-svn: 81067 | ||||
* | Add mangling for covariant thunks. | Mike Stump | 2009-09-02 | 1 | -0/+4 |
| | | | | llvm-svn: 80747 | ||||
* | Shorten name. | Mike Stump | 2009-09-02 | 1 | -2/+2 |
| | | | | llvm-svn: 80744 | ||||
* | Add mangling for thunks. | Mike Stump | 2009-09-02 | 1 | -0/+2 |
| | | | | llvm-svn: 80743 | ||||
* | Add beginnigs of rtti generation, wire up more of -fno-exceptions. | Mike Stump | 2009-07-31 | 1 | -0/+1 |
| | | | | llvm-svn: 77751 | ||||
* | Add code to setup the vtable pointer in the constructor. Work in progress. | Mike Stump | 2009-07-31 | 1 | -0/+2 |
| | | | | llvm-svn: 77699 | ||||
* | Add support for generating (very basic) C++ destructors. These aren't called ↵ | Anders Carlsson | 2009-04-17 | 1 | -0/+3 |
| | | | | | | by anything yet. llvm-svn: 69343 | ||||
* | Add support for mangling C++ constructors. Review appreciated (I'm looking ↵ | Anders Carlsson | 2009-04-15 | 1 | -0/+5 |
| | | | | | | at you, Doug) llvm-svn: 69150 | ||||
* | Add support for mangling guard variables. | Anders Carlsson | 2009-04-13 | 1 | -1/+4 |
| | | | | llvm-svn: 68969 | ||||
* | fix several problems with asm renaming, by pulling it into the mangling code: | Chris Lattner | 2009-03-21 | 1 | -0/+1 |
| | | | | | | | | 1. it wasn't applying to definitions, only declarations, e.g. int x __asm("foo") 2. multiple definitions were conflicting, they weren't getting merged. 3. the code was duplicated in several places. llvm-svn: 67442 | ||||
* | Address Chris's comments regarding C++ name mangling. | Douglas Gregor | 2009-02-18 | 1 | -1/+1 |
| | | | | llvm-svn: 64984 | ||||
* | Add basic support for C++ name mangling according to the Itanium C++ | Douglas Gregor | 2009-02-13 | 1 | -0/+32 |
ABI to the CodeGen library. Since C++ code-generation is so incomplete, we can't exercise much of this mangling code. However, a few smoke tests show that it's doing the same thing as GCC. When C++ codegen matures, we'll extend the ABI tester to verify name-mangling as well, and complete the implementation here. At this point, the major client of name mangling is in the uses of the new "overloadable" attribute in C, which allows overloading. Any "overloadable" function in C (or in an extern "C" block in C++) will be mangled the same way that the corresponding C++ function would be mangled. llvm-svn: 64413 |