This moves the largest interwoven collection of APIs that traffic in
CallSites. While a handful of these could have been migrated with
a minorly more shallow migration by converting from a CallSite to
a CallBase, it hardly seemed worth it. Most of the APIs needed to
migrate together because of the complex interplay of AA APIs and the
fact that converting from a CallBase to a CallSite isn't free in its
current implementation.
Out of tree users of these APIs can fairly reliably migrate with some
combination of .getInstruction() on the CallSite instance and
casting the resulting pointer. The most generic form will look like CS
-> cast_or_null<CallBase>(CS.getInstruction()) but in most cases there
is a more elegant migration. Hopefully, this migrates enough APIs for
users to fully move from CallSite to the base class. All of the
in-tree users were easily migrated in that fashion.
Note to reviewers:
Let me know if there is anything else folks would like to see in the commit log
to help folks pick up this change out-of-tree?
Hmm, I realize that the QueryCall is used for an index via pointer, but, could we not take this by reference? This shouldn't be null ever, so the reference would be nicer.