This change generalizes the handling for a potentially capturing comparison of an unescaped alloca to handle noalias calls as well. In the process, it also generalizes the existing alloca handling to reuse the generic capture tracking logic.
Doing this requires reverting 43d7e1c at the same time, and thus fixing https://github.com/llvm/llvm-project/issues/54002. If we add nocapture argument support without reverting that change, we take a currently mostly silent miscompile and risk increasing it's frequency.
clang-format: please reformat the code