LLVM: llvm::ObjectSizeOpts Struct Reference (original) (raw)
Various options to control the behavior of getObjectSize. More...
#include "[llvm/Analysis/MemoryBuiltins.h](MemoryBuiltins%5F8h%5Fsource.html)"
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 138 of file MemoryBuiltins.h.
◆ Mode
Controls how we handle conditional statements with unknown conditions.
Enumerator | |
---|---|
ExactSizeFromOffset | All branches must be known and have the same size, starting from the offset, to be merged. |
ExactUnderlyingSizeAndOffset | All branches must be known and have the same underlying size and offset to be merged. |
Min | Evaluate all branches of an unknown condition. If all evaluations succeed, pick the minimum size. |
Max | Same as Min, except we pick the maximum size of all of the branches. |
Definition at line 140 of file MemoryBuiltins.h.
◆ AA
AAResults* llvm::ObjectSizeOpts::AA = nullptr
◆ EvalMode
◆ NullIsUnknownSize
bool llvm::ObjectSizeOpts::NullIsUnknownSize = false
◆ RoundToAlign
bool llvm::ObjectSizeOpts::RoundToAlign = false
The documentation for this struct was generated from the following file:
- include/llvm/Analysis/MemoryBuiltins.h