This is part of the series started by D68484.
The ptr_provenance parameter tracks dependencies on noalias intrinsics without
blocking optimizations on the pointer value.
Note: the space for the optional ptr_provenance argument will always be reserved for each LoadInst/StoreInst.
Note: this is a stable point and tests should run fine with the patches applied up to this point.
clang-format: please reformat the code