summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CGExpr.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Add EmitReferenceBindingToExpr. Have EmitCallArg use it for now. Doesn't ↵Anders Carlsson2009-05-201-0/+7
| | | | | | support anything but at least we don't crash ;) llvm-svn: 72147
* Improve support for irgen of references.Anders Carlsson2009-05-191-4/+10
| | | | llvm-svn: 72133
* Only do the bitcast in EmitStoreOfScalar if the type is a boolean.Anders Carlsson2009-05-191-15/+12
| | | | llvm-svn: 72125
* Pass the destination QualType to EmitStoreOfScalar. No functionality change.Anders Carlsson2009-05-191-3/+3
| | | | llvm-svn: 72118
* Reflow some comments.Mike Stump2009-05-161-11/+10
| | | | llvm-svn: 71937
* implement l-value codegen of comma exprChris Lattner2009-05-121-0/+6
| | | | llvm-svn: 71595
* push GlobalDecl through enough of the CodeGenModule interfacesChris Lattner2009-05-121-1/+1
| | | | | | | | | to allow us to support generation of deferred ctors/dtors. It looks like codegen isn't emitting a call to the dtor in member-functions.cpp:test2, but when it does, its body should get emitted. llvm-svn: 71594
* Provide basic support for generation of objc2's Fariborz Jahanian2009-05-041-1/+6
| | | | | | | objc_assign_global API when assigning to global objective-c object pointer. llvm-svn: 70939
* Make codegen for constructors work again.Anders Carlsson2009-05-031-2/+0
| | | | llvm-svn: 70785
* fix PR4067: [Linux kernel] cannot aggregate codegen stmtexpr as lvalue Chris Lattner2009-04-251-2/+15
| | | | llvm-svn: 70067
* Fix pointer addressing and array subscripting of Objective-C interfaceDaniel Dunbar2009-04-251-3/+19
| | | | | | | | | | | types. - I broke this in the switch to representing interfaces with opaque types. - <rdar://problem/6822660> clang crashes on subscript of interface in 32-bit mode llvm-svn: 70009
* Clang part of r69947. Reverting back 69574 as it is no longer needed.Sanjiv Gupta2009-04-241-5/+2
| | | | llvm-svn: 69949
* the logic for computing __func__ and friends is really broken:Chris Lattner2009-04-231-1/+4
| | | | | | | | | the type assigned by sema (and is visible with sizeof(__func__) for example) has nothing to do with what codegen ends up producing. We should eventually add a method on PredefinedExpr to handle this. In the meantime, just set up some framework and add some fixme's. llvm-svn: 69872
* Make ObjCInterfaceDecl's const in some more places.Daniel Dunbar2009-04-221-1/+1
| | | | llvm-svn: 69775
* use of predefined identifiers like __func__ at global scope warn in sema,Chris Lattner2009-04-211-1/+1
| | | | | | | but crashed codegen. Fix this to report the name of the llvm function. This fixes rdar://6808051 llvm-svn: 69658
* Kill ASTContext::[gs]etFieldForDecl, instead we just lookup thingsDaniel Dunbar2009-04-211-4/+2
| | | | | | | | when we need them -- which is exactly what some code was already doing! - No intended functionality change. llvm-svn: 69648
* Remove LateBoundIVars() runtime interface, it is unused.Daniel Dunbar2009-04-211-12/+0
| | | | llvm-svn: 69641
* Use getAsPointerType instead of using getCanonicalType directly.Daniel Dunbar2009-04-181-10/+6
| | | | | | - <rdar://problem/6803995> llvm-svn: 69435
* tidy some code.Chris Lattner2009-04-171-5/+2
| | | | llvm-svn: 69360
* Implement basic code generation of constructor calls. We can now compile:Anders Carlsson2009-04-171-0/+2
| | | | | | | | | | | | struct S { S(int, int); }; void f() { S s(10, 10); } llvm-svn: 69330
* Fixup whitespacing.Mike Stump2009-04-141-1/+1
| | | | llvm-svn: 69055
* Use hasAttr instead of getAttr for conditionals.Mike Stump2009-04-141-1/+1
| | | | llvm-svn: 69021
* Audit __private_extern__ handling.Daniel Dunbar2009-04-141-1/+1
| | | | | | | | | | | | | | - Exposed quite a few Sema issues and a CodeGen crash. - See FIXMEs in test case, and in SemaDecl.cpp (PR3983). I'm skeptical that __private_extern__ should actually be a storage class value. I think that __private_extern__ basically amounts to extern A __attribute__((visibility("hidden"))) and would be better off handled (a) as that, or (b) with an extra bit in the VarDecl. llvm-svn: 69020
* Fixup CodeGen for __weak __block variables. Radar 6756266Mike Stump2009-04-141-3/+4
| | | | llvm-svn: 69010
* Update to use hasAttr() instead of getAttr().Daniel Dunbar2009-04-131-1/+1
| | | | | | - No functionality change. llvm-svn: 68987
* Use the new EmitCallArgs function. No indented functionality change.Anders Carlsson2009-04-081-3/+1
| | | | llvm-svn: 68652
* Pointer width on targets like PIC16 is 16-bit, while the valid index size to ↵Sanjiv Gupta2009-04-081-2/+5
| | | | | | GEP is only 32 or 64. So promote index to 32 in such cases. llvm-svn: 68590
* Remove some dead code.Anders Carlsson2009-04-071-9/+5
| | | | llvm-svn: 68532
* Various fixes to symbols used for Obj-C x86_64 metadata.Daniel Dunbar2009-04-071-1/+4
| | | | | | | | | | | | | | | | | | | | | - Changed method names to match gcc (categories names still aren't mangled in). - Expose correct name for class and metadata symbols (although -fvisibility=hidden isn't yet correct). - Remove several things from llvm.used that didn't need to be there (I suspect this can still be trimmed). - Don't use asm-prefix extension for _objc_empty_{cache,vtable} (not needed). - Hide EH type class info with -fvisibility=hidden - Change setGlobal[Option]Visibility to not change the visibility of functions with internal linkage. llvm-svn: 68510
* Add support for calling C++ member functions.Anders Carlsson2009-04-031-0/+3
| | | | llvm-svn: 68412
* Support member reference on ?: of struct type.Daniel Dunbar2009-03-241-0/+20
| | | | llvm-svn: 67603
* fix CreateTempAlloca to not set a name on the alloca for temporariesChris Lattner2009-03-221-1/+2
| | | | | | | | | in release-assert builds. For automatic variables, explicitly set a name with setName that does not make a temporary std::string. This speeds up -emit-llvm-only -disable-free on PR3810 by 4.6% llvm-svn: 67459
* simplify and comment some code better. Make BindRuntimeGlobalsChris Lattner2009-03-211-0/+1
| | | | | | more optimistic that it will work (optimizing for the common case). llvm-svn: 67438
* fix the more complex cases by actually codegen'ing the right expr :)Chris Lattner2009-03-181-1/+1
| | | | llvm-svn: 67219
* add codegen support for casting an element to a union.Chris Lattner2009-03-181-8/+25
| | | | | | | There are some more complex cases (_Complex and structs) that I'm still working on. llvm-svn: 67218
* teach codegen to handle noop casts as lvalues.Chris Lattner2009-03-181-0/+13
| | | | llvm-svn: 67164
* Minor cleanup for choose expressions: add a helper that returns the Eli Friedman2009-03-041-5/+1
| | | | | | chosen sub-expression, rather than just evaluating the condition. llvm-svn: 66018
* Improved ABI compliance for __block variables. No testcases yet as weMike Stump2009-03-041-39/+11
| | | | | | | still give an unsupported error for them due to the fact this is a work in progress. llvm-svn: 66007
* Push checking down, also, give the user a hit as to which part of theMike Stump2009-03-021-0/+11
| | | | | | | block literal is causing the problem, instead of the vague reference to the entire block literal. llvm-svn: 65798
* First cut CodeGen support for __block variables.Mike Stump2009-02-281-1/+36
| | | | llvm-svn: 65688
* first wave of fixes for @encode sema support. This is part of PR3648.Chris Lattner2009-02-241-13/+21
| | | | | | | The big difference here is that (like string literal) @encode has array type, not pointer type. llvm-svn: 65391
* We should not generate __weak write barrier on indirect referenceFariborz Jahanian2009-02-231-3/+12
| | | | | | | of a pointer to object; This patch does this odd behavior according to gcc. llvm-svn: 65334
* More objc gc work. Match gcc's treatment of ivar accessFariborz Jahanian2009-02-221-1/+1
| | | | | | | true a local pointer to objective-c object in generating write barriers. llvm-svn: 65290
* local array of objects are non-gc'able.Fariborz Jahanian2009-02-211-2/+6
| | | | llvm-svn: 65251
* Handle case of none gc'able objects regardless of theirFariborz Jahanian2009-02-211-3/+8
| | | | | | type. llvm-svn: 65205
* Shorten; no functionality change.Daniel Dunbar2009-02-201-8/+6
| | | | llvm-svn: 65145
* Set call attribute for direct calls (i.e. noreturn).Daniel Dunbar2009-02-201-18/+15
| | | | | | - Remove an unused variant of EmitCallExpr overload. llvm-svn: 65130
* More objc gc's ir-gen fixes.Fariborz Jahanian2009-02-201-3/+8
| | | | llvm-svn: 65097
* More objc's gc ir-gen stuff.Fariborz Jahanian2009-02-191-35/+33
| | | | llvm-svn: 65077
* Generate the conservative objc gc's API for now.Fariborz Jahanian2009-02-191-0/+7
| | | | llvm-svn: 65051
OpenPOWER on IntegriCloud