Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Introduce CodeGenModule::GetTargetTypeStoreSize() to calculate the store size | Ken Dyck | 2010-01-26 | 1 | -0/+5 |
| | | | | | | of LLVM types in character units. llvm-svn: 94542 | ||||
* | Created __builtin___NSStringMakeConstantString() builtin, which generates ↵ | David Chisnall | 2010-01-23 | 1 | -1/+4 |
| | | | | | | constant Objective-C strings. llvm-svn: 94274 | ||||
* | Generalize target weirdness handling having proper layering in mind: | Anton Korobeynikov | 2010-01-10 | 1 | -0/+3 |
| | | | | | | | | | 1. Add helper class for sema checks for target attributes 2. Add helper class for codegen of target attributes As a proof-of-concept - implement msp430's 'interrupt' attribute. llvm-svn: 93118 | ||||
* | Fix for PR5967: Make const-marking for LLVM globals correct for cases requiring | Eli Friedman | 2010-01-08 | 1 | -2/+4 |
| | | | | | | | run-time initialization, and emit run-time initializers aggresively to avoid ordering issues with deferred globals. llvm-svn: 92976 | ||||
* | Fix linkage for RTTI names by re-using the logic for computing the | Douglas Gregor | 2010-01-06 | 1 | -1/+2 |
| | | | | | | | | 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 | ||||
* | Fix marking of virtual members for nested classes whose first non-pure ↵ | Douglas Gregor | 2010-01-06 | 1 | -0/+4 |
| | | | | | | virtual function has a body inlined in the class llvm-svn: 92855 | ||||
* | Move address points to CGVtableInfo, no functionality change. | Anders Carlsson | 2010-01-02 | 1 | -5/+0 |
| | | | | llvm-svn: 92420 | ||||
* | Work in progress for setting the vtable pointers for all bases correctly in | Eli Friedman | 2009-12-18 | 1 | -2/+2 |
| | | | | | | | the constructor. This doesn't handle cases requiring the VTT at the moment, and generates unnecessary stores, but I think it's essentially correct. llvm-svn: 91731 | ||||
* | Rename GetAddrOfRTTI to GetAddrOfRTTIDescriptor. Remove the overload that ↵ | Anders Carlsson | 2009-12-17 | 1 | -6/+3 |
| | | | | | | takes a CXXRecordDecl since we were just creating a QualType from it anyway. llvm-svn: 91590 | ||||
* | Use GetAddrOfRTTI everywhere and remove GenerateRTTI and GenerateRTTIRef. ↵ | Anders Carlsson | 2009-12-16 | 1 | -11/+0 |
| | | | | | | With this change, we can now compile and link TableGen. llvm-svn: 91520 | ||||
* | Improve linkage of RTTI data structures. Introduce ↵ | Anders Carlsson | 2009-12-11 | 1 | -0/+7 |
| | | | | | | 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). llvm-svn: 91098 | ||||
* | Work-in-progess rewrite of thunks: move thunk generation outside of vtable | Eli Friedman | 2009-12-06 | 1 | -0/+7 |
| | | | | | | | generation, and make sure we generate thunks when the function is defined rather than when the vtable is defined. llvm-svn: 90722 | ||||
* | Set the correct linkage for VTTs as well. | Anders Carlsson | 2009-12-06 | 1 | -4/+3 |
| | | | | llvm-svn: 90689 | ||||
* | Make GenerateVtable a private member function of CGVtableInfo. | Anders Carlsson | 2009-12-06 | 1 | -9/+0 |
| | | | | llvm-svn: 90684 | ||||
* | Minor cleanup. | Eli Friedman | 2009-12-03 | 1 | -1/+1 |
| | | | | llvm-svn: 90411 | ||||
* | Add support for thunking dtors. Oh why does this make my head hurt? | Mike Stump | 2009-12-03 | 1 | -2/+2 |
| | | | | llvm-svn: 90409 | ||||
* | Add CodeGenModule::ComputeThunkAdjustment, which Eli wrote. | Anders Carlsson | 2009-12-03 | 1 | -1/+6 |
| | | | | llvm-svn: 90401 | ||||
* | Change rtti/Rtti to RTTI, as it is an acronym. | Mike Stump | 2009-12-02 | 1 | -6/+6 |
| | | | | llvm-svn: 90334 | ||||
* | Simplify and fix up the handling of implicit constructors, copy assignment | Eli Friedman | 2009-11-26 | 1 | -3/+0 |
| | | | | | | | | operators, and destructors. Avoids generating declarations/definitions of trivial constructors/destructors, and makes sure the trivial copy assignment operator is generated when necessary. llvm-svn: 89943 | ||||
* | Add a CovariantThunkAdjustment struct that represents the adjustments needed ↵ | Anders Carlsson | 2009-11-26 | 1 | -3/+3 |
| | | | | | | for a covariant thunk. llvm-svn: 89933 | ||||
* | Add a ThunkAdjustment struct which holds a non-virtual and a virtual ↵ | Anders Carlsson | 2009-11-26 | 1 | -3/+4 |
| | | | | | | adjustment offset. Start using it. General cleanup in Mangle.cpp. llvm-svn: 89925 | ||||
* | Simplify rtti building code a little. Prep for reuse for throw rtti | Mike Stump | 2009-11-20 | 1 | -1/+1 |
| | | | | | | generation. llvm-svn: 89416 | ||||
* | Add typeid for the builtin types. WIP. | Mike Stump | 2009-11-17 | 1 | -0/+3 |
| | | | | llvm-svn: 89028 | ||||
* | Finisgh off rest of class_type_info rtti generation. | Mike Stump | 2009-11-14 | 1 | -0/+3 |
| | | | | llvm-svn: 88823 | ||||
* | Move GlobalDecl to its own file. Also add DenseMapInfo traits. | Anders Carlsson | 2009-11-13 | 1 | -39/+1 |
| | | | | llvm-svn: 87081 | ||||
* | Allow the tracking of address points for construction vtables as well. | Mike Stump | 2009-11-13 | 1 | -2/+3 |
| | | | | llvm-svn: 87063 | ||||
* | Fix the offset calculations for non-virtual bases with overrides. | Mike Stump | 2009-11-12 | 1 | -3/+11 |
| | | | | | | | | | Refine the VTT entries for virtual bases to refer to the complete object's vtable instead of constructor vtables. Refine the AddressPoint calculations for VTT entries for virtual bases. llvm-svn: 87021 | ||||
* | "Attach debug info with llvm instructions" mode was enabled a month ago. ↵ | Devang Patel | 2009-11-12 | 1 | -2/+0 |
| | | | | | | Now make it permanent and remove old way of inserting intrinsics to encode debug info for locations and types. llvm-svn: 87007 | ||||
* | Move CompileOptions -> CodeGenOptions, and sink it into the CodeGen library. | Chandler Carruth | 2009-11-12 | 1 | -4/+4 |
| | | | | | | This resolves the layering violation where CodeGen depended on Frontend. llvm-svn: 86998 | ||||
* | Push ctor vtable construction down further. WIP. | Mike Stump | 2009-11-11 | 1 | -1/+3 |
| | | | | llvm-svn: 86878 | ||||
* | Add vtable caching to prevent multiple vtables for the same class from | Mike Stump | 2009-11-10 | 1 | -0/+6 |
| | | | | | | | | being generated. Add the most derived vtable pointer to the VTT. llvm-svn: 86671 | ||||
* | Added support for static variables which require | Fariborz Jahanian | 2009-11-05 | 1 | -1/+1 |
| | | | | | | initialization before main. Fixes pr5396. llvm-svn: 86145 | ||||
* | Enable "debug info attached to an instruction" mode. | Devang Patel | 2009-10-12 | 1 | -0/+2 |
| | | | | llvm-svn: 83928 | ||||
* | Move the vtable builder to CGVtable.cpp, general cleanup. | Anders Carlsson | 2009-10-11 | 1 | -3/+5 |
| | | | | llvm-svn: 83798 | ||||
* | Add a MangleContext and pass it to all mangle functions. It will be used for ↵ | Anders Carlsson | 2009-10-07 | 1 | -1/+5 |
| | | | | | | keeping state, such as identifiers assigned to anonymous structs as well as scope encoding. llvm-svn: 83442 | ||||
* | Move some functions from CodeGenFunctions to CodeGenModule so they can be ↵ | Anders Carlsson | 2009-10-03 | 1 | -0/+8 |
| | | | | | | used by CGExprConstant. llvm-svn: 83263 | ||||
* | Fix subtle bug in generating LLVM function declarations for builtin functions. | Daniel Dunbar | 2009-09-14 | 1 | -1/+2 |
| | | | | | | | | | | The decl wasn't being passed down, which meant that function attributes were not being set correctly. This is particularly important for ARM, since it wants to override the calling convention. Instead we would emit the builtin with the wrong calling convention, and instcombine would come along and merrily shred all the calls to it. :) llvm-svn: 81756 | ||||
* | whitespace fix | Chris Lattner | 2009-09-12 | 1 | -1/+1 |
| | | | | llvm-svn: 81644 | ||||
* | Change CodeGenModule::ConstructTypeAttributes to return the calling convention | Daniel Dunbar | 2009-09-12 | 1 | -1/+11 |
| | | | | | | to use, and allow the ABI implementation to override the calling convention. llvm-svn: 81593 | ||||
* | Add basic covariant thunk generation support. WIP. | Mike Stump | 2009-09-11 | 1 | -0/+4 |
| | | | | llvm-svn: 81585 | ||||
* | Pass GlobalDecls to GenerateCode and StartFunction. | Anders Carlsson | 2009-09-11 | 1 | -6/+7 |
| | | | | llvm-svn: 81485 | ||||
* | Add stricter GlobalDecl constructors. | Anders Carlsson | 2009-09-10 | 1 | -7/+15 |
| | | | | llvm-svn: 81480 | ||||
* | Remove tabs, and whitespace cleanups. | Mike Stump | 2009-09-09 | 1 | -27/+27 |
| | | | | llvm-svn: 81346 | ||||
* | Install thunks later to fixup overrides. Track space taken by vbase | Mike Stump | 2009-09-05 | 1 | -2/+2 |
| | | | | | | offsets better for thunk refinements. Cleanups. WIP. llvm-svn: 81067 | ||||
* | Add overidding for methods for vtable building for the secondary | Mike Stump | 2009-09-04 | 1 | -0/+4 |
| | | | | | | vtables. Add thunk generation. WIP. llvm-svn: 81014 | ||||
* | Cleanups. Move GenerateRtti to CodeGenModule. | Mike Stump | 2009-08-18 | 1 | -0/+3 |
| | | | | llvm-svn: 79372 | ||||
* | Patch toward synthesizing non-trivial destructors. WIP | Fariborz Jahanian | 2009-08-16 | 1 | -0/+1 |
| | | | | llvm-svn: 79199 | ||||
* | Patch to force synthesis of copy assignment operator | Fariborz Jahanian | 2009-08-13 | 1 | -0/+1 |
| | | | | | | | | function in the order according to c++03. ir-gen for copy assignment in the trivial case and the first test case. llvm-svn: 78938 | ||||
* | LLVMContext is a class now. | Benjamin Kramer | 2009-08-11 | 1 | -1/+1 |
| | | | | llvm-svn: 78691 | ||||
* | Add support for global initializers. | Anders Carlsson | 2009-08-08 | 1 | -0/+7 |
| | | | | llvm-svn: 78515 |