Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Don't try to treat an enum constant as an lvalue. | Anders Carlsson | 2009-11-23 | 1 | -1/+8 | |
| | | | | llvm-svn: 89705 | |||||
* | Handle converting member pointers to bool. | Anders Carlsson | 2009-11-23 | 1 | -0/+29 | |
| | | | | llvm-svn: 89692 | |||||
* | Handle base-to-derived casts. Will land test case shortly. | Anders Carlsson | 2009-11-23 | 1 | -12/+33 | |
| | | | | llvm-svn: 89678 | |||||
* | Fix lifetime of conditional temporaries. Patch by Victor Zverovich! | Anders Carlsson | 2009-11-20 | 1 | -8/+8 | |
| | | | | llvm-svn: 89467 | |||||
* | Minor cleanup to member pointer handling. | Eli Friedman | 2009-11-18 | 1 | -7/+3 | |
| | | | | llvm-svn: 89201 | |||||
* | Clean up scalar cast kind handling; make cast kind handling explicitly handle | Eli Friedman | 2009-11-16 | 1 | -36/+61 | |
| | | | | | | more cases. No intended visible change. llvm-svn: 88968 | |||||
* | Implement most of dynamic_cast. WIP. | Mike Stump | 2009-11-16 | 1 | -0/+6 | |
| | | | | llvm-svn: 88901 | |||||
* | indirectbr seems to work! Rip out the old code. | Chris Lattner | 2009-11-06 | 1 | -8/+0 | |
| | | | | llvm-svn: 86256 | |||||
* | Refine volatile handling, specifically, we must have the canonical | Mike Stump | 2009-11-03 | 1 | -5/+9 | |
| | | | | | | | type to look at the volatile specifier. I found these all from just hand auditing the code. llvm-svn: 85967 | |||||
* | Add CGException.cpp, to be used for exception related code generation. | Anders Carlsson | 2009-10-30 | 1 | -1/+6 | |
| | | | | llvm-svn: 85560 | |||||
* | Implement clang support for indirect branch and address of label | Chris Lattner | 2009-10-28 | 1 | -0/+5 | |
| | | | | | | | | using the new LLVM support for this. This is temporarily hiding behind horrible and ugly #ifdefs until the time when the optimizer is stable (hopefully a week or so). Until then, lets make it "opt in" :) llvm-svn: 85446 | |||||
* | Fix a bug in calculating shufflevector indices when constructing vectors ↵ | Nate Begeman | 2009-10-25 | 1 | -4/+3 | |
| | | | | | | | | from other vectors. If I can find it again, I will check in a testcase. llvm-svn: 85032 | |||||
* | Complete code gen for '.*' binary expression for | Fariborz Jahanian | 2009-10-22 | 1 | -24/+5 | |
| | | | | | | both scalar and aggregates. llvm-svn: 84910 | |||||
* | Canonicality is a property of qualified types, not unqualified types. | John McCall | 2009-10-22 | 1 | -1/+1 | |
| | | | | llvm-svn: 84891 | |||||
* | Code gen for '.*' binary expressions - WIP. | Fariborz Jahanian | 2009-10-21 | 1 | -0/+27 | |
| | | | | llvm-svn: 84800 | |||||
* | Support IRgen of OpenCL vector initializers, ensuring the resulting IR is in a | Nate Begeman | 2009-10-18 | 1 | -42/+169 | |
| | | | | | | | | form that LLVM code generators can turn into efficient code. For example, int4 a, b, c; a = (int4)(b.yzw, a.x) llvm-svn: 84434 | |||||
* | Add some more cast kinds. | Anders Carlsson | 2009-10-18 | 1 | -1/+10 | |
| | | | | llvm-svn: 84423 | |||||
* | Fix PR5211: codegen shouldn't assume that the result of ||/&& is int | Chris Lattner | 2009-10-17 | 1 | -10/+14 | |
| | | | | | | anymore. In C++ it is bool. llvm-svn: 84308 | |||||
* | Simplify pointer creation with the new Type::getInt*Ptr methods. | Benjamin Kramer | 2009-10-13 | 1 | -12/+6 | |
| | | | | llvm-svn: 83964 | |||||
* | Generate weak read barriers when reading a weak __block | Fariborz Jahanian | 2009-10-10 | 1 | -1/+5 | |
| | | | | | | variable inside the block. llvm-svn: 83729 | |||||
* | Use new predicates for some type equality tests. | Benjamin Kramer | 2009-10-05 | 1 | -2/+2 | |
| | | | | llvm-svn: 83303 | |||||
* | Refactor the representation of qualifiers to bring ExtQualType out of the | John McCall | 2009-09-24 | 1 | -2/+1 | |
| | | | | | | | | Type hierarchy. Demote 'volatile' to extended-qualifier status. Audit our use of qualifiers and fix a few places that weren't dealing with qualifiers quite right; many more remain. llvm-svn: 82705 | |||||
* | Remove now fixed FIXME. | Mike Stump | 2009-09-22 | 1 | -1/+0 | |
| | | | | llvm-svn: 82584 | |||||
* | No need to null check implicit lvalue cast exprs. | Anders Carlsson | 2009-09-22 | 1 | -8/+15 | |
| | | | | llvm-svn: 82580 | |||||
* | Change all the Type::getAsFoo() methods to specializations of Type::getAs(). | John McCall | 2009-09-21 | 1 | -5/+5 | |
| | | | | | | | | | | | Several of the existing methods were identical to their respective specializations, and so have been removed entirely. Several more 'leaf' optimizations were introduced. The getAsFoo() methods which imposed extra conditions, like getAsObjCInterfacePointerType(), have been left in place. llvm-svn: 82501 | |||||
* | Handle reinterpret_cast between integral types and pointer types. | Anders Carlsson | 2009-09-15 | 1 | -0/+16 | |
| | | | | llvm-svn: 81837 | |||||
* | Codegen support for nullptr from C++0x. | Anders Carlsson | 2009-09-15 | 1 | -0/+4 | |
| | | | | llvm-svn: 81835 | |||||
* | When necessary, null check the base value in GetAddressCXXOfBaseClass. | Anders Carlsson | 2009-09-12 | 1 | -1/+9 | |
| | | | | llvm-svn: 81611 | |||||
* | Handle derived-to-base conversion in CGExprScalar::EmitCast, if the cast ↵ | Anders Carlsson | 2009-09-12 | 1 | -10/+18 | |
| | | | | | | kind is CK_DerivedToBase. llvm-svn: 81610 | |||||
* | Rename AddressCXXOfBaseClass to GetAddressCXXOfBaseClass. Add a ↵ | Anders Carlsson | 2009-09-12 | 1 | -1/+3 | |
| | | | | | | NullCheckValue argument (currently unused). llvm-svn: 81606 | |||||
* | If a cast expression needs either a conversion function or a constructor to ↵ | Anders Carlsson | 2009-09-09 | 1 | -8/+0 | |
| | | | | | | be called, generate implicit child expressions that call them. llvm-svn: 81383 | |||||
* | Remove tabs, and whitespace cleanups. | Mike Stump | 2009-09-09 | 1 | -2/+1 | |
| | | | | llvm-svn: 81346 | |||||
* | Reflow comments and some minor whitespace fixups. | Mike Stump | 2009-09-09 | 1 | -185/+182 | |
| | | | | llvm-svn: 81337 | |||||
* | Implement AST, semantics, and CodeGen for C++ pseudo-destructor | Douglas Gregor | 2009-09-04 | 1 | -1/+11 | |
| | | | | | | | | | | | | | expressions, e.g., p->~T() when p is a pointer to a scalar type. We don't currently diagnose errors when pseudo-destructor expressions are used in any way other than by forming a call. llvm-svn: 81009 | |||||
* | Use the correct cast kinds for bit casts and function to pointer decay. ↵ | Anders Carlsson | 2009-09-01 | 1 | -0/+4 | |
| | | | | | | Fixes PR4827. llvm-svn: 80720 | |||||
* | Patch for code gen. for c-style cast which ends in | Fariborz Jahanian | 2009-08-29 | 1 | -2/+5 | |
| | | | | | | using class's conversion functions [12.3.2-p2] llvm-svn: 80433 | |||||
* | ir-gen for type convesion of class objects. WIP. | Fariborz Jahanian | 2009-08-26 | 1 | -0/+5 | |
| | | | | llvm-svn: 80178 | |||||
* | Handle array to pointer decay in EmitCastExpr and get rid of ↵ | Anders Carlsson | 2009-08-24 | 1 | -35/+23 | |
| | | | | | | VisitImplicitCastExpr. llvm-svn: 79930 | |||||
* | Handle CK_NullToMemberPointer in ScalarExprEmitter::EmitCast | Anders Carlsson | 2009-08-24 | 1 | -1/+8 | |
| | | | | llvm-svn: 79929 | |||||
* | Pass the cast kind to ScalarExprEmitter::EmitCastExpr. | Anders Carlsson | 2009-08-24 | 1 | -4/+5 | |
| | | | | llvm-svn: 79928 | |||||
* | Using "ObjCImplicitSetterGetterRefExpr" instead of ↵ | Fariborz Jahanian | 2009-08-20 | 1 | -2/+2 | |
| | | | | | | | | "ObjCImplctSetterGetterRefExpr". A field rename and more comments. llvm-svn: 79537 | |||||
* | Renamed ObjCKVCRefExpr to ObjCImplctSetterGetterRefExpr. | Fariborz Jahanian | 2009-08-18 | 1 | -1/+2 | |
| | | | | | | | | Removed an unnecessary loop to get to setters incoming argument. Added DoxyGen comments. Still more work to do in this area (WIP). llvm-svn: 79365 | |||||
* | Improve handling of delete expressions. | Anders Carlsson | 2009-08-16 | 1 | -0/+4 | |
| | | | | llvm-svn: 79205 | |||||
* | Update for LLVM API change. | Owen Anderson | 2009-08-13 | 1 | -34/+54 | |
| | | | | llvm-svn: 78946 | |||||
* | Use the new nsw form of add for signed integer addition. | Dan Gohman | 2009-08-12 | 1 | -2/+11 | |
| | | | | llvm-svn: 78765 | |||||
* | Use the inbounds variant of getelementptr for common pointer arithmetic. | Dan Gohman | 2009-08-12 | 1 | -3/+3 | |
| | | | | llvm-svn: 78756 | |||||
* | Remove the hack that turns sdiv by a power of 2 to ashr, and | Dan Gohman | 2009-08-11 | 1 | -12/+5 | |
| | | | | | | | use the new "exact" sdiv to allow LLVM optimization to perform this transformation. llvm-svn: 78739 | |||||
* | Take 2 on AltiVec-style vector initializers. | Nate Begeman | 2009-08-10 | 1 | -1/+1 | |
| | | | | | | | | | | | | Fixes PR4704 problems Addresses Eli's patch feedback re: ugly cast code Updates all postfix operators to remove ParenListExprs. While this is awful, no better solution (say, in the parser) is obvious to me. Better solutions welcome. llvm-svn: 78621 | |||||
* | Revert r78535, it is causing a number of failures to build projects. | Daniel Dunbar | 2009-08-10 | 1 | -1/+1 | |
| | | | | | | | | | | | | | | | | | | | | | | | | --- Reverse-merging r78535 into '.': D test/Sema/altivec-init.c U include/clang/Basic/DiagnosticSemaKinds.td U include/clang/AST/Expr.h U include/clang/AST/StmtNodes.def U include/clang/Parse/Parser.h U include/clang/Parse/Action.h U tools/clang-cc/clang-cc.cpp U lib/Frontend/PrintParserCallbacks.cpp U lib/CodeGen/CGExprScalar.cpp U lib/Sema/SemaInit.cpp U lib/Sema/Sema.h U lib/Sema/SemaExpr.cpp U lib/Sema/SemaTemplateInstantiateExpr.cpp U lib/AST/StmtProfile.cpp U lib/AST/Expr.cpp U lib/AST/StmtPrinter.cpp U lib/Parse/ParseExpr.cpp U lib/Parse/ParseExprCXX.cpp llvm-svn: 78551 | |||||
* | Improve handling of member pointers. | Anders Carlsson | 2009-08-09 | 1 | -0/+8 | |
| | | | | llvm-svn: 78536 |