summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen
Commit message (Collapse)AuthorAgeFilesLines
...
* It turns out BuildAggrIvarLayout wasn't even using the shadow struct,Daniel Dunbar2009-05-031-11/+1
| | | | | | just computing it! llvm-svn: 70779
* Lift common subexpression, remove dead "base" variable.Daniel Dunbar2009-05-031-11/+8
| | | | llvm-svn: 70778
* Factor out BuildAggrIvarRecordLayout routine.Daniel Dunbar2009-05-031-34/+33
| | | | llvm-svn: 70777
* Lift out GetGCAttrTypeForType routine.Daniel Dunbar2009-05-031-20/+23
| | | | llvm-svn: 70776
* Add constructors for GC_IVAR and SKIP_SCAN, tighten up uses.Daniel Dunbar2009-05-031-47/+35
| | | | | | Lift up a size calculation and note some asymmetries. llvm-svn: 70775
* Normalize style, remove a dead assert.Daniel Dunbar2009-05-031-32/+16
| | | | llvm-svn: 70771
* Use ASTRecordLayout for computing ivar offsets instead of shadowDaniel Dunbar2009-05-031-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 implementationDaniel Dunbar2009-05-032-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 Dunbar2009-05-033-21/+11
| | | | | | not the shadow structure. llvm-svn: 70691
* look at the right operand when increasing the size of an asm output,Chris Lattner2009-05-031-3/+1
| | | | | | this fixes http://llvm.org/bugs/show_bug.cgi?id=3373#c20 llvm-svn: 70685
* Remove unused argument.Daniel Dunbar2009-05-031-3/+1
| | | | llvm-svn: 70684
* Coalesce the ivar offset calculation further.Daniel Dunbar2009-05-033-38/+33
| | | | llvm-svn: 70683
* don't shadow 'i'Chris Lattner2009-05-031-5/+7
| | | | llvm-svn: 70680
* add support for tying asm operands where the result is smaller thanChris Lattner2009-05-031-15/+64
| | | | | | the input. This is part of PR3373. llvm-svn: 70677
* implement support for asm outputs targetting non-simple lvalue destinationsChris Lattner2009-05-031-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 Dunbar2009-05-031-3/+3
| | | | | | - No functionality change. llvm-svn: 70674
* handle codegen of asms where a small input is tied to a large output.Chris Lattner2009-05-031-0/+22
| | | | llvm-svn: 70672
* refactor some code to get the input/output constraint info beforeChris Lattner2009-05-031-15/+27
| | | | | | processing the outputs, no functionality change. llvm-svn: 70671
* When creating a dwarf record type for an objc interface, make sure to propagateChris Lattner2009-05-021-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 infoChris Lattner2009-05-021-2/+2
| | | | llvm-svn: 70617
* encode the version of the objc runtime into the dwarf compile unit. ↵Chris Lattner2009-05-021-4/+11
| | | | | | | | rdar://6848435, several other fixes coming. llvm-svn: 70616
* We can now call member functions where the base is a pointer.Anders Carlsson2009-05-011-4/+1
| | | | llvm-svn: 70579
* Don't assert when we think we need copy/dispose, but don't need them.Mike Stump2009-05-011-1/+2
| | | | | | Radar 6838889 llvm-svn: 70525
* Don't use indirect memory destinations for inline asm. Fixes 6841383.Anders Carlsson2009-05-011-15/+27
| | | | llvm-svn: 70523
* Remove a warning when this file is compiled optimized.Fariborz Jahanian2009-04-301-1/+2
| | | | llvm-svn: 70518
* API for message dispatch of methods returning floatsFariborz Jahanian2009-04-301-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 Friedman2009-04-301-2/+3
| | | | | | constant initializers. llvm-svn: 70483
* fix i128 to return in 2 64-bit registers (rax/rdx on x86-64)Chris Lattner2009-04-301-2/+2
| | | | llvm-svn: 70481
* initial support for __[u]int128_t, which should be basicallyChris Lattner2009-04-303-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 Jahanian2009-04-291-3/+2
| | | | | | It seems to effect code gen. Add a FIXME instead. llvm-svn: 70423
* Export lazy references of .objc_class_name of class namesFariborz Jahanian2009-04-291-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 Jahanian2009-04-291-1/+3
| | | | llvm-svn: 70404
* Improve compatibility with GCC regarding inline semantics in GNU89Douglas Gregor2009-04-281-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 Patel2009-04-271-0/+8
| | | | llvm-svn: 70266
* x86-32 ABI: Fix crash on return of structure with flexible arrayDaniel Dunbar2009-04-271-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 Redl2009-04-262-6/+7
| | | | | | can't track down. llvm-svn: 70155
* Remove getIntegerConstantExprValue in favor of using EvaluateAsInt.Eli Friedman2009-04-265-12/+8
| | | | llvm-svn: 70145
* pull operands names "[foo]" into ConstraintInfo.Chris Lattner2009-04-261-14/+11
| | | | llvm-svn: 70136
* pull the constraint string into the ConstraintInfo structChris Lattner2009-04-261-6/+4
| | | | | | instead of passing it around in addition to it. llvm-svn: 70135
* change TargetInfo::ConstraintInfo to be a struct that containsChris Lattner2009-04-261-6/+4
| | | | | | the enum along with some other data. llvm-svn: 70114
* split ObjC and C++ Statements out into their own headers.Chris Lattner2009-04-264-1/+7
| | | | llvm-svn: 70105
* When calling the cleanup function specified by __attribute__((cleanup)), ↵Anders Carlsson2009-04-261-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 Lattner2009-04-251-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 Friedman2009-04-251-7/+2
| | | | llvm-svn: 70091
* fix PR4067: [Linux kernel] cannot aggregate codegen stmtexpr as lvalue Chris Lattner2009-04-253-5/+17
| | | | llvm-svn: 70067
* Fix pointer addressing and array subscripting of Objective-C interfaceDaniel Dunbar2009-04-252-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 Jahanian2009-04-241-3/+3
| | | | llvm-svn: 69988
* Minor refactoring. No change in functionality.Fariborz Jahanian2009-04-241-2/+1
| | | | llvm-svn: 69979
* Some code clean up of objc2's bitmap layout.Fariborz Jahanian2009-04-241-30/+28
| | | | llvm-svn: 69970
* Clang part of r69947. Reverting back 69574 as it is no longer needed.Sanjiv Gupta2009-04-242-15/+6
| | | | llvm-svn: 69949
OpenPOWER on IntegriCloud