#include <LibCallSemantics.h>
Classes | |
| struct | LocationMRInfo |
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 |
| anonymous enum |
DetailsType - Indicate the sense of the LocationDetails array. This controls how the LocationDetails array is interpreted.
| 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.
| AliasAnalysis::ModRefResult llvm::LibCallFunctionInfo::UniversalBehavior |
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.
1.5.8