This is part of the series started by D68484.
Look at {p.addr, p.objId, p.scope} for deducing noalias, making use
of recursive calls to AA to proof that p.addr is not aliasing.
This now works with the legacy and new pass manager.
Note: this is a stable point and tests should run fine with the patches applied up to this point.
Note: D68506 has been incorporated.
clang-tidy: warning: invalid case style for parameter 'ast' [readability-identifier-naming]
not useful