LLVM
8.0.1
|
Various options to control the behavior of getObjectSize. More...
#include "llvm/Analysis/MemoryBuiltins.h"
Public Types | |
enum | Mode : uint8_t { Mode::Exact, Mode::Min, Mode::Max } |
Controls how we handle conditional statements with unknown conditions. More... | |
Public Attributes | |
Mode | EvalMode = Mode::Exact |
How we want to evaluate this object's size. More... | |
bool | RoundToAlign = false |
Whether to round the result up to the alignment of allocas, byval arguments, and global variables. More... | |
bool | NullIsUnknownSize = false |
If this is true, null pointers in address space 0 will be treated as though they can't be evaluated. More... | |
Various options to control the behavior of getObjectSize.
Definition at line 150 of file MemoryBuiltins.h.
|
strong |
Controls how we handle conditional statements with unknown conditions.
Definition at line 152 of file MemoryBuiltins.h.
Mode llvm::ObjectSizeOpts::EvalMode = Mode::Exact |
How we want to evaluate this object's size.
Definition at line 163 of file MemoryBuiltins.h.
Referenced by llvm::lowerObjectSizeCall(), and llvm::ObjectSizeOffsetVisitor::visitSelectInst().
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 170 of file MemoryBuiltins.h.
Referenced by computePointerICmp(), getObjectSize(), getPointerSize(), llvm::lowerObjectSizeCall(), and llvm::ObjectSizeOffsetVisitor::visitConstantPointerNull().
Whether to round the result up to the alignment of allocas, byval arguments, and global variables.
Definition at line 166 of file MemoryBuiltins.h.
Referenced by llvm::ObjectSizeOffsetEvaluator::compute(), getObjectSize(), and instrumentMaskedLoadOrStore().