LLVM API Documentation
#include <LibCallSemantics.h>
Public Types | |
| enum | { DoesOnly, DoesNot } |
Public Attributes | |
| const char * | Name |
| Name - This is the name of the libcall this describes. | |
| AliasAnalysis::ModRefResult | UniversalBehavior |
| TODO: Constant folding function: Constant* vector -> Constant*. | |
| enum llvm::LibCallFunctionInfo:: { ... } | DetailsType |
| const LocationMRInfo * | LocationDetails |
Classes | |
| struct | LocationMRInfo |
Definition at line 63 of file LibCallSemantics.h.
| anonymous enum |
DetailsType - Indicate the sense of the LocationDetails array. This controls how the LocationDetails array is interpreted.
Definition at line 86 of file LibCallSemantics.h.
| const char* llvm::LibCallFunctionInfo::Name |
Name - This is the name of the libcall this describes.
Definition at line 65 of file LibCallSemantics.h.
TODO: Constant folding function: Constant* vector -> Constant*.
UniversalBehavior - This captures the absolute mod/ref behavior without any specific context knowledge. For example, if the function is known to be readonly, this would be set to 'ref'. If known to be readnone, this is set to NoModRef.
Definition at line 73 of file LibCallSemantics.h.
| enum { ... } llvm::LibCallFunctionInfo::DetailsType |
DetailsType - Indicate the sense of the LocationDetails array. This controls how the LocationDetails array is interpreted.
LocationDetails - This is a pointer to an array of LocationMRInfo structs which indicates the behavior of the libcall w.r.t. specific locations. For example, if this libcall is known to only modify 'errno', it would have a LocationDetails array with the errno ID and 'mod' in it. See the DetailsType field for how this is interpreted.
In the "DoesOnly" case, this information is 'may' information for: there is no guarantee that the specified side effect actually does happen, just that it could. In the "DoesNot" case, this is 'must not' info.
If this pointer is null, no details are known.
Definition at line 118 of file LibCallSemantics.h.