Commits

Chris Lattner committed 0e271de509b
introduce a new kind of VarLoc to SILGen: "constant". This is used for VarDecls that are immutable once defined. This will eventually be used to model 'val' in SILGen, but for now we can use it to optimize some 'self' situations. At present, we use it for class 'self' in destructors and for init methods of root classes. The init methods of derived classes need to be able to mutate self when calling super.init so they can't use this presently. I haven't gotten around to switching general methods to use it yet. This introduces two new regressions that don't appear in the testsuite: we lose debug info for "self" in this case, and we cannot close over self. Swift SVN r10962