Commit Graph

4 Commits

Author SHA1 Message Date
Joe Groff
0b47f5b650 update tests 2019-04-17 14:46:21 -07:00
Saleem Abdulrasool
d7f9e04dbc test: address portability concerns for Windows
Update the IRGen tests for Windows IRGen.  This is an improvement over
what we have currently, but is not sufficient to get all the IRGen tests
passing yet.
2019-01-15 11:03:37 -08:00
Michael Gottesman
0af0d5fddc [ownership] Replace ValueOwnershipKind::Trivial with ValueOwnershipKind::Any.
In a previous commit, I banned in the verifier any SILValue from producing
ValueOwnershipKind::Any in preparation for this.

This change arises out of discussions in between John, Andy, and I around
ValueOwnershipKind::Trivial. The specific realization was that this ownership
kind was an unnecessary conflation of the a type system idea (triviality) with
an ownership idea (@any, an ownership kind that is compatible with any other
ownership kind at value merge points and can only create). This caused the
ownership model to have to contort to handle the non-payloaded or trivial cases
of non-trivial enums. This is unnecessary if we just eliminate the any case and
in the verifier separately verify that trivial => @any (notice that we do not
verify that @any => trivial).

NOTE: This is technically an NFC intended change since I am just replacing
Trivial with Any. That is why if you look at the tests you will see that I
actually did not need to update anything except removing some @trivial ownership
since @any ownership is represented without writing @any in the parsed sil.

rdar://46294760
2018-12-04 23:01:43 -08:00
Slava Pestov
644d1d61fb IRGen: When emitting keypaths ignore external reference within the same module
This can happen when emitting an inlinable function in a resilient
module, because inlinable functions use the most conservative
access pattern.

This allows some earlier tests for keypaths inside inlinable
functions to pass IR emission, too.

An existing test used an external reference within the same module
to test external references; move this part to a separate test that
builds a separate module to correctly test this functionality.
2018-11-16 23:18:37 -05:00