Commit Graph

9 Commits

Author SHA1 Message Date
Michael Gottesman
bb9197c7ff [semantic-arc] Move the Ownership Model Eliminator and management of SILFunction::hasQualifiedOwnership in front of SILOptions::EnableSILOwnership.
This is a NFC change, since verification still will be behind the flag. But this
will allow me to move copy_value, destroy_value in front of the
EnableSILOwnership flag and verify via SILGen that we are always using those
instructions.

rdar://28851920
2016-10-23 18:30:43 -07:00
Michael Gottesman
813facfcff [gardening] Refactor out setting Insertion Point and Debug Scope from each visitor to beforeVisit in the OwnershipModelEliminator. 2016-10-22 22:26:07 -07:00
Michael Gottesman
271e3909df [semantic-arc] Implement OwnershipModelEliminator support for copy_value, destroy_value.
rdar://28851920
2016-10-22 22:26:06 -07:00
Michael Gottesman
b0539a9a15 [semantic-arc] Only run the ownership model eliminator on functions with qualified ownership and make it after running change such functions to have unqualified ownership.
rdar://28685236
2016-10-21 17:42:39 -07:00
Michael Gottesman
85269c767a [semantic-arc] Implement eliminating end_borrow and load_borrow from the OwnershipModelEliminator.
rdar://28685236
2016-10-20 12:30:18 -07:00
Michael Gottesman
abaed64e20 [semantic-arc] Refactor the ownership model eliminator to use a visitor type.
rdar://28685236
2016-10-20 12:24:15 -07:00
practicalswift
265a4605a0 [gardening] Fix typos. 2016-10-16 12:53:49 +02:00
practicalswift
5d7bf22381 [gardening] Improve header consistency 2016-10-16 12:41:09 +02:00
Michael Gottesman
e48e7b7fca [semantic-arc] Add a new pass called the OwnershipModelEliminator that eliminates SILOwnership from the IR.
It currently just breaks up qualified loads/stores into their unqualified
constituant parts.

rdar://28685236
2016-10-15 21:35:34 -07:00