Joe Groff
abc1724204
SILBuilder: use SILLocation in createR/R methods
...
Update createRetain, createRelease, etc. to use SILLocation instead of Expr * arguments to be in line with Chris's update in r3249.
Swift SVN r3263
2012-11-27 22:20:42 +00:00
Chris Lattner
6d8d9daee8
rename DestroyInst -> DestroyAddr to conform to SIL.rst. The non-addr form of destroy will be added later.
...
Swift SVN r3257
2012-11-27 18:35:57 +00:00
Chris Lattner
9750e36943
rename Copy -> CopyAddr to follow SIL.rst
...
Swift SVN r3256
2012-11-27 18:34:40 +00:00
Chris Lattner
2c009210a4
rework a bunch of instructions to have a single constructor (and builder) form
...
that takes a generic SILLocation... instead of having duplicated constructors.
Swift SVN r3251
2012-11-27 01:28:23 +00:00
Joe Groff
a5157cac07
SILGen: generate alloc_box/release for PatternDecl
...
Update codegen for local variables and arguments to use the new alloc_box instruction to allocate retainable storage for the variables and to release the boxes when the variables go out of scope. Update tests to check for alloc_box and release sequences instead of alloc_var.
Swift SVN r3242
2012-11-26 17:48:37 +00:00
Chris Lattner
a9abb47cf0
rip out the 'is initialization' bit from StoreInst per SIL.rst. The AssignStmt
...
lowering code needs to emit the retain/release dance, but I'll leave that to
Joe :)
Swift SVN r3234
2012-11-17 01:56:57 +00:00
Chris Lattner
2ddc716bba
rename TypeConversion to Convert to follow SIL.rst
...
Swift SVN r3231
2012-11-17 01:38:41 +00:00
Joe Groff
6d58ee281d
SIL: rip out redundant CharacterLiteralInst
...
Swift SVN r3230
2012-11-17 01:32:16 +00:00
Chris Lattner
8c0513f9cc
rename index_lvalue instruction to index_addr to follow SIL.rst.
...
Swift SVN r3226
2012-11-17 01:22:19 +00:00
Chris Lattner
8ad5ba2428
introduce an alloc_box instruction. Also, normalize alloc_array to follow
...
the syntax in SIL.rst.
Swift SVN r3224
2012-11-17 01:09:42 +00:00
Chris Lattner
fadda48e26
Switch the alloc_array instruction to return two results instead of a tuple.
...
Where before we had:
%8 = alloc_array element type=Int, %7
%9 = tupleelement %8, 1
%10 = tupleelement %8, 0
%11 = type_conversion %9 -> Builtin.RawPointer
..
%17 = apply %16(%11, %10, %7)
we now have:
%8 = alloc_array element type=Int, %7
%9 = type_conversion %8#1 -> Builtin.RawPointer
..
%15 = apply %14(%9, %8#0, %7)
Swift SVN r3220
2012-11-17 00:12:18 +00:00
Chris Lattner
d87f65f1a3
Land a pretty big conceptual/API change to pave the way for multiple
...
return values. Now the base class of the value hierarchy is "ValueBase"
instead of "Value", and "Value" is now a PointerIntPair indicating the
ValueBase (e.g. an instruction) being referenced along with what result
value is being referenced.
By default, any place you used "Value*" before, you should now use "Value".
Swift SVN r3207
2012-11-16 22:21:47 +00:00
Joe Groff
73f87996c3
SIL: add instruction types for ARC and lvalues
...
Add RetainInst, ReleaseInst, DeallocInst for managing object lifetimes, and CopyInst and DestroyInst for indirectly managing resilient types and other non-materializable types.
Swift SVN r3159
2012-11-12 18:00:16 +00:00
Chris Lattner
6cadce0ab1
rename the CFG type to "Function", since it is the SIL Function concept,
...
which is separable from the SIL library.
Swift SVN r3134
2012-11-07 01:37:49 +00:00
Chris Lattner
57eea530a9
more random changes CFG -> SIL
...
Swift SVN r3133
2012-11-07 01:31:27 +00:00
Chris Lattner
eab0962c5f
rename many references to CFG to SIL.
...
Swift SVN r3130
2012-11-07 01:06:19 +00:00
Chris Lattner
93ae03891d
rename the SIL/CFG*.h headers to SIL/SIL*.h
...
Swift SVN r3128
2012-11-07 00:56:21 +00:00