analyzer
analyzer copied to clipboard
Handling escaped variables in region analysis
This is meant to address two issues we became aware of about escaped variables and the region analysis.
- [x] Simply handling pthread arguments and treating escaped variables as globals, so we handle regtest 09-34 without resorting to the empty region map override.
- [ ] Dealing with escaped owners when a region member escaped. Would be nice if one could trigger an escape event for this, although it would be extremely imprecise because of the non-directional heap abstraction. The alternative would be to re-implement a region-specific escape analysis.
- [ ] (Optional) Understand what region owners actually mean: probably one should use
AddrOf(i)as owner in 9-34 when its not a pointer.
Please add a test case for the cases that are fixed with this PR. Then we can consider merging this PR. The following issues may be related to the behavior addressed here: #107 #1070 #1298 #1300. Please check whether any of these is affected.