Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | It turns out BuildAggrIvarLayout wasn't even using the shadow struct, | Daniel Dunbar | 2009-05-03 | 1 | -11/+1 | |
| | | | | | | just computing it! llvm-svn: 70779 | |||||
* | Lift common subexpression, remove dead "base" variable. | Daniel Dunbar | 2009-05-03 | 1 | -11/+8 | |
| | | | | llvm-svn: 70778 | |||||
* | Factor out BuildAggrIvarRecordLayout routine. | Daniel Dunbar | 2009-05-03 | 1 | -34/+33 | |
| | | | | llvm-svn: 70777 | |||||
* | Lift out GetGCAttrTypeForType routine. | Daniel Dunbar | 2009-05-03 | 1 | -20/+23 | |
| | | | | llvm-svn: 70776 | |||||
* | Add constructors for GC_IVAR and SKIP_SCAN, tighten up uses. | Daniel Dunbar | 2009-05-03 | 1 | -47/+35 | |
| | | | | | | Lift up a size calculation and note some asymmetries. llvm-svn: 70775 | |||||
* | Normalize style, remove a dead assert. | Daniel Dunbar | 2009-05-03 | 1 | -32/+16 | |
| | | | | llvm-svn: 70771 | |||||
* | Use ASTRecordLayout for computing ivar offsets instead of shadow | Daniel Dunbar | 2009-05-03 | 1 | -41/+43 | |
| | | | | | | | | | | | struct. - We still need to do more lookup than necessary because ivars don't live in a reasonable DeclContext. - The only remaining client of the interface shadow struct is the ivar layout bitmap. llvm-svn: 70756 | |||||
* | Add a ComputeIvarBaseOffset overload taking an implementation | Daniel Dunbar | 2009-05-03 | 2 | -10/+26 | |
| | | | | | | | | decl. Only this routine will be suitable for computing the offset of a synthesized ivar. - No functionality change. llvm-svn: 70696 | |||||
* | Compute Objective-C metadata size information from the record layout, | Daniel Dunbar | 2009-05-03 | 3 | -21/+11 | |
| | | | | | | not the shadow structure. llvm-svn: 70691 | |||||
* | look at the right operand when increasing the size of an asm output, | Chris Lattner | 2009-05-03 | 1 | -3/+1 | |
| | | | | | | this fixes http://llvm.org/bugs/show_bug.cgi?id=3373#c20 llvm-svn: 70685 | |||||
* | Remove unused argument. | Daniel Dunbar | 2009-05-03 | 1 | -3/+1 | |
| | | | | llvm-svn: 70684 | |||||
* | Coalesce the ivar offset calculation further. | Daniel Dunbar | 2009-05-03 | 3 | -38/+33 | |
| | | | | llvm-svn: 70683 | |||||
* | don't shadow 'i' | Chris Lattner | 2009-05-03 | 1 | -5/+7 | |
| | | | | llvm-svn: 70680 | |||||
* | add support for tying asm operands where the result is smaller than | Chris Lattner | 2009-05-03 | 1 | -15/+64 | |
| | | | | | | the input. This is part of PR3373. llvm-svn: 70677 | |||||
* | implement support for asm outputs targetting non-simple lvalue destinations | Chris Lattner | 2009-05-03 | 1 | -11/+13 | |
| | | | | | | like bitfields. incidentally llvm-gcc crashes on this sort of thing also. :) llvm-svn: 70675 | |||||
* | Use type from ivar instead of from shadow struct field. | Daniel Dunbar | 2009-05-03 | 1 | -3/+3 | |
| | | | | | | - No functionality change. llvm-svn: 70674 | |||||
* | handle codegen of asms where a small input is tied to a large output. | Chris Lattner | 2009-05-03 | 1 | -0/+22 | |
| | | | | llvm-svn: 70672 | |||||
* | refactor some code to get the input/output constraint info before | Chris Lattner | 2009-05-03 | 1 | -15/+27 | |
| | | | | | | processing the outputs, no functionality change. llvm-svn: 70671 | |||||
* | When creating a dwarf record type for an objc interface, make sure to propagate | Chris Lattner | 2009-05-02 | 1 | -2/+6 | |
| | | | | | | | the runtime version number onto it, so that the debugger knows it's an objc interface, not a C struct. rdar://6848435 llvm-svn: 70618 | |||||
* | capture whether optimizations are enabled or not in debug info | Chris Lattner | 2009-05-02 | 1 | -2/+2 | |
| | | | | llvm-svn: 70617 | |||||
* | encode the version of the objc runtime into the dwarf compile unit. ↵ | Chris Lattner | 2009-05-02 | 1 | -4/+11 | |
| | | | | | | | | rdar://6848435, several other fixes coming. llvm-svn: 70616 | |||||
* | We can now call member functions where the base is a pointer. | Anders Carlsson | 2009-05-01 | 1 | -4/+1 | |
| | | | | llvm-svn: 70579 | |||||
* | Don't assert when we think we need copy/dispose, but don't need them. | Mike Stump | 2009-05-01 | 1 | -1/+2 | |
| | | | | | | Radar 6838889 llvm-svn: 70525 | |||||
* | Don't use indirect memory destinations for inline asm. Fixes 6841383. | Anders Carlsson | 2009-05-01 | 1 | -15/+27 | |
| | | | | llvm-svn: 70523 | |||||
* | Remove a warning when this file is compiled optimized. | Fariborz Jahanian | 2009-04-30 | 1 | -1/+2 | |
| | | | | llvm-svn: 70518 | |||||
* | API for message dispatch of methods returning floats | Fariborz Jahanian | 2009-04-30 | 1 | -5/+12 | |
| | | | | | | to match gcc's closely. llvm-svn: 70493 | |||||
* | Fix for PR4108: be a bit looser with the casts that we accept in | Eli Friedman | 2009-04-30 | 1 | -2/+3 | |
| | | | | | | constant initializers. llvm-svn: 70483 | |||||
* | fix i128 to return in 2 64-bit registers (rax/rdx on x86-64) | Chris Lattner | 2009-04-30 | 1 | -2/+2 | |
| | | | | llvm-svn: 70481 | |||||
* | initial support for __[u]int128_t, which should be basically | Chris Lattner | 2009-04-30 | 3 | -1/+9 | |
| | | | | | | | | compatible with VC++ and GCC. The codegen/mangling angle hasn't been fully ironed out yet. Note that we accept int128_t even in 32-bit mode, unlike gcc. llvm-svn: 70464 | |||||
* | Undid setting of the flag for msg_Send for 32bit code gen. | Fariborz Jahanian | 2009-04-29 | 1 | -3/+2 | |
| | | | | | | It seems to effect code gen. Add a FIXME instead. llvm-svn: 70423 | |||||
* | Export lazy references of .objc_class_name of class names | Fariborz Jahanian | 2009-04-29 | 1 | -0/+1 | |
| | | | | | | | referenced in a category implementation meta-data (Next objc 32bit abi). llvm-svn: 70407 | |||||
* | Type of msgSend message dispatch API is a vararg. | Fariborz Jahanian | 2009-04-29 | 1 | -1/+3 | |
| | | | | llvm-svn: 70404 | |||||
* | Improve compatibility with GCC regarding inline semantics in GNU89 | Douglas Gregor | 2009-04-28 | 1 | -2/+10 | |
| | | | | | | | | | | | mode and in the presence of __gnu_inline__ attributes. This should fix both PR3989 and PR4069. As part of this, we now keep track of all of the attributes attached to each declaration even after we've performed declaration merging. This fixes PR3264. llvm-svn: 70292 | |||||
* | While generating debug info ignore unnamed fields. | Devang Patel | 2009-04-27 | 1 | -0/+8 | |
| | | | | llvm-svn: 70266 | |||||
* | x86-32 ABI: Fix crash on return of structure with flexible array | Daniel Dunbar | 2009-04-27 | 1 | -4/+10 | |
| | | | | | | | | member. Also, spell bitfield more consistently as bit-field. llvm-svn: 70220 | |||||
* | Implement function-try-blocks. However, there's a very subtle bug that I ↵ | Sebastian Redl | 2009-04-26 | 2 | -6/+7 | |
| | | | | | | can't track down. llvm-svn: 70155 | |||||
* | Remove getIntegerConstantExprValue in favor of using EvaluateAsInt. | Eli Friedman | 2009-04-26 | 5 | -12/+8 | |
| | | | | llvm-svn: 70145 | |||||
* | pull operands names "[foo]" into ConstraintInfo. | Chris Lattner | 2009-04-26 | 1 | -14/+11 | |
| | | | | llvm-svn: 70136 | |||||
* | pull the constraint string into the ConstraintInfo struct | Chris Lattner | 2009-04-26 | 1 | -6/+4 | |
| | | | | | | instead of passing it around in addition to it. llvm-svn: 70135 | |||||
* | change TargetInfo::ConstraintInfo to be a struct that contains | Chris Lattner | 2009-04-26 | 1 | -6/+4 | |
| | | | | | | the enum along with some other data. llvm-svn: 70114 | |||||
* | split ObjC and C++ Statements out into their own headers. | Chris Lattner | 2009-04-26 | 4 | -1/+7 | |
| | | | | llvm-svn: 70105 | |||||
* | When calling the cleanup function specified by __attribute__((cleanup)), ↵ | Anders Carlsson | 2009-04-26 | 1 | -2/+13 | |
| | | | | | | make sure to bitcast the argument so it has the same type as the first argument of the cleanup function. Fixes <rdar://problem/6827047>. llvm-svn: 70098 | |||||
* | "This fixes message sends to super in a way that both works with real code ↵ | Chris Lattner | 2009-04-25 | 1 | -20/+28 | |
| | | | | | | | | and passes the test in the test suite. It also fixes a crash when using recent versions of GNU libobjc and compiling modules that do not contain any constant strings but do contain a declaration of the constant string class and possible some other corner cases (thanks to Pete French for providing me with a test case for that one)." Patch by David Chisnall! llvm-svn: 70093 | |||||
* | Minor simplification. | Eli Friedman | 2009-04-25 | 1 | -7/+2 | |
| | | | | llvm-svn: 70091 | |||||
* | fix PR4067: [Linux kernel] cannot aggregate codegen stmtexpr as lvalue | Chris Lattner | 2009-04-25 | 3 | -5/+17 | |
| | | | | llvm-svn: 70067 | |||||
* | Fix pointer addressing and array subscripting of Objective-C interface | Daniel Dunbar | 2009-04-25 | 2 | -5/+48 | |
| | | | | | | | | | | | 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 | |||||
* | Minor refactoring. No intended change in behavior. | Fariborz Jahanian | 2009-04-24 | 1 | -3/+3 | |
| | | | | llvm-svn: 69988 | |||||
* | Minor refactoring. No change in functionality. | Fariborz Jahanian | 2009-04-24 | 1 | -2/+1 | |
| | | | | llvm-svn: 69979 | |||||
* | Some code clean up of objc2's bitmap layout. | Fariborz Jahanian | 2009-04-24 | 1 | -30/+28 | |
| | | | | llvm-svn: 69970 | |||||
* | Clang part of r69947. Reverting back 69574 as it is no longer needed. | Sanjiv Gupta | 2009-04-24 | 2 | -15/+6 | |
| | | | | llvm-svn: 69949 |