summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CGExprScalar.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Don't try to treat an enum constant as an lvalue.Anders Carlsson2009-11-231-1/+8
| | | | llvm-svn: 89705
* Handle converting member pointers to bool.Anders Carlsson2009-11-231-0/+29
| | | | llvm-svn: 89692
* Handle base-to-derived casts. Will land test case shortly.Anders Carlsson2009-11-231-12/+33
| | | | llvm-svn: 89678
* Fix lifetime of conditional temporaries. Patch by Victor Zverovich!Anders Carlsson2009-11-201-8/+8
| | | | llvm-svn: 89467
* Minor cleanup to member pointer handling.Eli Friedman2009-11-181-7/+3
| | | | llvm-svn: 89201
* Clean up scalar cast kind handling; make cast kind handling explicitly handleEli Friedman2009-11-161-36/+61
| | | | | | more cases. No intended visible change. llvm-svn: 88968
* Implement most of dynamic_cast. WIP.Mike Stump2009-11-161-0/+6
| | | | llvm-svn: 88901
* indirectbr seems to work! Rip out the old code.Chris Lattner2009-11-061-8/+0
| | | | llvm-svn: 86256
* Refine volatile handling, specifically, we must have the canonicalMike Stump2009-11-031-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 Carlsson2009-10-301-1/+6
| | | | llvm-svn: 85560
* Implement clang support for indirect branch and address of labelChris Lattner2009-10-281-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 Begeman2009-10-251-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 forFariborz Jahanian2009-10-221-24/+5
| | | | | | both scalar and aggregates. llvm-svn: 84910
* Canonicality is a property of qualified types, not unqualified types.John McCall2009-10-221-1/+1
| | | | llvm-svn: 84891
* Code gen for '.*' binary expressions - WIP.Fariborz Jahanian2009-10-211-0/+27
| | | | llvm-svn: 84800
* Support IRgen of OpenCL vector initializers, ensuring the resulting IR is in aNate Begeman2009-10-181-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 Carlsson2009-10-181-1/+10
| | | | llvm-svn: 84423
* Fix PR5211: codegen shouldn't assume that the result of ||/&& is int Chris Lattner2009-10-171-10/+14
| | | | | | anymore. In C++ it is bool. llvm-svn: 84308
* Simplify pointer creation with the new Type::getInt*Ptr methods.Benjamin Kramer2009-10-131-12/+6
| | | | llvm-svn: 83964
* Generate weak read barriers when reading a weak __blockFariborz Jahanian2009-10-101-1/+5
| | | | | | variable inside the block. llvm-svn: 83729
* Use new predicates for some type equality tests.Benjamin Kramer2009-10-051-2/+2
| | | | llvm-svn: 83303
* Refactor the representation of qualifiers to bring ExtQualType out of theJohn McCall2009-09-241-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 Stump2009-09-221-1/+0
| | | | llvm-svn: 82584
* No need to null check implicit lvalue cast exprs.Anders Carlsson2009-09-221-8/+15
| | | | llvm-svn: 82580
* Change all the Type::getAsFoo() methods to specializations of Type::getAs().John McCall2009-09-211-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 Carlsson2009-09-151-0/+16
| | | | llvm-svn: 81837
* Codegen support for nullptr from C++0x.Anders Carlsson2009-09-151-0/+4
| | | | llvm-svn: 81835
* When necessary, null check the base value in GetAddressCXXOfBaseClass.Anders Carlsson2009-09-121-1/+9
| | | | llvm-svn: 81611
* Handle derived-to-base conversion in CGExprScalar::EmitCast, if the cast ↵Anders Carlsson2009-09-121-10/+18
| | | | | | kind is CK_DerivedToBase. llvm-svn: 81610
* Rename AddressCXXOfBaseClass to GetAddressCXXOfBaseClass. Add a ↵Anders Carlsson2009-09-121-1/+3
| | | | | | NullCheckValue argument (currently unused). llvm-svn: 81606
* If a cast expression needs either a conversion function or a constructor to ↵Anders Carlsson2009-09-091-8/+0
| | | | | | be called, generate implicit child expressions that call them. llvm-svn: 81383
* Remove tabs, and whitespace cleanups.Mike Stump2009-09-091-2/+1
| | | | llvm-svn: 81346
* Reflow comments and some minor whitespace fixups.Mike Stump2009-09-091-185/+182
| | | | llvm-svn: 81337
* Implement AST, semantics, and CodeGen for C++ pseudo-destructorDouglas Gregor2009-09-041-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 Carlsson2009-09-011-0/+4
| | | | | | Fixes PR4827. llvm-svn: 80720
* Patch for code gen. for c-style cast which ends inFariborz Jahanian2009-08-291-2/+5
| | | | | | using class's conversion functions [12.3.2-p2] llvm-svn: 80433
* ir-gen for type convesion of class objects. WIP.Fariborz Jahanian2009-08-261-0/+5
| | | | llvm-svn: 80178
* Handle array to pointer decay in EmitCastExpr and get rid of ↵Anders Carlsson2009-08-241-35/+23
| | | | | | VisitImplicitCastExpr. llvm-svn: 79930
* Handle CK_NullToMemberPointer in ScalarExprEmitter::EmitCastAnders Carlsson2009-08-241-1/+8
| | | | llvm-svn: 79929
* Pass the cast kind to ScalarExprEmitter::EmitCastExpr.Anders Carlsson2009-08-241-4/+5
| | | | llvm-svn: 79928
* Using "ObjCImplicitSetterGetterRefExpr" instead of ↵Fariborz Jahanian2009-08-201-2/+2
| | | | | | | | "ObjCImplctSetterGetterRefExpr". A field rename and more comments. llvm-svn: 79537
* Renamed ObjCKVCRefExpr to ObjCImplctSetterGetterRefExpr.Fariborz Jahanian2009-08-181-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 Carlsson2009-08-161-0/+4
| | | | llvm-svn: 79205
* Update for LLVM API change.Owen Anderson2009-08-131-34/+54
| | | | llvm-svn: 78946
* Use the new nsw form of add for signed integer addition.Dan Gohman2009-08-121-2/+11
| | | | llvm-svn: 78765
* Use the inbounds variant of getelementptr for common pointer arithmetic.Dan Gohman2009-08-121-3/+3
| | | | llvm-svn: 78756
* Remove the hack that turns sdiv by a power of 2 to ashr, andDan Gohman2009-08-111-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 Begeman2009-08-101-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 Dunbar2009-08-101-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 Carlsson2009-08-091-0/+8
| | | | llvm-svn: 78536
OpenPOWER on IntegriCloud