Eli Friedman
33f20a14e0
Add NewReferenceExpr, for allocating class objects.
...
Swift SVN r1867
2012-05-16 01:36:03 +00:00
John McCall
be2bfa9eb7
Don't emit the begin/end pointers in an array destructor if
...
the element type is trivial, and test that we correctly emit
loops when the element type is not trivial.
Swift SVN r1653
2012-04-26 08:07:35 +00:00
John McCall
ee61610563
Implement IR generation for NewArrayExpr.
...
Swift SVN r1651
2012-04-26 07:34:04 +00:00
John McCall
b3b71178a5
Fix a pair of bugs with partial updates of logical l-values:
...
first, we weren't registering the cleanup for the temporary
if it needed materialization, and second, we were potentially
double-consuming cleanups associated with the l-value, e.g.
subscript indices.
Swift SVN r1631
2012-04-25 09:39:22 +00:00
John McCall
bc32a8aedb
Fix a bug with returning value that need to be refcounted:
...
we want to do a take-load out of the return address slot
instead of a normal load, or else we'll end up +1'ing an
already +1 value.
Swift SVN r1564
2012-04-23 17:47:07 +00:00
John McCall
50899952e3
Fix a consistency error: just because a value doesn't
...
require reference counting doesn't mean we shouldn't
add it to the explosion when "retaining" it.
Swift SVN r1500
2012-04-19 21:05:26 +00:00
John McCall
0146f895a0
Merge GenRefCount.cpp into GenHeap.cpp.
...
Swift SVN r1387
2012-04-11 03:44:47 +00:00
John McCall
5ad3782b01
Rework the IR-generation of initialization and teach the
...
compiler to enter properly-scoped cleanups to destroy local
variables.
Swift SVN r1385
2012-04-11 03:00:08 +00:00
John McCall
f3e27d90ff
Change IR-generation so that it emits metadata objects for the
...
heap allocations it makes, and switch swift_alloc over to pass
that pointer in as well as the alignment. Also, compute
whether a type is POD during its generation and cache that in
the object, and introduce a method on TypeInfo to destroy an
object in memory.
Swift SVN r1356
2012-04-10 06:28:22 +00:00