[SIL] Let alloc_stack return a single value.

Having a separate address and container value returned from alloc_stack is not really needed in SIL.
Even if they differ we have both addresses available during IRGen, because a dealloc_stack is always dominated by the corresponding alloc_stack in the same function.

Although this commit quite large, most changes are trivial. The largest non-trivial change is in IRGenSIL.

This commit is a NFC regarding the generated code. Even the generated SIL is the same (except removed #0, #1 and @local_storage).
This commit is contained in:
Erik Eckstein
2016-01-05 11:53:59 -08:00
parent 5f804715c2
commit 6ff2f09796
188 changed files with 2853 additions and 2891 deletions

View File

@@ -52,7 +52,7 @@ const uint16_t VERSION_MAJOR = 0;
/// in source control, you should also update the comment to briefly
/// describe what change you made. The content of this comment isn't important;
/// it just ensures a conflict if two people change the module format.
const uint16_t VERSION_MINOR = 228; // no substitutions for value witnesses
const uint16_t VERSION_MINOR = 229; // alloc_stack returns a single value
using DeclID = Fixnum<31>;
using DeclIDField = BCFixed<31>;