class LexicalScopes

Declaration

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

Description

LexicalScopes - This class provides interface to collect and use lexical scoping information from machine instruction.

Declared at: llvm/include/llvm/CodeGen/LexicalScopes.h:141

Method Overview

Methods

LexicalScopes()

Declared at: llvm/include/llvm/CodeGen/LexicalScopes.h:143

bool dominates(const llvm::DILocation* DL,
               llvm::MachineBasicBlock* MBB)

Description

dominates - Return true if DebugLoc's lexical scope dominates at least one machine instruction's lexical scope in a given machine basic block.

Declared at: llvm/include/llvm/CodeGen/LexicalScopes.h:168

Parameters

const llvm::DILocation* DL
llvm::MachineBasicBlock* MBB

void dump() const

Description

dump - Print data structures to dbgs().

Declared at: llvm/include/llvm/CodeGen/LexicalScopes.h:198

bool empty()

Description

empty - Return true if there is any lexical scope information available.

Declared at: llvm/include/llvm/CodeGen/LexicalScopes.h:153

llvm::LexicalScope* findAbstractScope(
    const llvm::DILocalScope* N)

Description

findAbstractScope - Find an abstract scope or return null.

Declared at: llvm/include/llvm/CodeGen/LexicalScopes.h:180

Parameters

const llvm::DILocalScope* N

llvm::LexicalScope* findInlinedScope(
    const llvm::DILocalScope* N,
    const llvm::DILocation* IA)

Description

findInlinedScope - Find an inlined scope for the given scope/inlined-at.

Declared at: llvm/include/llvm/CodeGen/LexicalScopes.h:186

Parameters

const llvm::DILocalScope* N
const llvm::DILocation* IA

llvm::LexicalScope* findLexicalScope(
    const llvm::DILocation* DL)

Description

findLexicalScope - Find lexical scope, either regular or inlined, for the given DebugLoc. Return NULL if not found.

Declared at: llvm/include/llvm/CodeGen/LexicalScopes.h:172

Parameters

const llvm::DILocation* DL

llvm::LexicalScope* findLexicalScope(
    const llvm::DILocalScope* N)

Description

findLexicalScope - Find regular lexical scope or return null.

Declared at: llvm/include/llvm/CodeGen/LexicalScopes.h:192

Parameters

const llvm::DILocalScope* N

ArrayRef<llvm::LexicalScope*>
getAbstractScopesList() const

Description

getAbstractScopesList - Return a reference to list of abstract scopes.

Declared at: llvm/include/llvm/CodeGen/LexicalScopes.h:175

llvm::LexicalScope* getCurrentFunctionScope()
    const

Description

getCurrentFunctionScope - Return lexical scope for the current function.

Declared at: llvm/include/llvm/CodeGen/LexicalScopes.h:156

void getMachineBasicBlocks(
    const llvm::DILocation* DL,
    SmallPtrSetImpl<
        const llvm::MachineBasicBlock*>& MBBs)

Description

getMachineBasicBlocks - Populate given set using machine basic blocks which have machine instructions that belong to lexical scope identified by DebugLoc.

Declared at: llvm/include/llvm/CodeGen/LexicalScopes.h:163

Parameters

const llvm::DILocation* DL
SmallPtrSetImpl<const llvm::MachineBasicBlock*>& MBBs

llvm::LexicalScope* getOrCreateAbstractScope(
    const llvm::DILocalScope* Scope)

Description

getOrCreateAbstractScope - Find or create an abstract lexical scope.

Declared at: llvm/include/llvm/CodeGen/LexicalScopes.h:201

Parameters

const llvm::DILocalScope* Scope

void initialize(const llvm::MachineFunction&)

Description

initialize - Scan machine function and constuct lexical scope nest, resets the instance if necessary.

Declared at: llvm/include/llvm/CodeGen/LexicalScopes.h:147

Parameters

const llvm::MachineFunction&

void reset()

Description

releaseMemory - release memory.

Declared at: llvm/include/llvm/CodeGen/LexicalScopes.h:150