Add comments.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118408 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Dan Gohman 2010-11-08 15:34:42 +00:00
parent 4aef398653
commit 6c25c920e6

View File

@ -86,10 +86,14 @@ public:
struct Location {
/// Ptr - The address of the start of the location.
const Value *Ptr;
/// Size - The size of the location.
/// Size - The maximum size of the location, or UnknownSize if the size is
/// not known. Note that an unknown size does not mean the pointer aliases
/// the entire virtual address space, because there are restrictions on
/// stepping out of one object and into another.
/// See http://llvm.org/docs/LangRef.html#pointeraliasing
uint64_t Size;
/// TBAATag - The metadata node which describes the TBAA type of
/// the location, or null if there is no (unique) tag.
/// the location, or null if there is no known unique tag.
const MDNode *TBAATag;
explicit Location(const Value *P = 0,
@ -122,9 +126,9 @@ public:
enum AliasResult { NoAlias = 0, MayAlias = 1, MustAlias = 2 };
/// alias - The main low level interface to the alias analysis implementation.
/// Returns a Result indicating whether the two pointers are aliased to each
/// other. This is the interface that must be implemented by specific alias
/// analysis implementations.
/// Returns an AliasResult indicating whether the two pointers are aliased to
/// each other. This is the interface that must be implemented by specific
/// alias analysis implementations.
virtual AliasResult alias(const Location &LocA, const Location &LocB);
/// alias - A convenience wrapper.