Commits

John McCall committed a0ee7b27724
Don't look through 'try!' in getSemanticsProvidingExpr(). To support this, make 'try' and 'try!' no longer IdentityExprs and give them a common base class to simplify the sorts of analyses and transformations that do want to treat them as identity-like. Note that getSPE() still looks through normal 'try', since the overwhelming proportion of clients will consider it semantically equivalent to the undecorated expression. Change getValueProvidingExpr() to look through try!, since it's allowed to return something with slightly different semantics, and use it in the unused-result diagnostic. Fixes a large number of bugs, mostly uncaught, with SILGen peepholes that use getSPE() and therefore were accidentally looking through try!. <rdar://21515402> Swift SVN r30224