llvm::LibCallLocationInfo Struct Reference

#include <LibCallSemantics.h>

List of all members.

Public Types

enum  LocResult { Yes, No, Unknown }

Public Attributes

LocResult(* isLocation )(CallSite CS, const Value *Ptr, unsigned Size)


Detailed Description

LibCallLocationInfo - This struct describes a set of memory locations that are accessed by libcalls. Identification of a location is doing with a simple callback function.

For example, the LibCallInfo may be set up to model the behavior of standard libm functions. The location that they may be interested in is an abstract location that represents errno for the current target. In this case, a location for errno is anything such that the predicate returns true. On Mac OS/X, this predicate would return true if the pointer is the result of a call to "__error()".

Locations can also be defined in a constant-sensitive way. For example, it is possible to define a location that returns true iff it is passed into the call as a specific argument. This is useful for modeling things like "printf", which can store to memory, but only through pointers passed with a 'n' constraint.


Member Enumeration Documentation

isLocation - Return a LocResult if the specified pointer refers to this location for the specified call site. This returns "Yes" if we can tell that the pointer *does definitely* refer to the location, "No" if we can tell that the location *definitely does not* refer to the location, and returns "Unknown" if we cannot tell for certain.


The documentation for this struct was generated from the following file:

Generated on Fri Mar 19 01:41:24 2010 by  doxygen 1.5.8