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 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.
◆ 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 145 of file MemoryBuiltins.h.
◆ AA
AAResults* llvm::ObjectSizeOpts::AA = nullptr
◆ EvalMode
Mode llvm::ObjectSizeOpts::EvalMode = Mode::ExactSizeFromOffset
◆ 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