Fariborz Jahanian
10bec1099c
Handle case of none gc'able objects regardless of their
...
type.
llvm-svn: 65205
2009-02-21 00:30:43 +00:00
Fariborz Jahanian
83e3eea5fc
Some code simplification. ir gen for gc'able array
...
of objects in objc.
llvm-svn: 64992
2009-02-19 00:48:05 +00:00
Chris Lattner
e084c01124
fix volatile handling with ExtVectorElementExpr, so that we
...
emit two volatile loads for:
typedef __attribute__(( ext_vector_type(4) )) float float4;
float test(volatile float4 *P) {
return P->x+P->y;
}
llvm-svn: 64683
2009-02-16 22:25:49 +00:00
Nate Begeman
f2a6e5f0c0
Remove tabs.
...
llvm-svn: 61097
2008-12-16 19:57:09 +00:00
Fariborz Jahanian
9ac535162b
Implemented ir-gen for 'implicit' properties using the new AST nodes.
...
llvm-svn: 59886
2008-11-22 22:30:21 +00:00
Fariborz Jahanian
735a4158d9
Fields of ivars of struct types are considered ivars
...
themselves for gc API generation purposes.
llvm-svn: 59828
2008-11-21 18:14:01 +00:00
Fariborz Jahanian
75686a58f3
Support generation of objc_assign_ivar for ivar
...
write-barriers.
llvm-svn: 59748
2008-11-20 20:53:20 +00:00
Fariborz Jahanian
a598b5286e
More of objective-c's gc code-gen. Treat objective-c
...
objects as __strong when attribute unspecified.
llvm-svn: 59654
2008-11-19 18:38:10 +00:00
Fariborz Jahanian
50a1270d87
Few more changes due to Daniel's feedback.
...
llvm-svn: 59645
2008-11-19 17:34:06 +00:00
Fariborz Jahanian
d7db964495
Generate strong write barriers for __strong objects.
...
Also, took care of Daniel's commments.
llvm-svn: 59575
2008-11-19 00:59:10 +00:00
Fariborz Jahanian
f5125d19e7
Generate objc_read_weak for __weak objc loads.
...
llvm-svn: 59553
2008-11-18 21:45:40 +00:00
Fariborz Jahanian
406b117eea
Some basic support toward objective-c's GC code gen.
...
llvm-svn: 59543
2008-11-18 20:18:11 +00:00
Daniel Dunbar
cf56c2b7bd
Add FIXME about potential problem in how property ref lvalues are handled.
...
llvm-svn: 57743
2008-10-17 23:02:24 +00:00
Daniel Dunbar
41cf9dedc6
Change CodeGen to emit calls using (RValue,Type) list:
...
- Add CodeGenFunction::EmitAnyExprToTemp
o Like EmitAnyExpr, but emits aggregates to a temporary location if
none is available. Seems like this should be simpler (even aside
from using first class aggregates).
- Killed CodeGenFunction::EmitCallArg (just append the pair)
- Conversion of RValues to actual call arguments is now isolated in
CodeGenFunction::EmitCall.
llvm-svn: 55970
2008-09-09 01:06:48 +00:00
Daniel Dunbar
9e22c0d317
Add special "property reference" CodeGen::LValue type for emitting
...
Objective-C property references.
- This handles property references "more correctly" but setters still
don't work.
llvm-svn: 55534
2008-08-29 08:11:39 +00:00
Daniel Dunbar
d4f616b853
Move [LR]Value into CGValue.h
...
- No (intended) functional change.
llvm-svn: 55221
2008-08-23 03:10:25 +00:00