summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CodeGenFunction.h
Commit message (Collapse)AuthorAgeFilesLines
...
* More super dot-syntax property implementationFariborz Jahanian2009-03-201-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 Lattner2009-03-181-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 blockMike Stump2009-03-131-0/+1
| | | | | | literals. llvm-svn: 66984
* Codegen support for copy helpers for block literals.Mike Stump2009-03-071-21/+3
| | | | llvm-svn: 66319
* Pass the type of the block literal around to make required temporal ordering ↵Mike Stump2009-03-061-1/+1
| | | | | | of code clearer. llvm-svn: 66284
* prep work for copy/destroy helpers for block literals.Mike Stump2009-03-051-9/+3
| | | | llvm-svn: 66159
* Move more blocks CodeGenFunction code up and out.Mike Stump2009-03-041-23/+0
| | | | llvm-svn: 66049
* Move some of the CodeGenFunction blocks code up and out. NoMike Stump2009-03-041-3/+0
| | | | | | functionality change. llvm-svn: 66048
* Move more of blocks codegen out of CodeGenModule and into theMike Stump2009-03-041-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 mostMike Stump2009-03-041-22/+2
| | | | | | people. De-duplicates BLOCK_NEEDS_FREE and friends. llvm-svn: 66034
* Improved ABI compliance for __block variables. No testcases yet as weMike Stump2009-03-041-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 Carlsson2009-03-011-0/+8
| | | | llvm-svn: 65746
* improve compatibility with the VC++'08 C++ compiler. Patch byChris Lattner2009-02-281-1/+1
| | | | | | Niklas Larsson! llvm-svn: 65706
* First cut CodeGen support for __block variables.Mike Stump2009-02-281-29/+12
| | | | llvm-svn: 65688
* Create a new TypeNodes.def file that enumerates all of the types,Douglas Gregor2009-02-261-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 Dunbar2009-02-261-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 Stump2009-02-251-12/+32
| | | | llvm-svn: 65487
* Fold GeneraticStaticBlockVarDecl into callers.Daniel Dunbar2009-02-251-8/+0
| | | | | | - No functionality change. llvm-svn: 65470
* Pull COdeGenFunction::CreateStaticBlockVarDecl (just for creating theDaniel Dunbar2009-02-251-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 Lattner2009-02-241-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 Carlsson2009-02-241-0/+2
| | | | llvm-svn: 65372
* Add low level support for generating invoke instead of calls.Daniel Dunbar2009-02-231-0/+11
| | | | | | - No functionality change. llvm-svn: 65325
* Copy some clenaups from Eli to code that I copied. :-)Mike Stump2009-02-221-6/+1
| | | | llvm-svn: 65286
* Cleanp code with some recent suggestions.Mike Stump2009-02-221-5/+10
| | | | llvm-svn: 65285
* Add CodeGen support for the helper for BlockDeclRefExprs. The easierMike Stump2009-02-211-4/+36
| | | | | | stuff is mostly done. Move BlockHasCopyDispose up. llvm-svn: 65242
* Set call attribute for direct calls (i.e. noreturn).Daniel Dunbar2009-02-201-5/+8
| | | | | | - Remove an unused variant of EmitCallExpr overload. llvm-svn: 65130
* Deox and Capitolize.Mike Stump2009-02-201-3/+3
| | | | llvm-svn: 65093
* Fixup spacing a little.Mike Stump2009-02-171-6/+6
| | | | llvm-svn: 64768
* Support IRgen of sqrt -> llvm.sqrt, pow -> llvm.pow.Daniel Dunbar2009-02-161-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 Stump2009-02-141-3/+3
| | | | | | Thanks Anders. llvm-svn: 64571
* Generate the helper function for blocks. Now basic codegen isMike Stump2009-02-141-5/+8
| | | | | | starting to work for blocks. llvm-svn: 64570
* Condense all the blocks code into CGBlocks.cpp.Mike Stump2009-02-131-0/+3
| | | | llvm-svn: 64457
* Add CodeGen support for the nodebug attribute.Anders Carlsson2009-02-131-0/+4
| | | | llvm-svn: 64445
* Add a very basic implemenation of global blocks. This needs to be cleaned up.Anders Carlsson2009-02-121-0/+12
| | | | llvm-svn: 64387
* Add support for generating block call expressions.Anders Carlsson2009-02-121-0/+2
| | | | llvm-svn: 64346
* Support IRgen of va_arg of structure as l-value.Daniel Dunbar2009-02-111-1/+3
| | | | llvm-svn: 64325
* Remove the last remnants of the Obj-C EH stack code.Anders Carlsson2009-02-101-76/+2
| | | | llvm-svn: 64205
* Start removing the old Obj-C EH stack now that the cleanup stack is used ↵Anders Carlsson2009-02-101-28/+3
| | | | | | instead. llvm-svn: 64203
* Add util Emit{LoadOf,StoreTo}Scalar methods to encapsulate conversionDaniel Dunbar2009-02-101-0/+12
| | | | | | | from LLVM memory type to/from LLVM temporary type. - No intended functionality change. llvm-svn: 64191
* Add DidCallStackSave variable to CodeGenFunction.Anders Carlsson2009-02-091-0/+4
| | | | llvm-svn: 64156
* Add some more documentation. Also reflowed comments to 80 col.Mike Stump2009-02-081-226/+214
| | | | llvm-svn: 64105
* Add a simplified EmitJumpThroughFinally and use it in CGObjC in preparation ↵Anders Carlsson2009-02-081-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 Stump2009-02-081-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 Carlsson2009-02-081-12/+24
| | | | | | switch block and end block. llvm-svn: 64072
* Split some functions upAnders Carlsson2009-02-081-3/+12
| | | | llvm-svn: 64069
* CleanupScope needs to push the cleanup block in its destructorAnders Carlsson2009-02-081-6/+8
| | | | llvm-svn: 64068
* More cleanup stack work.Anders Carlsson2009-02-081-0/+11
| | | | llvm-svn: 64059
* When emitting blocks, keep track of which cleanup scope they have. Minor ↵Anders Carlsson2009-02-081-0/+11
| | | | | | fixes and cleanup. llvm-svn: 64053
* Add support for emitting cleanup blocks. Make EmitCompoundStatement emit ↵Anders Carlsson2009-02-071-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 Carlsson2009-02-071-0/+19
| | | | | | the insertion point be the cleanup block. llvm-svn: 64048
OpenPOWER on IntegriCloud