Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Add EmitReferenceBindingToExpr. Have EmitCallArg use it for now. Doesn't ↵ | Anders Carlsson | 2009-05-20 | 1 | -0/+7 | |
| | | | | | | support anything but at least we don't crash ;) llvm-svn: 72147 | |||||
* | Improve support for irgen of references. | Anders Carlsson | 2009-05-19 | 1 | -4/+10 | |
| | | | | llvm-svn: 72133 | |||||
* | Only do the bitcast in EmitStoreOfScalar if the type is a boolean. | Anders Carlsson | 2009-05-19 | 1 | -15/+12 | |
| | | | | llvm-svn: 72125 | |||||
* | Pass the destination QualType to EmitStoreOfScalar. No functionality change. | Anders Carlsson | 2009-05-19 | 1 | -3/+3 | |
| | | | | llvm-svn: 72118 | |||||
* | Reflow some comments. | Mike Stump | 2009-05-16 | 1 | -11/+10 | |
| | | | | llvm-svn: 71937 | |||||
* | implement l-value codegen of comma expr | Chris Lattner | 2009-05-12 | 1 | -0/+6 | |
| | | | | llvm-svn: 71595 | |||||
* | push GlobalDecl through enough of the CodeGenModule interfaces | Chris Lattner | 2009-05-12 | 1 | -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 Jahanian | 2009-05-04 | 1 | -1/+6 | |
| | | | | | | | objc_assign_global API when assigning to global objective-c object pointer. llvm-svn: 70939 | |||||
* | Make codegen for constructors work again. | Anders Carlsson | 2009-05-03 | 1 | -2/+0 | |
| | | | | llvm-svn: 70785 | |||||
* | fix PR4067: [Linux kernel] cannot aggregate codegen stmtexpr as lvalue | Chris Lattner | 2009-04-25 | 1 | -2/+15 | |
| | | | | llvm-svn: 70067 | |||||
* | Fix pointer addressing and array subscripting of Objective-C interface | Daniel Dunbar | 2009-04-25 | 1 | -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 Gupta | 2009-04-24 | 1 | -5/+2 | |
| | | | | llvm-svn: 69949 | |||||
* | the logic for computing __func__ and friends is really broken: | Chris Lattner | 2009-04-23 | 1 | -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 Dunbar | 2009-04-22 | 1 | -1/+1 | |
| | | | | llvm-svn: 69775 | |||||
* | use of predefined identifiers like __func__ at global scope warn in sema, | Chris Lattner | 2009-04-21 | 1 | -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 things | Daniel Dunbar | 2009-04-21 | 1 | -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 Dunbar | 2009-04-21 | 1 | -12/+0 | |
| | | | | llvm-svn: 69641 | |||||
* | Use getAsPointerType instead of using getCanonicalType directly. | Daniel Dunbar | 2009-04-18 | 1 | -10/+6 | |
| | | | | | | - <rdar://problem/6803995> llvm-svn: 69435 | |||||
* | tidy some code. | Chris Lattner | 2009-04-17 | 1 | -5/+2 | |
| | | | | llvm-svn: 69360 | |||||
* | Implement basic code generation of constructor calls. We can now compile: | Anders Carlsson | 2009-04-17 | 1 | -0/+2 | |
| | | | | | | | | | | | | struct S { S(int, int); }; void f() { S s(10, 10); } llvm-svn: 69330 | |||||
* | Fixup whitespacing. | Mike Stump | 2009-04-14 | 1 | -1/+1 | |
| | | | | llvm-svn: 69055 | |||||
* | Use hasAttr instead of getAttr for conditionals. | Mike Stump | 2009-04-14 | 1 | -1/+1 | |
| | | | | llvm-svn: 69021 | |||||
* | Audit __private_extern__ handling. | Daniel Dunbar | 2009-04-14 | 1 | -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 6756266 | Mike Stump | 2009-04-14 | 1 | -3/+4 | |
| | | | | llvm-svn: 69010 | |||||
* | Update to use hasAttr() instead of getAttr(). | Daniel Dunbar | 2009-04-13 | 1 | -1/+1 | |
| | | | | | | - No functionality change. llvm-svn: 68987 | |||||
* | Use the new EmitCallArgs function. No indented functionality change. | Anders Carlsson | 2009-04-08 | 1 | -3/+1 | |
| | | | | llvm-svn: 68652 | |||||
* | Pointer width on targets like PIC16 is 16-bit, while the valid index size to ↵ | Sanjiv Gupta | 2009-04-08 | 1 | -2/+5 | |
| | | | | | | GEP is only 32 or 64. So promote index to 32 in such cases. llvm-svn: 68590 | |||||
* | Remove some dead code. | Anders Carlsson | 2009-04-07 | 1 | -9/+5 | |
| | | | | llvm-svn: 68532 | |||||
* | Various fixes to symbols used for Obj-C x86_64 metadata. | Daniel Dunbar | 2009-04-07 | 1 | -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 Carlsson | 2009-04-03 | 1 | -0/+3 | |
| | | | | llvm-svn: 68412 | |||||
* | Support member reference on ?: of struct type. | Daniel Dunbar | 2009-03-24 | 1 | -0/+20 | |
| | | | | llvm-svn: 67603 | |||||
* | fix CreateTempAlloca to not set a name on the alloca for temporaries | Chris Lattner | 2009-03-22 | 1 | -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 BindRuntimeGlobals | Chris Lattner | 2009-03-21 | 1 | -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 Lattner | 2009-03-18 | 1 | -1/+1 | |
| | | | | llvm-svn: 67219 | |||||
* | add codegen support for casting an element to a union. | Chris Lattner | 2009-03-18 | 1 | -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 Lattner | 2009-03-18 | 1 | -0/+13 | |
| | | | | llvm-svn: 67164 | |||||
* | Minor cleanup for choose expressions: add a helper that returns the | Eli Friedman | 2009-03-04 | 1 | -5/+1 | |
| | | | | | | chosen sub-expression, rather than just evaluating the condition. llvm-svn: 66018 | |||||
* | Improved ABI compliance for __block variables. No testcases yet as we | Mike Stump | 2009-03-04 | 1 | -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 the | Mike Stump | 2009-03-02 | 1 | -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 Stump | 2009-02-28 | 1 | -1/+36 | |
| | | | | llvm-svn: 65688 | |||||
* | first wave of fixes for @encode sema support. This is part of PR3648. | Chris Lattner | 2009-02-24 | 1 | -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 reference | Fariborz Jahanian | 2009-02-23 | 1 | -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 access | Fariborz Jahanian | 2009-02-22 | 1 | -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 Jahanian | 2009-02-21 | 1 | -2/+6 | |
| | | | | llvm-svn: 65251 | |||||
* | Handle case of none gc'able objects regardless of their | Fariborz Jahanian | 2009-02-21 | 1 | -3/+8 | |
| | | | | | | type. llvm-svn: 65205 | |||||
* | Shorten; no functionality change. | Daniel Dunbar | 2009-02-20 | 1 | -8/+6 | |
| | | | | llvm-svn: 65145 | |||||
* | Set call attribute for direct calls (i.e. noreturn). | Daniel Dunbar | 2009-02-20 | 1 | -18/+15 | |
| | | | | | | - Remove an unused variant of EmitCallExpr overload. llvm-svn: 65130 | |||||
* | More objc gc's ir-gen fixes. | Fariborz Jahanian | 2009-02-20 | 1 | -3/+8 | |
| | | | | llvm-svn: 65097 | |||||
* | More objc's gc ir-gen stuff. | Fariborz Jahanian | 2009-02-19 | 1 | -35/+33 | |
| | | | | llvm-svn: 65077 | |||||
* | Generate the conservative objc gc's API for now. | Fariborz Jahanian | 2009-02-19 | 1 | -0/+7 | |
| | | | | llvm-svn: 65051 |