class StackLayout

Declaration

class StackLayout { /* full declaration omitted */ };

Description

Compute the layout of an unsafe stack frame.

Declared at: llvm/lib/CodeGen/SafeStackLayout.h:24

Method Overview

Methods

StackLayout(unsigned int StackAlignment)

Declared at: llvm/lib/CodeGen/SafeStackLayout.h:54

Parameters

unsigned int StackAlignment

void addObject(
    const llvm::Value* V,
    unsigned int Size,
    unsigned int Alignment,
    const StackColoring::LiveRange& Range)

Description

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.

Declared at: llvm/lib/CodeGen/SafeStackLayout.h:58

Parameters

const llvm::Value* V
unsigned int Size
unsigned int Alignment
const StackColoring::LiveRange& Range

void computeLayout()

Description

Run the layout computation for all previously added objects.

Declared at: llvm/lib/CodeGen/SafeStackLayout.h:62

unsigned int getFrameAlignment()

Description

Returns the alignment of the frame.

Declared at: llvm/lib/CodeGen/SafeStackLayout.h:74

unsigned int getFrameSize()

Description

Returns the size of the entire frame.

Declared at: llvm/lib/CodeGen/SafeStackLayout.h:71

unsigned int getObjectAlignment(
    const llvm::Value* V)

Description

Returns the alignment of the object

Declared at: llvm/lib/CodeGen/SafeStackLayout.h:68

Parameters

const llvm::Value* V

unsigned int getObjectOffset(const llvm::Value* V)

Description

Returns the offset to the object start in the stack frame.

Declared at: llvm/lib/CodeGen/SafeStackLayout.h:65

Parameters

const llvm::Value* V

void print(llvm::raw_ostream& OS)

Declared at: llvm/lib/CodeGen/SafeStackLayout.h:76

Parameters

llvm::raw_ostream& OS