[Exclusivity] Sink may release release instructions out of access scopes

General case:
begin_access A
...
strong_release / release_value / destroy
end_access

The release instruction can be sunk below the end_access instruction,
This extends the lifetime of the released value, but, might allow us to
Mark the access scope as no nested conflict.
This commit is contained in:
Joe Shajrawi
2018-10-31 12:21:57 -07:00
parent 22d411c4ae
commit 32da4f9f45
5 changed files with 349 additions and 0 deletions

View File

@@ -58,6 +58,8 @@ PASS(AccessEnforcementDom, "access-enforcement-dom",
"Remove dominated access checks with no nested conflict")
PASS(AccessEnforcementOpts, "access-enforcement-opts",
"Access Enforcement Optimization")
PASS(AccessEnforcementReleaseSinking, "access-enforcement-release",
"Access Enforcement Release Sinking")
PASS(AccessEnforcementSelection, "access-enforcement-selection",
"Access Enforcement Selection")
PASS(AccessEnforcementWMO, "access-enforcement-wmo",