enum FunctionModRefBehavior
Description
Summary of how a function affects memory in the program. Loads from constant globals are not considered memory accesses for this interface. Also, functions may freely modify stack space local to their invocation without having to report it through these interfaces.
Declared at: llvm/include/llvm/Analysis/AliasAnalysis.h:216
Enumerators
Name | Value | Comment |
---|---|---|
FMRB_DoesNotAccessMemory | 4 | This function does not perform any non-local loads or stores to memory.This property corresponds to the GCC 'const' attribute. This property corresponds to the LLVM IR 'readnone' attribute. This property corresponds to the IntrNoMem LLVM intrinsic flag. |
FMRB_OnlyReadsArgumentPointees | 13 | The only memory references in this function (if it has any) are non-volatile loads from objects pointed to by its pointer-typed arguments, with arbitrary offsets.This property corresponds to the IntrReadArgMem LLVM intrinsic flag. |
FMRB_OnlyAccessesArgumentPointees | 15 | The only memory references in this function (if it has any) are non-volatile loads and stores from objects pointed to by its pointer-typed arguments, with arbitrary offsets.This property corresponds to the IntrArgMemOnly LLVM intrinsic flag. |
FMRB_OnlyAccessesInaccessibleMem | 23 | The only memory references in this function (if it has any) are references of memory that is otherwise inaccessible via LLVM IR.This property corresponds to the LLVM IR inaccessiblememonly attribute. |
FMRB_OnlyAccessesInaccessibleOrArgMem | 31 | The function may perform non-volatile loads and stores of objects pointed to by its pointer-typed arguments, with arbitrary offsets, and it may also perform loads and stores of memory that is otherwise inaccessible via LLVM IR.This property corresponds to the LLVM IR inaccessiblemem_or_argmemonly attribute. |
FMRB_OnlyReadsMemory | 61 | This function does not perform any non-local stores or volatile loads, but may read from any memory location.This property corresponds to the GCC 'pure' attribute. This property corresponds to the LLVM IR 'readonly' attribute. This property corresponds to the IntrReadMem LLVM intrinsic flag. |
FMRB_DoesNotReadMemory | 62 | This function does not perform any non-local stores or volatile loads, but may read from any memory location.This property corresponds to the GCC 'pure' attribute. This property corresponds to the LLVM IR 'readonly' attribute. This property corresponds to the IntrReadMem LLVM intrinsic flag. |
FMRB_UnknownModRefBehavior | 63 | This indicates that the function could not be classified into one of the behaviors above. |