Commits
John McCall committed f20225a34bb
Access properties and subscripts in the most efficient semantically valid way. Previously, this decision algorithm was repeated in a bunch of different places, and it was usually expressed in terms of whether the decl declared any accessor functions. There are, however, multiple reasons why a decl might provide accessor functions that don't require it to be accessed through them; for example, we generate trivial accessors for a stored property that satisfies a protocol requirement, but non-protocol uses of the property do not need to use them. As part of this, and in preparation for allowing get/mutableAddressor combinations, I've gone ahead and made l-value emission use-sensitive. This happens to also optimize loads from observing properties backed by storage. rdar://18465527 Swift SVN r22298