91 references to BasicBlockKind
Microsoft.CodeAnalysis (78)
Operations\BasicBlock.cs (2)
29
BasicBlockKind
kind,
49
public
BasicBlockKind
Kind { get; }
Operations\ControlFlowBranchSemantics.cs (1)
25
/// Represents a <see cref="ControlFlowBranch"/> to the exit block, i.e. the destination block has <see cref="
BasicBlockKind
.Exit"/>.
Operations\ControlFlowGraph.cs (2)
43
Debug.Assert(blocks.First().Kind ==
BasicBlockKind
.Entry);
44
Debug.Assert(blocks.Last().Kind ==
BasicBlockKind
.Exit);
Operations\ControlFlowGraphBuilder.BasicBlockBuilder.cs (2)
18
public readonly
BasicBlockKind
Kind;
35
public BasicBlockBuilder(
BasicBlockKind
kind)
Operations\ControlFlowGraphBuilder.cs (71)
30
private readonly BasicBlockBuilder _entry = new BasicBlockBuilder(
BasicBlockKind
.Entry);
31
private readonly BasicBlockBuilder _exit = new BasicBlockBuilder(
BasicBlockKind
.Exit);
201
return blockBuilder.Kind !=
BasicBlockKind
.Exit ?
700
predecessor.Kind !=
BasicBlockKind
.Entry &&
859
if (next.Destination.Kind !=
BasicBlockKind
.Exit ||
872
predecessor.Kind ==
BasicBlockKind
.Entry ||
971
if (predecessor.Kind !=
BasicBlockKind
.Entry &&
1138
else if (predecessor.Kind ==
BasicBlockKind
.Entry && destinationRegionOpt == null)
1263
AppendNewBlock(new BasicBlockBuilder(
BasicBlockKind
.Block));
1345
AppendNewBlock(new BasicBlockBuilder(
BasicBlockKind
.Block));
1576
var afterIf = new BasicBlockBuilder(
BasicBlockKind
.Block);
1608
var afterIf = new BasicBlockBuilder(
BasicBlockKind
.Block);
2332
var done = new BasicBlockBuilder(
BasicBlockKind
.Block);
2333
var checkRight = new BasicBlockBuilder(
BasicBlockKind
.Block);
2334
var resultIsLeft = new BasicBlockBuilder(
BasicBlockKind
.Block);
2401
var done = new BasicBlockBuilder(
BasicBlockKind
.Block);
2402
var checkRight = new BasicBlockBuilder(
BasicBlockKind
.Block);
2464
var done = new BasicBlockBuilder(
BasicBlockKind
.Block);
2465
var doBitWise = new BasicBlockBuilder(
BasicBlockKind
.Block);
2561
var done = new BasicBlockBuilder(
BasicBlockKind
.Block);
2562
var doBitWise = new BasicBlockBuilder(
BasicBlockKind
.Block);
2670
var labEnd = new BasicBlockBuilder(
BasicBlockKind
.Block);
2776
dest ??= new BasicBlockBuilder(
BasicBlockKind
.Block);
2797
BasicBlockBuilder? fallThrough = new BasicBlockBuilder(
BasicBlockKind
.Block);
2861
var afterIf = new BasicBlockBuilder(
BasicBlockKind
.Block);
2880
var whenNull = new BasicBlockBuilder(
BasicBlockKind
.Block);
2886
dest ??= new BasicBlockBuilder(
BasicBlockKind
.Block);
2890
var afterCoalesce = new BasicBlockBuilder(
BasicBlockKind
.Block);
2914
dest ??= new BasicBlockBuilder(
BasicBlockKind
.Block);
2924
dest ??= new BasicBlockBuilder(
BasicBlockKind
.Block);
3034
var whenNull = new BasicBlockBuilder(
BasicBlockKind
.Block);
3038
var afterCoalesce = new BasicBlockBuilder(
BasicBlockKind
.Block);
3107
var whenNull = new BasicBlockBuilder(
BasicBlockKind
.Block);
3108
var afterCoalesce = new BasicBlockBuilder(
BasicBlockKind
.Block);
3361
var whenNull = new BasicBlockBuilder(
BasicBlockKind
.Block);
3430
var afterAccess = new BasicBlockBuilder(
BasicBlockKind
.Block);
3604
var start = new BasicBlockBuilder(
BasicBlockKind
.Block);
3676
var catchBlock = new BasicBlockBuilder(
BasicBlockKind
.Block);
3689
var continueDispatchBlock = new BasicBlockBuilder(
BasicBlockKind
.Block);
3749
AppendNewBlock(new BasicBlockBuilder(
BasicBlockKind
.Block));
3751
var continueDispatchBlock = new BasicBlockBuilder(
BasicBlockKind
.Block);
3853
labeled = new BasicBlockBuilder(
BasicBlockKind
.Block);
3863
return new BasicBlockBuilder(
BasicBlockKind
.Block);
3877
labeledBlock = new BasicBlockBuilder(
BasicBlockKind
.Block);
3907
AppendNewBlock(new BasicBlockBuilder(
BasicBlockKind
.Block), linkToPrevious: false);
4065
var afterTryFinally = new BasicBlockBuilder(
BasicBlockKind
.Block);
4096
var endOfFinally = new BasicBlockBuilder(
BasicBlockKind
.Block);
4101
AppendNewBlock(new BasicBlockBuilder(
BasicBlockKind
.Block));
4276
var afterTryFinally = new BasicBlockBuilder(
BasicBlockKind
.Block);
4318
var endOfFinally = new BasicBlockBuilder(
BasicBlockKind
.Block);
4322
AppendNewBlock(new BasicBlockBuilder(
BasicBlockKind
.Block));
4449
var afterTryFinally = new BasicBlockBuilder(
BasicBlockKind
.Block);
4648
BasicBlockBuilder checkConditionBlock = new BasicBlockBuilder(
BasicBlockKind
.Block);
4649
BasicBlockBuilder bodyBlock = new BasicBlockBuilder(
BasicBlockKind
.Block);
4841
var afterPositiveCheck = new BasicBlockBuilder(
BasicBlockKind
.Block);
4845
var whenNotNull = new BasicBlockBuilder(
BasicBlockKind
.Block);
4952
var notPositive = new BasicBlockBuilder(
BasicBlockKind
.Block);
5070
var whenBothNotNull = new BasicBlockBuilder(
BasicBlockKind
.Block);
5091
var notPositive = new BasicBlockBuilder(
BasicBlockKind
.Block);
5221
BasicBlockBuilder afterIncrement = new BasicBlockBuilder(
BasicBlockKind
.Block);
5233
BasicBlockBuilder whenNotNull = new BasicBlockBuilder(
BasicBlockKind
.Block);
5409
var body = new BasicBlockBuilder(
BasicBlockKind
.Block);
5410
var nextSection = new BasicBlockBuilder(
BasicBlockKind
.Block);
5425
var nextCase = new BasicBlockBuilder(
BasicBlockKind
.Block);
5520
AppendNewBlock(new BasicBlockBuilder(
BasicBlockKind
.Block));
5607
AppendNewBlock(new BasicBlockBuilder(
BasicBlockKind
.Block), linkToPrevious: false);
5651
var start = new BasicBlockBuilder(
BasicBlockKind
.Block);
5733
afterInitialization = new BasicBlockBuilder(
BasicBlockKind
.Block);
6563
resultBlock = new BasicBlockBuilder(
BasicBlockKind
.Block);
7479
var afterSwitch = new BasicBlockBuilder(
BasicBlockKind
.Block);
7486
var afterArm = new BasicBlockBuilder(
BasicBlockKind
.Block);
Microsoft.CodeAnalysis.CodeStyle (4)
ControlFlowGraphExtensions.cs (2)
16
Debug.Assert(firstBlock.Kind ==
BasicBlockKind
.Entry);
23
Debug.Assert(lastBlock.Kind ==
BasicBlockKind
.Exit);
SymbolUsageAnalysis.DataFlowAnalyzer.cs (1)
102
if (basicBlock.Kind ==
BasicBlockKind
.Entry)
SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (1)
354
basicBlock.Kind ==
BasicBlockKind
.Entry ||
Microsoft.CodeAnalysis.Test.Utilities (5)
Compilation\ControlFlowGraphVerifier.cs (5)
130
case
BasicBlockKind
.Block:
135
case
BasicBlockKind
.Entry:
155
case
BasicBlockKind
.Exit:
228
else if (block.Kind !=
BasicBlockKind
.Entry)
277
if (block.Kind ==
BasicBlockKind
.Exit)
Microsoft.CodeAnalysis.Workspaces (4)
ControlFlowGraphExtensions.cs (2)
16
Debug.Assert(firstBlock.Kind ==
BasicBlockKind
.Entry);
23
Debug.Assert(lastBlock.Kind ==
BasicBlockKind
.Exit);
SymbolUsageAnalysis.DataFlowAnalyzer.cs (1)
102
if (basicBlock.Kind ==
BasicBlockKind
.Entry)
SymbolUsageAnalysis.DataFlowAnalyzer.FlowGraphAnalysisData.cs (1)
354
basicBlock.Kind ==
BasicBlockKind
.Entry ||