LLVM  4.0.0
Classes | Public Member Functions | List of all members
llvm::safestack::StackLayout Class Reference

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)
 

Detailed Description

Compute the layout of an unsafe stack frame.

Definition at line 19 of file SafeStackLayout.h.

Constructor & Destructor Documentation

llvm::safestack::StackLayout::StackLayout ( unsigned  StackAlignment)
inline

Definition at line 45 of file SafeStackLayout.h.

Member Function Documentation

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 ( )
unsigned llvm::safestack::StackLayout::getFrameAlignment ( )
inline

Returns the alignment of the frame.

Definition at line 61 of file SafeStackLayout.h.

unsigned llvm::safestack::StackLayout::getFrameSize ( )
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().

unsigned llvm::safestack::StackLayout::getObjectOffset ( const Value V)
inline

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().


The documentation for this class was generated from the following files: