This patch adds support for the inaccessiblememonly and inaccessiblemem_or_argmemonly attributes to the BasicAA.
I am assuming that any function which is not marked as not referencing memory may be accessing "inaccessible" memory. There doesn't seem to be a way for a function to indicate otherwise, so we must make this conservative assumption.
I am also assuming that functions marked as "readonly" may read but will not write to inaccessible memory (and similarly with "writeonly"). This feels somewhat awkward to me, since the readonly attribute is fairly specific and probably does rule out inaccessible memory access but again, lacking a way to indicate that inaccessible memory is not referenced, I think this is the assumption we need to make.
It is my understanding that the inaccessible memory attributes were originally added to aid with JIT optimization, but I intend to use them very soon with the constrained floating point intrinsics to model access to the FP environment.