summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CGExpr.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Use CharUnits for alignment in EmitNullInitializationLValue().Ken Dyck2010-01-261-2/+2
| | | | llvm-svn: 94563
* Roll out ASTContext::getTypeSizeInChars(), replacing instances ofKen Dyck2010-01-111-3/+3
| | | | | | | | | | "ASTContext::getTypeSize() / 8". Replace [u]int64_t variables with CharUnits ones as appropriate. Also rename RawType, fromRaw(), and getRaw() in CharUnits to QuantityType, fromQuantity(), and getQuantity() for clarity. llvm-svn: 93153
* implement codegen support for preinc as an lvalue, PR5514.Chris Lattner2010-01-091-2/+10
| | | | llvm-svn: 93076
* refactor pre/postinc logic into CGF and require the caller to pass in theChris Lattner2010-01-091-0/+126
| | | | | | lvalue to poke, no functionality change. llvm-svn: 93075
* Fix -Asserts warning.Daniel Dunbar2010-01-041-2/+2
| | | | llvm-svn: 92491
* Minor optimization; emit proper unsupported messages for a couple of cases.Eli Friedman2009-12-251-2/+1
| | | | llvm-svn: 92153
* Some small improvements to dead code elimination; helps a bit onEli Friedman2009-12-251-0/+9
| | | | | | LLVM-Code-Symbols test. llvm-svn: 92152
* Pass the return value slot to all call exprs.Anders Carlsson2009-12-241-3/+3
| | | | llvm-svn: 92145
* Fill in the return value slot in CGExprAgg::VisitCallExpr. This takes us ↵Anders Carlsson2009-12-241-3/+5
| | | | | | halfway towards fixing PR5824. llvm-svn: 92142
* Pass ReturnValueSlot to EmitCall. No functionality change yet.Anders Carlsson2009-12-241-1/+1
| | | | llvm-svn: 92138
* Add a ReturnValueSlot class. Change the argument order in EmitCall to match ↵Anders Carlsson2009-12-241-2/+2
| | | | | | the other overload better. llvm-svn: 92136
* simplify my previous patch.Chris Lattner2009-12-231-9/+2
| | | | llvm-svn: 92057
* fix opencl extvector element extraction on rvalues. We previouslyChris Lattner2009-12-231-8/+30
| | | | | | error_unsupported on test10 and crashed on test11. llvm-svn: 92056
* Fix for PR5524: make reference binding in default argument work correctly.Eli Friedman2009-12-191-1/+4
| | | | llvm-svn: 91733
* Implement additional undefined checks for additional loads and stores. WIP.Mike Stump2009-12-161-1/+37
| | | | llvm-svn: 91498
* Fixes a code gen bug related to accessing a nowFariborz Jahanian2009-12-151-0/+1
| | | | | | | | | non-existing 'isa' field of a non-existing struct type all related to legacy type definition for 'id' which we have dropped in clang in favor of a built-in type. (fixes radar 7470820). llvm-svn: 91455
* ShouldDestroyTemporaries? I don't think so.Anders Carlsson2009-12-151-4/+3
| | | | llvm-svn: 91450
* Fix spacing.Mike Stump2009-12-151-1/+1
| | | | llvm-svn: 91386
* Ensure we preserve line information for each trap forMike Stump2009-12-151-1/+9
| | | | | | -fcatch-undefined-behavior if we aren't optimizing. WIP. llvm-svn: 91382
* Switch codegen for -fcatch-undefined-bahavior over to __builtin_trapMike Stump2009-12-151-19/+13
| | | | | | instead of abort to improve codesize and codegen. llvm-svn: 91374
* We have to allow one to form an address for one past the end. WIP.Mike Stump2009-12-141-1/+1
| | | | llvm-svn: 91347
* Simplifiy.Mike Stump2009-12-141-16/+3
| | | | llvm-svn: 91324
* Implement runtime checks for undefined behavior. WIP.Mike Stump2009-12-121-0/+61
| | | | | | | | | | | | | This implements a new flag -fcatch-undefined-behavior. The flag turns on additional runtime checks for: T a[I]; a[i] abort when i < 0 or i >= I. Future stuff includes shifts by >= bitwidth amounts. llvm-svn: 91198
* Move the code for converting a member pointer to a bool so that it is usableEli Friedman2009-12-111-0/+15
| | | | | | for logical not. llvm-svn: 91112
* When extending the lifetime of a temporary, make sure to emit a branch to ↵Anders Carlsson2009-12-111-1/+4
| | | | | | the cleanup exit block. This fixes a broken module error in LLVMCConfigurationEmitter.cpp. llvm-svn: 91086
* Code gen for ObjCIsaExpr AST used as lvalue.Fariborz Jahanian2009-12-091-0/+2
| | | | | | (fixes radar 7457534). llvm-svn: 90995
* Add cleanups for exceptional edges. WIP.Mike Stump2009-12-091-2/+10
| | | | llvm-svn: 90940
* Fix some direct checks of expressions which might be surrounded by parentheses.Eli Friedman2009-12-081-1/+1
| | | | llvm-svn: 90825
* Make the comma operator consistently call EnsureInsertPoint.Eli Friedman2009-12-071-0/+1
| | | | llvm-svn: 90799
* use new helpers to simplify code.Chris Lattner2009-12-061-8/+4
| | | | llvm-svn: 90709
* Make EmitStoreOfScalar generate a more sane representation of boolean stores.Eli Friedman2009-12-011-6/+1
| | | | | | "Fixes" PR5645. llvm-svn: 90272
* Don't pass false (default) for isVolatile parameter to CreateLoad.Daniel Dunbar2009-11-291-2/+5
| | | | llvm-svn: 90098
* Implement IRGen for MemberExpr referring to static member function.Eli Friedman2009-11-261-17/+24
| | | | llvm-svn: 89938
* Eliminate CXXConditionDeclExpr with extreme prejudice.Douglas Gregor2009-11-251-8/+0
| | | | | | | | | | | | | | | | | All statements that involve conditions can now hold on to a separate condition declaration (a VarDecl), and will use a DeclRefExpr referring to that VarDecl for the condition expression. ForStmts now have such a VarDecl (I'd missed those in previous commits). Also, since this change reworks the Action interface for if/while/switch/for, use FullExprArg for the full expressions in those expressions, to ensure that we're emitting Note that we are (still) not generating the right cleanups for condition variables in for statements. That will be a follow-on commit. llvm-svn: 89817
* Rename CleanupScope -> DelayedCleanupBlock. No functionality change.Douglas Gregor2009-11-241-1/+1
| | | | llvm-svn: 89769
* Handle base-to-derived casts. Will land test case shortly.Anders Carlsson2009-11-231-5/+21
| | | | llvm-svn: 89678
* Clean up EmitPointerToDataMemberBinaryExpr a bit.Eli Friedman2009-11-181-7/+5
| | | | llvm-svn: 89197
* More const is always good.Anders Carlsson2009-11-171-4/+4
| | | | llvm-svn: 89033
* Implement most of dynamic_cast. WIP.Mike Stump2009-11-161-5/+15
| | | | llvm-svn: 88901
* Some minor cleanup for EmitCastLValue.Eli Friedman2009-11-161-11/+7
| | | | llvm-svn: 88894
* Implement typeid for class types.Mike Stump2009-11-151-0/+8
| | | | llvm-svn: 88843
* Handle CK_BitCast in EmitCastLValue.Anders Carlsson2009-11-141-3/+12
| | | | llvm-svn: 88810
* Handle CXXDefaultArgExprs in EmitLValue. Fixes PR5484.Anders Carlsson2009-11-141-2/+4
| | | | llvm-svn: 88735
* Explicitly note that pre-inc/dec lvalues are not supported yet, so that itEli Friedman2009-11-091-1/+5
| | | | | | doesn't crash. (Such expressions are valid in C++, but not in C.) llvm-svn: 86513
* Add clarifying parens.Daniel Dunbar2009-11-081-1/+1
| | | | llvm-svn: 86457
* Handle member expressions where the member declaration is actually a static ↵Anders Carlsson2009-11-071-0/+3
| | | | | | variable. Fixes PR5392. llvm-svn: 86414
* More LValue related code cleanup.Anders Carlsson2009-11-071-18/+27
| | | | llvm-svn: 86413
* More cleanup, the code is much easier to follow now.Anders Carlsson2009-11-071-24/+11
| | | | llvm-svn: 86412
* Reduce nesting, no functionality change.Anders Carlsson2009-11-071-18/+20
| | | | llvm-svn: 86411
* We only need to call SetObjCNonGC for local variables. No functionality change.Anders Carlsson2009-11-071-3/+3
| | | | llvm-svn: 86410
OpenPOWER on IntegriCloud