| 
    LLVM 22.0.0git
    
   | 
 
Various options to control the behavior of getObjectSize. More...
#include "llvm/Analysis/MemoryBuiltins.h"
Public Types | |
| enum class | Mode : uint8_t { ExactSizeFromOffset , ExactUnderlyingSizeAndOffset , Min , Max } | 
| Controls how we handle conditional statements with unknown conditions.  More... | |
Public Attributes | |
| Mode | EvalMode = Mode::ExactSizeFromOffset | 
| How we want to evaluate this object's size.   | |
| bool | RoundToAlign = false | 
| Whether to round the result up to the alignment of allocas, byval arguments, and global variables.   | |
| bool | NullIsUnknownSize = false | 
| If this is true, null pointers in address space 0 will be treated as though they can't be evaluated.   | |
| AAResults * | AA = nullptr | 
| If set, used for more accurate evaluation.   | |
Various options to control the behavior of getObjectSize.
Definition at line 143 of file MemoryBuiltins.h.
      
  | 
  strong | 
Controls how we handle conditional statements with unknown conditions.
Definition at line 145 of file MemoryBuiltins.h.
| AAResults* llvm::ObjectSizeOpts::AA = nullptr | 
If set, used for more accurate evaluation.
Definition at line 169 of file MemoryBuiltins.h.
Referenced by llvm::lowerObjectSizeCall().
| Mode llvm::ObjectSizeOpts::EvalMode = Mode::ExactSizeFromOffset | 
How we want to evaluate this object's size.
Definition at line 160 of file MemoryBuiltins.h.
Referenced by addBoundsChecking(), computePointerICmp(), llvm::getBaseObjectSize(), and llvm::lowerObjectSizeCall().
| bool llvm::ObjectSizeOpts::NullIsUnknownSize = false | 
If this is true, null pointers in address space 0 will be treated as though they can't be evaluated.
Otherwise, null is always considered to point to a 0 byte region of memory.
Definition at line 167 of file MemoryBuiltins.h.
Referenced by computePointerICmp(), llvm::getBaseObjectSize(), getConstraintFromMemoryAccess(), getObjectSize(), getPointerSize(), isDereferenceableAndAlignedPointer(), and llvm::lowerObjectSizeCall().
| bool llvm::ObjectSizeOpts::RoundToAlign = false | 
Whether to round the result up to the alignment of allocas, byval arguments, and global variables.
Definition at line 163 of file MemoryBuiltins.h.
Referenced by addBoundsChecking(), llvm::getBaseObjectSize(), getConstraintFromMemoryAccess(), getObjectSize(), and isDereferenceableAndAlignedPointer().