W3cubDocs

/D

ddmd.s2ir

Compiler implementation of the D programming language.

Authors:
Walter Bright
License:
Boost License 1.0
Source:
s2ir.d
void setScopeIndex(Blockx* blx, block* b, int scope_index)

Generate code to set index into scope table.

block* block_calloc(Blockx* blx)

Allocate a new block, and set the tryblock.

Label* getLabel(IRState* irs, Blockx* blx, Statement s)

Get or create a label declaration.

block* labelToBlock(IRState* irs, Loc loc, Blockx* blx, LabelDsymbol label, int flag = 0)

Convert label to block.

void incUsage(IRState* irs, Loc loc)

Add in code to increment usage count for linnum.

void insertFinallyBlockCalls(block* startblock)

Insert finally block calls when doing a goto from inside a try block to outside. Done after blocks are generated because then we know all the edges of the graph, but before the Bpred's are computed.

Parameters:
block* startblock first block in function

© 1999–2017 The D Language Foundation
Licensed under the Boost License 1.0.
https://dlang.org/phobos/ddmd_s2ir.html