LLVM 20.0.0git
|
Compute the layout of an unsafe stack frame. More...
#include "CodeGen/SafeStackLayout.h"
Public Member Functions | |
StackLayout (Align StackAlignment) | |
void | addObject (const Value *V, unsigned Size, Align Alignment, const StackLifetime::LiveRange &Range) |
Add an object to the stack frame. | |
void | computeLayout () |
Run the layout computation for all previously added objects. | |
unsigned | getObjectOffset (const Value *V) |
Returns the offset to the object start in the stack frame. | |
Align | getObjectAlignment (const Value *V) |
Returns the alignment of the object. | |
unsigned | getFrameSize () |
Returns the size of the entire frame. | |
Align | getFrameAlignment () |
Returns the alignment of the frame. | |
void | print (raw_ostream &OS) |
Compute the layout of an unsafe stack frame.
Definition at line 25 of file SafeStackLayout.h.
|
inline |
Definition at line 56 of file SafeStackLayout.h.
void StackLayout::addObject | ( | const Value * | V, |
unsigned | Size, | ||
Align | Alignment, | ||
const StackLifetime::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 39 of file SafeStackLayout.cpp.
References llvm::SmallVectorTemplateBase< T, bool >::push_back(), Range, and Size.
void StackLayout::computeLayout | ( | ) |
Run the layout computation for all previously added objects.
Definition at line 135 of file SafeStackLayout.cpp.
References llvm::dbgs(), llvm::drop_begin(), LLVM_DEBUG, print(), llvm::SmallVectorBase< Size_T >::size(), and llvm::stable_sort().
|
inline |
Returns the alignment of the frame.
Definition at line 76 of file SafeStackLayout.h.
|
inline |
Returns the size of the entire frame.
Definition at line 73 of file SafeStackLayout.h.
References llvm::SmallVectorTemplateCommon< T, typename >::back(), and llvm::SmallVectorBase< Size_T >::empty().
Returns the alignment of the object.
Definition at line 70 of file SafeStackLayout.h.
Returns the offset to the object start in the stack frame.
Definition at line 67 of file SafeStackLayout.h.
LLVM_DUMP_METHOD void StackLayout::print | ( | raw_ostream & | OS | ) |
Definition at line 27 of file SafeStackLayout.cpp.
References IT, OS, and llvm::SmallVectorBase< Size_T >::size().
Referenced by computeLayout().