Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Attempt to fix the MSVC build. | Anders Carlsson | 2009-12-03 | 1 | -4/+4 |
| | | | | llvm-svn: 90427 | ||||
* | Fix thunk generation for thunks with a parameter with reference type. | Eli Friedman | 2009-12-03 | 1 | -1/+2 |
| | | | | llvm-svn: 90412 | ||||
* | Minor cleanup. | Eli Friedman | 2009-12-03 | 3 | -12/+7 |
| | | | | llvm-svn: 90411 | ||||
* | Add support for thunking dtors. Oh why does this make my head hurt? | Mike Stump | 2009-12-03 | 4 | -15/+27 |
| | | | | llvm-svn: 90409 | ||||
* | Reflow. | Mike Stump | 2009-12-03 | 1 | -1/+3 |
| | | | | llvm-svn: 90407 | ||||
* | Revert r90402 for now, virt.cpp is failing. | Anders Carlsson | 2009-12-03 | 1 | -11/+9 |
| | | | | llvm-svn: 90406 | ||||
* | Use Eli's ComputeThunkAdjustment for calculating the return adjustment. | Anders Carlsson | 2009-12-03 | 1 | -9/+11 |
| | | | | llvm-svn: 90402 | ||||
* | Add CodeGenModule::ComputeThunkAdjustment, which Eli wrote. | Anders Carlsson | 2009-12-03 | 2 | -1/+42 |
| | | | | llvm-svn: 90401 | ||||
* | Remove the index from the Thunk struct. | Anders Carlsson | 2009-12-03 | 1 | -14/+10 |
| | | | | llvm-svn: 90400 | ||||
* | Change the Thunks map to use the vtable index as the key. | Anders Carlsson | 2009-12-03 | 1 | -7/+9 |
| | | | | llvm-svn: 90399 | ||||
* | Add the global decl to the Thunk struct. | Anders Carlsson | 2009-12-03 | 1 | -5/+7 |
| | | | | llvm-svn: 90398 | ||||
* | Remove unused struct fields. | Anders Carlsson | 2009-12-03 | 1 | -7/+2 |
| | | | | llvm-svn: 90397 | ||||
* | Delay computing the return adjustments for covariant thunks until when they ↵ | Anders Carlsson | 2009-12-03 | 1 | -98/+113 |
| | | | | | | are added to the vtable. llvm-svn: 90396 | ||||
* | No need to create the covariant thunk in both places now. | Anders Carlsson | 2009-12-03 | 1 | -12/+5 |
| | | | | llvm-svn: 90394 | ||||
* | Whoops, forgot to save :) | Anders Carlsson | 2009-12-03 | 1 | -2/+4 |
| | | | | llvm-svn: 90393 | ||||
* | Remove the index field from the CovariantThunk structure. | Anders Carlsson | 2009-12-03 | 1 | -14/+6 |
| | | | | llvm-svn: 90392 | ||||
* | Change the CovariantThunk map to use the vtable index as its key. | Anders Carlsson | 2009-12-03 | 1 | -9/+9 |
| | | | | llvm-svn: 90391 | ||||
* | Store a GlobalDecl in the return adjustment. | Anders Carlsson | 2009-12-03 | 1 | -4/+7 |
| | | | | llvm-svn: 90387 | ||||
* | Do not include the 'this' pointer adjustment in the covariant return type. ↵ | Anders Carlsson | 2009-12-03 | 1 | -26/+39 |
| | | | | | | Instead, store it in the (now oddly named) Thunks map. llvm-svn: 90386 | ||||
* | Move VtableBuilder::OverrideMethod out of line in preparation of other ↵ | Anders Carlsson | 2009-12-03 | 1 | -112/+117 |
| | | | | | | changes to it. No functionality change. llvm-svn: 90382 | ||||
* | Remove untrue statement. | Mike Stump | 2009-12-03 | 1 | -3/+0 |
| | | | | llvm-svn: 90377 | ||||
* | Note a failure I saw from the g++ testsuite: | Mike Stump | 2009-12-03 | 1 | -0/+1 |
| | | | | | | FAIL: g++.old-deja/g++.mike/eh23.C (test for excess errors) llvm-svn: 90374 | ||||
* | Work-in-progress: teach mangler how to mangle thunks for destructors. | Eli Friedman | 2009-12-03 | 2 | -3/+16 |
| | | | | llvm-svn: 90360 | ||||
* | Cleanups on exceptional edges don't work at all, yet. This doesn't | Mike Stump | 2009-12-02 | 1 | -5/+0 |
| | | | | | | | catch very many of them and if we caught all of them, the errors would be annoying. I'm working on this next. WIP. llvm-svn: 90358 | ||||
* | Add a cleanup scope for each catch clause. | Mike Stump | 2009-12-02 | 1 | -15/+19 |
| | | | | llvm-svn: 90357 | ||||
* | Add missing branch to exit. Seemingly obvious when I look at the | Mike Stump | 2009-12-02 | 1 | -0/+3 |
| | | | | | | code, but to track this down was laborious. llvm-svn: 90356 | ||||
* | Fix for PR5522 and PR5666: fix a bunch of mangling issues with extern variables | Eli Friedman | 2009-12-02 | 1 | -11/+25 |
| | | | | | | and funcctions declared locally within a function. llvm-svn: 90344 | ||||
* | Pull the terminate handler up so that we can use it for the catch | Mike Stump | 2009-12-02 | 1 | -35/+31 |
| | | | | | | | parameter setup code and set up the catch parameter setup code to protect that code with terminate. llvm-svn: 90340 | ||||
* | Turn off for now. | Mike Stump | 2009-12-02 | 1 | -2/+2 |
| | | | | llvm-svn: 90339 | ||||
* | Put the Builder classes into the anonymous namespace. | Mike Stump | 2009-12-02 | 2 | -1/+4 |
| | | | | llvm-svn: 90335 | ||||
* | Change rtti/Rtti to RTTI, as it is an acronym. | Mike Stump | 2009-12-02 | 7 | -39/+40 |
| | | | | llvm-svn: 90334 | ||||
* | Rename CGRtti.cpp to CGRTTI.cpp. | Mike Stump | 2009-12-02 | 2 | -1/+1 |
| | | | | llvm-svn: 90331 | ||||
* | Avoid warning for getTerminateFn defined but not used. | Mike Stump | 2009-12-02 | 1 | -9/+3 |
| | | | | llvm-svn: 90330 | ||||
* | terminate doesn't throw. | Mike Stump | 2009-12-02 | 1 | -0/+1 |
| | | | | llvm-svn: 90308 | ||||
* | More exception handling improvements... WIP. | Mike Stump | 2009-12-02 | 3 | -47/+112 |
| | | | | | | | | | | | Highlights include: Add a helper to generate __cxa_free_exception and _ZSt9terminatev. Add a region to handle EH object deallocation for ctor failures for throw. Add a terminate handler for __cxa_end_catch. A framework for adding cleanup actions for the exceptional edges only. llvm-svn: 90305 | ||||
* | Added an assert. | Fariborz Jahanian | 2009-12-01 | 1 | -1/+4 |
| | | | | llvm-svn: 90285 | ||||
* | Make EmitStoreOfScalar generate a more sane representation of boolean stores. | Eli Friedman | 2009-12-01 | 1 | -6/+1 |
| | | | | | | "Fixes" PR5645. llvm-svn: 90272 | ||||
* | (objc2 nonfragile-abi specific). If the translation unit includes an ↵ | Fariborz Jahanian | 2009-12-01 | 1 | -11/+10 |
| | | | | | | | | | implementation of a subclass (direct or indirect) of a weak_import root class, emit a weak reference for the root class's metaclass (should complete radar 6815425). llvm-svn: 90249 | ||||
* | Update for llvm intrinsics change. | Eric Christopher | 2009-12-01 | 1 | -0/+7 |
| | | | | llvm-svn: 90208 | ||||
* | Much work on try/catch statement. WIP. | Mike Stump | 2009-12-01 | 1 | -69/+250 |
| | | | | | | | | | | | | | | | | | Highlights include: Fix __cxa_begin_catch so it now returns a value. Added getUnwindResumeOrRethrowFn helper to build up calls to _Unwind_Resume_or_Rethrow. Broke out object copying code into CopyObject from EmitCXXThrowExpr. Built up another version of CopyObject that can copy from memory for use in the catch parameter code. RTTI generation for type matching for catch. Code to check for the type match for catch. Code to generate the catch parameter, WIP, need make sure references and pointers and copy ctors work. llvm-svn: 90205 | ||||
* | Have ASTRecordLayout keep track of the key function, in preparation of ↵ | Anders Carlsson | 2009-11-30 | 5 | -67/+50 |
| | | | | | | fixing a synthetic ctor/dtor bug. llvm-svn: 90168 | ||||
* | More support for virtual destructor calls. | Fariborz Jahanian | 2009-11-30 | 1 | -15/+26 |
| | | | | | | Fixes pr5619 llvm-svn: 90158 | ||||
* | Reflow comments and fix 80-col violation. | Mike Stump | 2009-11-30 | 1 | -29/+27 |
| | | | | llvm-svn: 90152 | ||||
* | Fix an assert. | Anders Carlsson | 2009-11-30 | 1 | -2/+2 |
| | | | | llvm-svn: 90149 | ||||
* | Don't try to generate common globals for C++ files, instead of depending on ↵ | Daniel Dunbar | 2009-11-30 | 1 | -1/+1 |
| | | | | | | the FE to set NoCommon, and simplify CodeGenOptions initialization. llvm-svn: 90119 | ||||
* | Minor cleanup (no functionality change). | Eli Friedman | 2009-11-30 | 1 | -23/+12 |
| | | | | llvm-svn: 90105 | ||||
* | Don't pass false (default) for isVolatile parameter to CreateLoad. | Daniel Dunbar | 2009-11-29 | 5 | -20/+22 |
| | | | | llvm-svn: 90098 | ||||
* | Explicitly use setVolatile instead of extra IRBuilder argument. | Daniel Dunbar | 2009-11-29 | 1 | -1/+3 |
| | | | | llvm-svn: 90095 | ||||
* | Don't pass false (default) for isVolatile parameter to CreateStore. | Daniel Dunbar | 2009-11-29 | 1 | -8/+8 |
| | | | | llvm-svn: 90094 | ||||
* | Simplify code. No functionality change. | Benjamin Kramer | 2009-11-29 | 1 | -22/+6 |
| | | | | llvm-svn: 90087 |