Mon P Wang
acedf7768f
Preserve address space information through member accesses, e.g.,
...
__attribute__((address_space(1))) struct {int arr[ 3 ]; } *p1;
... = p1->arr[2]; // load from address space 1
llvm-svn: 76717
2009-07-22 03:08:17 +00:00
Mike Stump
01c2d0a17c
Not setting all the fields is confusing...
...
llvm-svn: 72506
2009-05-28 00:16:27 +00:00
Mike Stump
93700fc988
Add support for volatile RValues.
...
llvm-svn: 72341
2009-05-23 20:21:36 +00:00
Mike Stump
18bb9284ff
Reflow some comments.
...
llvm-svn: 71937
2009-05-16 07:57:57 +00:00
Fariborz Jahanian
32ff7aeefa
Provide basic support for generation of objc2's
...
objc_assign_global API when assigning to global
objective-c object pointer.
llvm-svn: 70939
2009-05-04 23:27:20 +00:00
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