Commit Graph

457 Commits

Author SHA1 Message Date
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