Commit 8e3fb44
committed
Rewrite LoadBorrowImmutabilityChecker using AccessPath.
The verification will now be as complete as it can be within the
capability of our SIL utilities. It is much more aggressive with
respect to boxes, references, and pointers. It's more efficient in
that it only considers "overlapping" uses.
It is also now wholly consistent with the utilities that it uses, so
can be reenabled.
We could probably go even further and remove the switch statement
entirely, relying on AccessPath to recognize any operations that
propagate addresses, boxes, or pointers. But I didn't want to
potentially weaken enforcement without more careful consideration.1 parent 4f05d8a commit 8e3fb44
File tree
4 files changed
+296
-445
lines changed- lib/SIL/Verifier
- test/SILOptimizer
4 files changed
+296
-445
lines changed
0 commit comments