| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | IRgen: Add CreateIRTemp, which creates a temporary alloca but with type ↵ | Daniel Dunbar | 2010-02-16 | 1 | -1/+11 |
| | | | | | | | converted "not-for-memory". Dunno a better name. llvm-svn: 96374 | ||||
| * | IRgen: Switch EmitCompoundLiteralLValue to use CreateMemTemp. | Daniel Dunbar | 2010-02-16 | 1 | -3/+1 |
| | | | | | llvm-svn: 96373 | ||||
| * | When emitting an aggregate into a temporary, make sure we set the alignment | John McCall | 2010-02-15 | 1 | -1/+1 |
| | | | | | | | | | | on the alloca. The fact that codegen makes this class of bug so wonderfully easy to make is embarrassing. llvm-svn: 96204 | ||||
| * | More vtable layout dumper improvements. Handle destructors, dump the ↵ | Anders Carlsson | 2010-02-11 | 1 | -2/+1 |
| | | | | | | | complete function type of the member functions (using PredefinedExpr::ComputeName. llvm-svn: 95887 | ||||
| * | IRgen: Add CreateMemTemp, for creating an temporary memory object for a ↵ | Daniel Dunbar | 2010-02-09 | 1 | -11/+15 |
| | | | | | | | | | | | particular type, and flood fill. - CreateMemTemp sets the alignment on the alloca correctly, which fixes a great many places in IRgen where we were doing the wrong thing. - This fixes many many more places than the test case, but my feeling is we need to audit alignment systematically so I'm not inclined to try hard to test the individual fixes in this patch. If this bothers you, patches welcome! PR6240. llvm-svn: 95648 | ||||
| * | Reapply r95393, without the change to CGExpr. I was wrong in assuming that the | Daniel Dunbar | 2010-02-08 | 1 | -0/+2 |
| | | | | | | | element type always matched the converted LLVM type for ExprType. llvm-svn: 95596 | ||||
| * | Standardize the parsing of function type attributes in a way that | John McCall | 2010-02-05 | 1 | -14/+4 |
| | | | | | | | | | | | | | follows (as conservatively as possible) gcc's current behavior: attributes written on return types that don't apply there are applied to the function instead, etc. Only parse CC attributes as type attributes, not as decl attributes; don't accepet noreturn as a decl attribute on ValueDecls, either (it still needs to apply to other decls, like blocks). Consistently consume CC/noreturn information throughout codegen; enforce this by removing their default values in CodeGenTypes::getFunctionInfo(). llvm-svn: 95436 | ||||
| * | Revert r95393, which broke Clang's self-host. | Douglas Gregor | 2010-02-05 | 1 | -2/+3 |
| | | | | | llvm-svn: 95430 | ||||
| * | IRgen: A few more ConvertType cleanups. | Daniel Dunbar | 2010-02-05 | 1 | -11/+6 |
| | | | | | llvm-svn: 95423 | ||||
| * | IRgen: Factor out EmitAggExprToLValue. | Daniel Dunbar | 2010-02-05 | 1 | -14/+6 |
| | | | | | llvm-svn: 95416 | ||||
| * | IRgen: Fix some CreateTempAlloca calls to use ConvertTypeForMem when that is | Daniel Dunbar | 2010-02-05 | 1 | -1/+2 |
| | | | | | | | conceptually correct. Review appreciated (Chris, Eli, Anders). llvm-svn: 95401 | ||||
| * | Now that we store calling conventions in the types, use them instead of | Charles Davis | 2010-02-05 | 1 | -6/+10 |
| | | | | | | | | getting the calling convention from the target function, which may or may not exist. Fixes PR5280. llvm-svn: 95399 | ||||
| * | IRgen: Use hasAggregateLLVMType instead of isSingleValueType() for cases that | Daniel Dunbar | 2010-02-05 | 1 | -3/+2 |
| | | | | | | | | | need to deal with aggregates specially; this is consistent with the rest of IRgen. Also, simplify EmitParmDecl and don't worry about using Decl::getNameAsString. llvm-svn: 95393 | ||||
| * | When binding an lvalue to a reference, we always need to pop temporaries. | Anders Carlsson | 2010-02-04 | 1 | -1/+9 |
| | | | | | | | | | | | | | | With this fix, and the other fixes committed today a make check-all with a clang-built LLVM now gives: Expected Passes : 6933 Expected Failures : 46 Unsupported Tests : 40 Unexpected Failures: 27 which means that we pass 99.96% of all tests :) The resulting 27 tests are all LLVMC tests and seem to be because of differences in the clang and gcc drivers. llvm-svn: 95313 | ||||
| * | Fix a bug where we would not mark temporaries as conditional when emitting a ↵ | Anders Carlsson | 2010-02-04 | 1 | -1/+7 |
| | | | | | | | conditional operator as an lvalue. llvm-svn: 95311 | ||||
| * | Revert the new reference binding code; I came up with a way simpler solution ↵ | Anders Carlsson | 2010-02-03 | 1 | -25/+0 |
| | | | | | | | for the reference binding bug that is preventing self-hosting. llvm-svn: 95223 | ||||
| * | Move pointer to data member emission to CodeGenModule and use it in ↵ | Anders Carlsson | 2010-02-02 | 1 | -16/+5 |
| | | | | | | | CGExprConstant. Fixes PR5674. llvm-svn: 95063 | ||||
| * | Start creating CXXBindReferenceExpr nodes when binding complex types to ↵ | Anders Carlsson | 2010-01-31 | 1 | -0/+22 |
| | | | | | | | references. llvm-svn: 94964 | ||||
| * | Add a new EmitLValueForFieldInitialization that will be used for ↵ | Anders Carlsson | 2010-01-29 | 1 | -0/+17 |
| | | | | | | | initializing fields (and reference type fields in particular). llvm-svn: 94799 | ||||
| * | Simplify EmitLValueForField - we can get whether the field is part of a ↵ | Anders Carlsson | 2010-01-29 | 1 | -12/+3 |
| | | | | | | | union or not from the FieldDecl (through its DeclContext). llvm-svn: 94798 | ||||
| * | Add an CXXBindReferenceExpr (not used just yet). | Anders Carlsson | 2010-01-29 | 1 | -0/+2 |
| | | | | | llvm-svn: 94791 | ||||
| * | Use CharUnits for alignment in EmitNullInitializationLValue(). | Ken Dyck | 2010-01-26 | 1 | -2/+2 |
| | | | | | llvm-svn: 94563 | ||||
| * | Roll out ASTContext::getTypeSizeInChars(), replacing instances of | Ken Dyck | 2010-01-11 | 1 | -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 Lattner | 2010-01-09 | 1 | -2/+10 |
| | | | | | llvm-svn: 93076 | ||||
| * | refactor pre/postinc logic into CGF and require the caller to pass in the | Chris Lattner | 2010-01-09 | 1 | -0/+126 |
| | | | | | | | lvalue to poke, no functionality change. llvm-svn: 93075 | ||||
| * | Fix -Asserts warning. | Daniel Dunbar | 2010-01-04 | 1 | -2/+2 |
| | | | | | llvm-svn: 92491 | ||||
| * | Minor optimization; emit proper unsupported messages for a couple of cases. | Eli Friedman | 2009-12-25 | 1 | -2/+1 |
| | | | | | llvm-svn: 92153 | ||||
| * | Some small improvements to dead code elimination; helps a bit on | Eli Friedman | 2009-12-25 | 1 | -0/+9 |
| | | | | | | | LLVM-Code-Symbols test. llvm-svn: 92152 | ||||
| * | Pass the return value slot to all call exprs. | Anders Carlsson | 2009-12-24 | 1 | -3/+3 |
| | | | | | llvm-svn: 92145 | ||||
| * | Fill in the return value slot in CGExprAgg::VisitCallExpr. This takes us ↵ | Anders Carlsson | 2009-12-24 | 1 | -3/+5 |
| | | | | | | | halfway towards fixing PR5824. llvm-svn: 92142 | ||||
| * | Pass ReturnValueSlot to EmitCall. No functionality change yet. | Anders Carlsson | 2009-12-24 | 1 | -1/+1 |
| | | | | | llvm-svn: 92138 | ||||
| * | Add a ReturnValueSlot class. Change the argument order in EmitCall to match ↵ | Anders Carlsson | 2009-12-24 | 1 | -2/+2 |
| | | | | | | | the other overload better. llvm-svn: 92136 | ||||
| * | simplify my previous patch. | Chris Lattner | 2009-12-23 | 1 | -9/+2 |
| | | | | | llvm-svn: 92057 | ||||
| * | fix opencl extvector element extraction on rvalues. We previously | Chris Lattner | 2009-12-23 | 1 | -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 Friedman | 2009-12-19 | 1 | -1/+4 |
| | | | | | llvm-svn: 91733 | ||||
| * | Implement additional undefined checks for additional loads and stores. WIP. | Mike Stump | 2009-12-16 | 1 | -1/+37 |
| | | | | | llvm-svn: 91498 | ||||
| * | Fixes a code gen bug related to accessing a now | Fariborz Jahanian | 2009-12-15 | 1 | -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 Carlsson | 2009-12-15 | 1 | -4/+3 |
| | | | | | llvm-svn: 91450 | ||||
| * | 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 | ||||

