| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | Fix spacing. | Mike Stump | 2009-12-15 | 1 | -1/+1 |
| | | | | | llvm-svn: 91386 | ||||
| * | Ensure we preserve line information for each trap for | Mike Stump | 2009-12-15 | 1 | -1/+9 |
| | | | | | | | -fcatch-undefined-behavior if we aren't optimizing. WIP. llvm-svn: 91382 | ||||
| * | Switch codegen for -fcatch-undefined-bahavior over to __builtin_trap | Mike Stump | 2009-12-15 | 1 | -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 Stump | 2009-12-14 | 1 | -1/+1 |
| | | | | | llvm-svn: 91347 | ||||
| * | Simplifiy. | Mike Stump | 2009-12-14 | 1 | -16/+3 |
| | | | | | llvm-svn: 91324 | ||||
| * | Implement runtime checks for undefined behavior. WIP. | Mike Stump | 2009-12-12 | 1 | -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 usable | Eli Friedman | 2009-12-11 | 1 | -0/+15 |
| | | | | | | | for logical not. llvm-svn: 91112 | ||||
| * | When extending the lifetime of a temporary, make sure to emit a branch to ↵ | Anders Carlsson | 2009-12-11 | 1 | -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 Jahanian | 2009-12-09 | 1 | -0/+2 |
| | | | | | | | (fixes radar 7457534). llvm-svn: 90995 | ||||
| * | Add cleanups for exceptional edges. WIP. | Mike Stump | 2009-12-09 | 1 | -2/+10 |
| | | | | | llvm-svn: 90940 | ||||
| * | Fix some direct checks of expressions which might be surrounded by parentheses. | Eli Friedman | 2009-12-08 | 1 | -1/+1 |
| | | | | | llvm-svn: 90825 | ||||
| * | Make the comma operator consistently call EnsureInsertPoint. | Eli Friedman | 2009-12-07 | 1 | -0/+1 |
| | | | | | llvm-svn: 90799 | ||||
| * | use new helpers to simplify code. | Chris Lattner | 2009-12-06 | 1 | -8/+4 |
| | | | | | llvm-svn: 90709 | ||||
| * | Make EmitStoreOfScalar generate a more sane representation of boolean stores. | Eli Friedman | 2009-12-01 | 1 | -6/+1 |
| | | | | | | | "Fixes" PR5645. llvm-svn: 90272 | ||||
| * | Don't pass false (default) for isVolatile parameter to CreateLoad. | Daniel Dunbar | 2009-11-29 | 1 | -2/+5 |
| | | | | | llvm-svn: 90098 | ||||
| * | Implement IRGen for MemberExpr referring to static member function. | Eli Friedman | 2009-11-26 | 1 | -17/+24 |
| | | | | | llvm-svn: 89938 | ||||
| * | Eliminate CXXConditionDeclExpr with extreme prejudice. | Douglas Gregor | 2009-11-25 | 1 | -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 Gregor | 2009-11-24 | 1 | -1/+1 |
| | | | | | llvm-svn: 89769 | ||||
| * | Handle base-to-derived casts. Will land test case shortly. | Anders Carlsson | 2009-11-23 | 1 | -5/+21 |
| | | | | | llvm-svn: 89678 | ||||
| * | Clean up EmitPointerToDataMemberBinaryExpr a bit. | Eli Friedman | 2009-11-18 | 1 | -7/+5 |
| | | | | | llvm-svn: 89197 | ||||
| * | More const is always good. | Anders Carlsson | 2009-11-17 | 1 | -4/+4 |
| | | | | | llvm-svn: 89033 | ||||
| * | Implement most of dynamic_cast. WIP. | Mike Stump | 2009-11-16 | 1 | -5/+15 |
| | | | | | llvm-svn: 88901 | ||||
| * | Some minor cleanup for EmitCastLValue. | Eli Friedman | 2009-11-16 | 1 | -11/+7 |
| | | | | | llvm-svn: 88894 | ||||
| * | Implement typeid for class types. | Mike Stump | 2009-11-15 | 1 | -0/+8 |
| | | | | | llvm-svn: 88843 | ||||
| * | Handle CK_BitCast in EmitCastLValue. | Anders Carlsson | 2009-11-14 | 1 | -3/+12 |
| | | | | | llvm-svn: 88810 | ||||
| * | Handle CXXDefaultArgExprs in EmitLValue. Fixes PR5484. | Anders Carlsson | 2009-11-14 | 1 | -2/+4 |
| | | | | | llvm-svn: 88735 | ||||
| * | Explicitly note that pre-inc/dec lvalues are not supported yet, so that it | Eli Friedman | 2009-11-09 | 1 | -1/+5 |
| | | | | | | | doesn't crash. (Such expressions are valid in C++, but not in C.) llvm-svn: 86513 | ||||
| * | Add clarifying parens. | Daniel Dunbar | 2009-11-08 | 1 | -1/+1 |
| | | | | | llvm-svn: 86457 | ||||
| * | Handle member expressions where the member declaration is actually a static ↵ | Anders Carlsson | 2009-11-07 | 1 | -0/+3 |
| | | | | | | | variable. Fixes PR5392. llvm-svn: 86414 | ||||
| * | More LValue related code cleanup. | Anders Carlsson | 2009-11-07 | 1 | -18/+27 |
| | | | | | llvm-svn: 86413 | ||||
| * | More cleanup, the code is much easier to follow now. | Anders Carlsson | 2009-11-07 | 1 | -24/+11 |
| | | | | | llvm-svn: 86412 | ||||
| * | Reduce nesting, no functionality change. | Anders Carlsson | 2009-11-07 | 1 | -18/+20 |
| | | | | | llvm-svn: 86411 | ||||
| * | We only need to call SetObjCNonGC for local variables. No functionality change. | Anders Carlsson | 2009-11-07 | 1 | -3/+3 |
| | | | | | llvm-svn: 86410 | ||||
| * | Change EmitPointerToDataMemberLValue to take a FieldDecl. No intended ↵ | Anders Carlsson | 2009-11-07 | 1 | -4/+3 |
| | | | | | | | functionality change. llvm-svn: 86407 | ||||
| * | random tidying | Chris Lattner | 2009-10-28 | 1 | -101/+104 |
| | | | | | llvm-svn: 85408 | ||||
| * | adjust for a pending LLVM change. | Chris Lattner | 2009-10-28 | 1 | -3/+3 |
| | | | | | llvm-svn: 85373 | ||||
| * | Add Code gen support for '->*' operator which fell | Fariborz Jahanian | 2009-10-26 | 1 | -1/+4 |
| | | | | | | | through the crack. llvm-svn: 85160 | ||||
| * | Eliminate QualifiedDeclRefExpr, which captured the notion of a | Douglas Gregor | 2009-10-23 | 1 | -6/+4 |
| | | | | | | | | | | | | | | | | | | | | | | | | | qualified reference to a declaration that is not a non-static data member or non-static member function, e.g., namespace N { int i; } int j = N::i; Instead, extend DeclRefExpr to optionally store the qualifier. Most clients won't see or care about the difference (since QualifierDeclRefExpr inherited DeclRefExpr). However, this reduces the number of top-level expression types that clients need to cope with, brings the implementation of DeclRefExpr into line with MemberExpr, and simplifies and unifies our handling of declaration references. Extended DeclRefExpr to (optionally) store explicitly-specified template arguments. This occurs when naming a declaration via a template-id (which will be stored in a TemplateIdRefExpr) that, following template argument deduction and (possibly) overload resolution, is replaced with a DeclRefExpr that refers to a template specialization but maintains the template arguments as written. llvm-svn: 84962 | ||||
| * | Emit calls using the canonical prototype of the called function. | John McCall | 2009-10-23 | 1 | -3/+5 |
| | | | | | llvm-svn: 84947 | ||||
| * | Complete code gen for '.*' binary expression for | Fariborz Jahanian | 2009-10-22 | 1 | -0/+25 |
| | | | | | | | both scalar and aggregates. llvm-svn: 84910 | ||||
| * | Expand on code gen. for pointer to data members so it works | Fariborz Jahanian | 2009-10-21 | 1 | -3/+4 |
| | | | | | | | for base classe members as well. Test case enhanced for this. llvm-svn: 84780 | ||||
| * | Code gen for pointer-to-datamember - WIP. | Fariborz Jahanian | 2009-10-21 | 1 | -0/+21 |
| | | | | | llvm-svn: 84771 | ||||
| * | Code-gen for CXXZeroInitValueExpr AST passed | Fariborz Jahanian | 2009-10-20 | 1 | -0/+14 |
| | | | | | | | as argument to a function call. Removes a FIXME. llvm-svn: 84694 | ||||
| * | Handle emitting the assignment operator when the lhs is a reference. Fixes ↵ | Anders Carlsson | 2009-10-19 | 1 | -0/+10 |
| | | | | | | | PR5227. llvm-svn: 84518 | ||||
| * | Twinify CodeGenFunction::CreateTempAlloca | Daniel Dunbar | 2009-10-19 | 1 | -2/+2 |
| | | | | | llvm-svn: 84456 | ||||
| * | When binding a reference to a temporary, it's important that other ↵ | Anders Carlsson | 2009-10-18 | 1 | -16/+22 |
| | | | | | | | temporaries created as on the RHS are destroyed before emitting the dtor for the temporary. llvm-svn: 84451 | ||||
| * | Handle | Anders Carlsson | 2009-10-15 | 1 | -3/+45 |
| | | | | | | | | | | | | | | struct A { }; struct B : A { }; void f() { const A& a = B(); } correctly. (This now does the offset conversion if necessary and calls the destructor when a goes out of scope). llvm-svn: 84162 | ||||
| * | Simplify pointer creation with the new Type::getInt*Ptr methods. | Benjamin Kramer | 2009-10-13 | 1 | -2/+1 |
| | | | | | llvm-svn: 83964 | ||||
| * | There is no need to attach debug location info with alloca instruction. | Devang Patel | 2009-10-12 | 1 | -5/+1 |
| | | | | | llvm-svn: 83913 | ||||
| * | Add support to attach debug info to an instruction. | Devang Patel | 2009-10-06 | 1 | -1/+5 |
| | | | | | | | This is not yet enabled. llvm-svn: 83399 | ||||

