Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Get rid of the ugly CGCXX names and replace them with CGClass, CGExprCXX and ↵ | Anders Carlsson | 2009-11-24 | 1 | -525/+0 |
| | | | | | | CGTemporaries. llvm-svn: 89742 | ||||
* | Use EmitStoreOfScalar when copying the scalar to the space allocated by 'new'. | Anders Carlsson | 2009-11-22 | 1 | -2/+3 |
| | | | | llvm-svn: 89613 | ||||
* | Simplify rtti building code a little. Prep for reuse for throw rtti | Mike Stump | 2009-11-20 | 1 | -2/+2 |
| | | | | | | generation. llvm-svn: 89416 | ||||
* | Refactor emitting call to delete operator into common function EmitDeleteCall. | Eli Friedman | 2009-11-18 | 1 | -26/+29 |
| | | | | llvm-svn: 89173 | ||||
* | Add rtti support for pointer to data members. | Mike Stump | 2009-11-17 | 1 | -3/+3 |
| | | | | llvm-svn: 89155 | ||||
* | Fix typo. Thanks Ted. | Mike Stump | 2009-11-17 | 1 | -1/+1 |
| | | | | llvm-svn: 89031 | ||||
* | Add typeid for the builtin types. WIP. | Mike Stump | 2009-11-17 | 1 | -8/+7 |
| | | | | llvm-svn: 89028 | ||||
* | Ensure we peer through () when handling typeid(*p). | Mike Stump | 2009-11-17 | 1 | -1/+1 |
| | | | | llvm-svn: 89015 | ||||
* | Since we always have 2 edges, we don't need to reserve 3 slot for the | Mike Stump | 2009-11-17 | 1 | -1/+1 |
| | | | | | | PHI node. llvm-svn: 89005 | ||||
* | Minor CFG refinements for typeid and dynamic_cast. | Mike Stump | 2009-11-17 | 1 | -4/+1 |
| | | | | llvm-svn: 89004 | ||||
* | Implement dynamic_cast<void*>(E). | Mike Stump | 2009-11-16 | 1 | -51/+64 |
| | | | | llvm-svn: 88988 | ||||
* | Audit done, all the required casts are already done. | Mike Stump | 2009-11-16 | 1 | -2/+0 |
| | | | | llvm-svn: 88966 | ||||
* | Implement most of dynamic_cast. WIP. | Mike Stump | 2009-11-16 | 1 | -1/+110 |
| | | | | llvm-svn: 88901 | ||||
* | Implement two-argument form of delete operator. | Eli Friedman | 2009-11-16 | 1 | -0/+8 |
| | | | | llvm-svn: 88890 | ||||
* | Peer through refernces for typeid. WIP. | Mike Stump | 2009-11-15 | 1 | -0/+2 |
| | | | | llvm-svn: 88871 | ||||
* | Finish off zero check for typeid(*p) so that it will do a __cxa_bad_typeid. | Mike Stump | 2009-11-15 | 1 | -2/+25 |
| | | | | llvm-svn: 88852 | ||||
* | Implement typeid for class types. | Mike Stump | 2009-11-15 | 1 | -0/+36 |
| | | | | llvm-svn: 88843 | ||||
* | Code gen. For virtual destructor call on array objects | Fariborz Jahanian | 2009-11-13 | 1 | -1/+0 |
| | | | | | | (still part of pr5472). llvm-svn: 88712 | ||||
* | Fixes a code gen. bug for array delete operator call | Fariborz Jahanian | 2009-11-13 | 1 | -3/+6 |
| | | | | | | | | | | int 32bit abi (pr5472 related). -This line, and those below, will be ignored-- M lib/CodeGen/CGCXXExpr.cpp llvm-svn: 88695 | ||||
* | Code gen for arrady delete operator. Fixes pr5472. | Fariborz Jahanian | 2009-11-13 | 1 | -6/+28 |
| | | | | llvm-svn: 88680 | ||||
* | Add a special BuildVirtualCall that's going to be used for building calls to ↵ | Anders Carlsson | 2009-11-13 | 1 | -16/+23 |
| | | | | | | | | | | | | | | | | destructors. This is needed because when compiling: struct A { virtual ~A(); }; void f(A* a) { delete a; } A's deleting destructor should be called. llvm-svn: 87083 | ||||
* | Fix for PR5454: make sure to use the right block as the predecessor in the | Eli Friedman | 2009-11-10 | 1 | -0/+1 |
| | | | | | | generated PHI node for the null check of a new operator. llvm-svn: 86738 | ||||
* | Fix a lame regression in IR gen for C++ delete expressions. PR5102 | Douglas Gregor | 2009-10-01 | 1 | -0/+2 |
| | | | | llvm-svn: 83195 | ||||
* | Handle C++ delete expressions when the overloaded delete operator is a | Douglas Gregor | 2009-09-29 | 1 | -3/+11 |
| | | | | | | | | | | | "usual deallocation function" with two arguments. CodeGen will have to handle this case specifically, since the value for the second argument (the size of the allocated object) may have to be computed at run time. Fixes the Sema part of PR4782. llvm-svn: 83080 | ||||
* | Emit new[] cookie when needed. | Anders Carlsson | 2009-09-23 | 1 | -6/+19 |
| | | | | llvm-svn: 82642 | ||||
* | Basic support for new[]. | Anders Carlsson | 2009-09-23 | 1 | -26/+104 |
| | | | | llvm-svn: 82628 | ||||
* | Move codegen of new and delete to CGCXXExpr.cpp | Anders Carlsson | 2009-09-22 | 1 | -0/+203 |
llvm-svn: 82585 |