|
LLVM
4.0.0
|
Compute live ranges of allocas. More...
#include <SafeStackColoring.h>
Classes | |
| struct | LiveRange |
| This class represents a set of interesting instructions where an alloca is live. More... | |
Public Member Functions | |
| StackColoring (Function &F, ArrayRef< AllocaInst * > Allocas) | |
| void | run () |
| void | removeAllMarkers () |
| const LiveRange & | getLiveRange (AllocaInst *AI) |
| Returns a set of "interesting" instructions where the given alloca is live. More... | |
| LiveRange | getFullLiveRange () |
| Returns a live range that represents an alloca that is live throughout the entire function. More... | |
Compute live ranges of allocas.
Live ranges are represented as sets of "interesting" instructions, which are defined as instructions that may start or end an alloca's lifetime. These are:
Definition at line 31 of file SafeStackColoring.h.
|
inline |
Definition at line 103 of file SafeStackColoring.h.
|
inline |
Returns a live range that represents an alloca that is live throughout the entire function.
Definition at line 116 of file SafeStackColoring.h.
References llvm::safestack::StackColoring::LiveRange::AddRange(), assert(), and llvm::safestack::StackColoring::LiveRange::SetMaximum().
Referenced by run().
| const StackColoring::LiveRange & StackColoring::getLiveRange | ( | AllocaInst * | AI | ) |
Returns a set of "interesting" instructions where the given alloca is live.
Not all instructions in a function are interesting: we pick a set that is large enough for LiveRange::Overlaps to be correct.
Definition at line 27 of file SafeStackColoring.cpp.
| bool StackColoring::removeAllMarkers | ( | ) |
Definition at line 43 of file SafeStackColoring.cpp.
References llvm::dyn_cast(), llvm::Instruction::eraseFromParent(), and llvm::User::getOperand().
| void StackColoring::run | ( | ) |
Definition at line 266 of file SafeStackColoring.cpp.
References ClColoring, DEBUG, getFullLiveRange(), I, and llvm::BitVector::test().
1.8.6