|
LLVM
4.0.0
|
Compute the layout of an unsafe stack frame. More...
#include <SafeStackLayout.h>
Public Member Functions | |
| StackLayout (unsigned StackAlignment) | |
| void | addObject (const Value *V, unsigned Size, unsigned Alignment, const StackColoring::LiveRange &Range) |
| Add an object to the stack frame. More... | |
| void | computeLayout () |
| Run the layout computation for all previously added objects. More... | |
| unsigned | getObjectOffset (const Value *V) |
| Returns the offset to the object start in the stack frame. More... | |
| unsigned | getFrameSize () |
| Returns the size of the entire frame. More... | |
| unsigned | getFrameAlignment () |
| Returns the alignment of the frame. More... | |
| void | print (raw_ostream &OS) |
Compute the layout of an unsafe stack frame.
Definition at line 19 of file SafeStackLayout.h.
|
inline |
Definition at line 45 of file SafeStackLayout.h.
| void StackLayout::addObject | ( | const Value * | V, |
| unsigned | Size, | ||
| unsigned | Alignment, | ||
| const StackColoring::LiveRange & | Range | ||
| ) |
Add an object to the stack frame.
Value pointer is opaque and used as a handle to retrieve the object's offset in the frame later.
Definition at line 36 of file SafeStackLayout.cpp.
References llvm::SmallVectorTemplateBase< T, isPodLike >::push_back().
| void StackLayout::computeLayout | ( | ) |
Run the layout computation for all previously added objects.
Definition at line 130 of file SafeStackLayout.cpp.
References llvm::SmallVectorTemplateCommon< T, typename >::begin(), llvm::dbgs(), DEBUG, llvm::SmallVectorTemplateCommon< T, typename >::end(), print(), and llvm::SmallVectorTemplateCommon< T, typename >::size().
|
inline |
Returns the alignment of the frame.
Definition at line 61 of file SafeStackLayout.h.
|
inline |
Returns the size of the entire frame.
Definition at line 58 of file SafeStackLayout.h.
References llvm::SmallVectorTemplateCommon< T, typename >::back(), and llvm::SmallVectorBase::empty().
Returns the offset to the object start in the stack frame.
Definition at line 55 of file SafeStackLayout.h.
| LLVM_DUMP_METHOD void StackLayout::print | ( | raw_ostream & | OS | ) |
Definition at line 24 of file SafeStackLayout.cpp.
References i, IT(), and llvm::SmallVectorTemplateCommon< T, typename >::size().
Referenced by computeLayout().
1.8.6