Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | More super dot-syntax property implementation | Fariborz Jahanian | 2009-03-20 | 1 | -0/+2 | |
| | | | | | | | when there is actually a property declaration used in the dot-syntax. llvm-svn: 67391 | |||||
* | add codegen support for casting an element to a union. | Chris Lattner | 2009-03-18 | 1 | -0/+1 | |
| | | | | | | | There are some more complex cases (_Complex and structs) that I'm still working on. llvm-svn: 67218 | |||||
* | Do up codegen for function static data and externs in functions in block | Mike Stump | 2009-03-13 | 1 | -0/+1 | |
| | | | | | | literals. llvm-svn: 66984 | |||||
* | Codegen support for copy helpers for block literals. | Mike Stump | 2009-03-07 | 1 | -21/+3 | |
| | | | | llvm-svn: 66319 | |||||
* | Pass the type of the block literal around to make required temporal ordering ↵ | Mike Stump | 2009-03-06 | 1 | -1/+1 | |
| | | | | | | of code clearer. llvm-svn: 66284 | |||||
* | prep work for copy/destroy helpers for block literals. | Mike Stump | 2009-03-05 | 1 | -9/+3 | |
| | | | | llvm-svn: 66159 | |||||
* | Move more blocks CodeGenFunction code up and out. | Mike Stump | 2009-03-04 | 1 | -23/+0 | |
| | | | | llvm-svn: 66049 | |||||
* | Move some of the CodeGenFunction blocks code up and out. No | Mike Stump | 2009-03-04 | 1 | -3/+0 | |
| | | | | | | functionality change. llvm-svn: 66048 | |||||
* | Move more of blocks codegen out of CodeGenModule and into the | Mike Stump | 2009-03-04 | 1 | -1/+1 | |
| | | | | | | | | | BlockModule. No functionality change. This should help people that don't want to know anything about blocks not be confused by the overloaded use of the term block or nor want to see all the blocks goop. llvm-svn: 66042 | |||||
* | Start the migration of more of the blocks code out of sight for most | Mike Stump | 2009-03-04 | 1 | -22/+2 | |
| | | | | | | people. De-duplicates BLOCK_NEEDS_FREE and friends. llvm-svn: 66034 | |||||
* | Improved ABI compliance for __block variables. No testcases yet as we | Mike Stump | 2009-03-04 | 1 | -0/+33 | |
| | | | | | | | still give an unsupported error for them due to the fact this is a work in progress. llvm-svn: 66007 | |||||
* | Do some blocks cleanup and simplification. Fix a crash, and add a test case. | Anders Carlsson | 2009-03-01 | 1 | -0/+8 | |
| | | | | llvm-svn: 65746 | |||||
* | improve compatibility with the VC++'08 C++ compiler. Patch by | Chris Lattner | 2009-02-28 | 1 | -1/+1 | |
| | | | | | | Niklas Larsson! llvm-svn: 65706 | |||||
* | First cut CodeGen support for __block variables. | Mike Stump | 2009-02-28 | 1 | -29/+12 | |
| | | | | llvm-svn: 65688 | |||||
* | Create a new TypeNodes.def file that enumerates all of the types, | Douglas Gregor | 2009-02-26 | 1 | -1/+1 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | giving them rough classifications (normal types, never-canonical types, always-dependent types, abstract type representations) and making it far easier to make sure that we've hit all of the cases when decoding types. Switched some switch() statements on the type class over to using this mechanism, and filtering out those things we don't care about. For example, CodeGen should never see always-dependent or non-canonical types, while debug info generation should never see always-dependent types. More switch() statements on the type class need to be moved over to using this approach, so that we'll get warnings when we add a new type then fail to account for it somewhere in the compiler. As part of this, some types have been renamed: TypeOfExpr -> TypeOfExprType FunctionTypeProto -> FunctionProtoType FunctionTypeNoProto -> FunctionNoProtoType There shouldn't be any functionality change... llvm-svn: 65591 | |||||
* | Add Type::hasPointerRepresentation predicate. | Daniel Dunbar | 2009-02-26 | 1 | -4/+0 | |
| | | | | | | | | | - For types whose native representation is a pointer. - Use to replace ExprConstant.cpp:HasPointerEvalType, CodeGenFunction::isObjCPointerType. llvm-svn: 65569 | |||||
* | CodeGen support for copied BlockDeclRefExprs. | Mike Stump | 2009-02-25 | 1 | -12/+32 | |
| | | | | llvm-svn: 65487 | |||||
* | Fold GeneraticStaticBlockVarDecl into callers. | Daniel Dunbar | 2009-02-25 | 1 | -8/+0 | |
| | | | | | | - No functionality change. llvm-svn: 65470 | |||||
* | Pull COdeGenFunction::CreateStaticBlockVarDecl (just for creating the | Daniel Dunbar | 2009-02-25 | 1 | -9/+17 | |
| | | | | | | | | global variable) out of GenerateStaticBlockVarDecl. - No intended functionality change. - Prep for some mild cleanups and PR3662. llvm-svn: 65466 | |||||
* | first wave of fixes for @encode sema support. This is part of PR3648. | Chris Lattner | 2009-02-24 | 1 | -0/+1 | |
| | | | | | | | The big difference here is that (like string literal) @encode has array type, not pointer type. llvm-svn: 65391 | |||||
* | Prevent accidental copying of CodeGenFunction and CodeGenModule. | Anders Carlsson | 2009-02-24 | 1 | -0/+2 | |
| | | | | llvm-svn: 65372 | |||||
* | Add low level support for generating invoke instead of calls. | Daniel Dunbar | 2009-02-23 | 1 | -0/+11 | |
| | | | | | | - No functionality change. llvm-svn: 65325 | |||||
* | Copy some clenaups from Eli to code that I copied. :-) | Mike Stump | 2009-02-22 | 1 | -6/+1 | |
| | | | | llvm-svn: 65286 | |||||
* | Cleanp code with some recent suggestions. | Mike Stump | 2009-02-22 | 1 | -5/+10 | |
| | | | | llvm-svn: 65285 | |||||
* | Add CodeGen support for the helper for BlockDeclRefExprs. The easier | Mike Stump | 2009-02-21 | 1 | -4/+36 | |
| | | | | | | stuff is mostly done. Move BlockHasCopyDispose up. llvm-svn: 65242 | |||||
* | Set call attribute for direct calls (i.e. noreturn). | Daniel Dunbar | 2009-02-20 | 1 | -5/+8 | |
| | | | | | | - Remove an unused variant of EmitCallExpr overload. llvm-svn: 65130 | |||||
* | Deox and Capitolize. | Mike Stump | 2009-02-20 | 1 | -3/+3 | |
| | | | | llvm-svn: 65093 | |||||
* | Fixup spacing a little. | Mike Stump | 2009-02-17 | 1 | -6/+6 | |
| | | | | llvm-svn: 64768 | |||||
* | Support IRgen of sqrt -> llvm.sqrt, pow -> llvm.pow. | Daniel Dunbar | 2009-02-16 | 1 | -1/+2 | |
| | | | | | | | | | | | | | | | | - Define pow[lf]?, sqrt[lf]? as builtins. - Add -fmath-errno option which binds to LangOptions.MathErrno - Add new builtin flag Builtin::Context::isConstWithoutErrno for functions which can be marked as const if errno isn't respected for math functions. Sema automatically marks these functions as const when they are defined, if MathErrno=0. - IRgen uses const attribute on sqrt and pow library functions to decide if it can use the llvm intrinsic. llvm-svn: 64689 | |||||
* | Use getNameAsCString instead of getNameAsString and reflow the type. | Mike Stump | 2009-02-14 | 1 | -3/+3 | |
| | | | | | | Thanks Anders. llvm-svn: 64571 | |||||
* | Generate the helper function for blocks. Now basic codegen is | Mike Stump | 2009-02-14 | 1 | -5/+8 | |
| | | | | | | starting to work for blocks. llvm-svn: 64570 | |||||
* | Condense all the blocks code into CGBlocks.cpp. | Mike Stump | 2009-02-13 | 1 | -0/+3 | |
| | | | | llvm-svn: 64457 | |||||
* | Add CodeGen support for the nodebug attribute. | Anders Carlsson | 2009-02-13 | 1 | -0/+4 | |
| | | | | llvm-svn: 64445 | |||||
* | Add a very basic implemenation of global blocks. This needs to be cleaned up. | Anders Carlsson | 2009-02-12 | 1 | -0/+12 | |
| | | | | llvm-svn: 64387 | |||||
* | Add support for generating block call expressions. | Anders Carlsson | 2009-02-12 | 1 | -0/+2 | |
| | | | | llvm-svn: 64346 | |||||
* | Support IRgen of va_arg of structure as l-value. | Daniel Dunbar | 2009-02-11 | 1 | -1/+3 | |
| | | | | llvm-svn: 64325 | |||||
* | Remove the last remnants of the Obj-C EH stack code. | Anders Carlsson | 2009-02-10 | 1 | -76/+2 | |
| | | | | llvm-svn: 64205 | |||||
* | Start removing the old Obj-C EH stack now that the cleanup stack is used ↵ | Anders Carlsson | 2009-02-10 | 1 | -28/+3 | |
| | | | | | | instead. llvm-svn: 64203 | |||||
* | Add util Emit{LoadOf,StoreTo}Scalar methods to encapsulate conversion | Daniel Dunbar | 2009-02-10 | 1 | -0/+12 | |
| | | | | | | | from LLVM memory type to/from LLVM temporary type. - No intended functionality change. llvm-svn: 64191 | |||||
* | Add DidCallStackSave variable to CodeGenFunction. | Anders Carlsson | 2009-02-09 | 1 | -0/+4 | |
| | | | | llvm-svn: 64156 | |||||
* | Add some more documentation. Also reflowed comments to 80 col. | Mike Stump | 2009-02-08 | 1 | -226/+214 | |
| | | | | llvm-svn: 64105 | |||||
* | Add a simplified EmitJumpThroughFinally and use it in CGObjC in preparation ↵ | Anders Carlsson | 2009-02-08 | 1 | -2/+3 | |
| | | | | | | of making it use the cleanup stack. llvm-svn: 64098 | |||||
* | Wire up break and continue processing to the new stack depth adjuster. | Mike Stump | 2009-02-08 | 1 | -3/+19 | |
| | | | | | | | | If people could beat on it and let me know if there are any new semantics required by newer language standards or DRs or any little details I goofed on, I'd be happy to fix any issues found. llvm-svn: 64079 | |||||
* | More cleanup stack work, PopCleanupBlock now returns a struct with the ↵ | Anders Carlsson | 2009-02-08 | 1 | -12/+24 | |
| | | | | | | switch block and end block. llvm-svn: 64072 | |||||
* | Split some functions up | Anders Carlsson | 2009-02-08 | 1 | -3/+12 | |
| | | | | llvm-svn: 64069 | |||||
* | CleanupScope needs to push the cleanup block in its destructor | Anders Carlsson | 2009-02-08 | 1 | -6/+8 | |
| | | | | llvm-svn: 64068 | |||||
* | More cleanup stack work. | Anders Carlsson | 2009-02-08 | 1 | -0/+11 | |
| | | | | llvm-svn: 64059 | |||||
* | When emitting blocks, keep track of which cleanup scope they have. Minor ↵ | Anders Carlsson | 2009-02-08 | 1 | -0/+11 | |
| | | | | | | fixes and cleanup. llvm-svn: 64053 | |||||
* | Add support for emitting cleanup blocks. Make EmitCompoundStatement emit ↵ | Anders Carlsson | 2009-02-07 | 1 | -0/+7 | |
| | | | | | | cleanup blocks if necessary llvm-svn: 64051 | |||||
* | Add a simple RAII object, to be used for pushing a cleanup entry and make ↵ | Anders Carlsson | 2009-02-07 | 1 | -0/+19 | |
| | | | | | | the insertion point be the cleanup block. llvm-svn: 64048 |