@@ -438,6 +438,8 @@ struct BasicBlock : private LIR::Range
438
438
#define BBF_CLONED_FINALLY_BEGIN 0x100000000 // First block of a cloned finally region
439
439
#define BBF_CLONED_FINALLY_END 0x200000000 // Last block of a cloned finally region
440
440
441
+ #define BBF_DOMINATED_BY_EXCEPTIONAL_ENTRY 0x400000000 // Block is dominated by exceptional entry.
442
+
441
443
// Flags that relate blocks to loop structure.
442
444
443
445
#define BBF_LOOP_FLAGS (BBF_LOOP_PREHEADER | BBF_LOOP_HEAD | BBF_LOOP_CALL0 | BBF_LOOP_CALL1)
@@ -877,12 +879,6 @@ struct BasicBlock : private LIR::Range
877
879
unsigned bbDfsNum; // The index of this block in DFS reverse post order
878
880
// relative to the flow graph.
879
881
880
- #if ASSERTION_PROP
881
- // A set of blocks which dominate this one *except* the normal entry block. This is lazily initialized
882
- // and used only by Assertion Prop, intersected with fgEnterBlks!
883
- BlockSet bbDoms;
884
- #endif
885
-
886
882
IL_OFFSET bbCodeOffs; // IL offset of the beginning of the block
887
883
IL_OFFSET bbCodeOffsEnd; // IL offset past the end of the block. Thus, the [bbCodeOffs..bbCodeOffsEnd)
888
884
// range is not inclusive of the end offset. The count of IL bytes in the block
@@ -1077,13 +1073,7 @@ struct BasicBlock : private LIR::Range
1077
1073
GenTree* FirstNonPhiDefOrCatchArgAsg ();
1078
1074
1079
1075
BasicBlock ()
1080
- :
1081
- #if ASSERTION_PROP
1082
- BLOCKSET_INIT_NOCOPY (bbDoms, BlockSetOps::UninitVal())
1083
- ,
1084
- #endif // ASSERTION_PROP
1085
- VARSET_INIT_NOCOPY (bbLiveIn, VarSetOps::UninitVal())
1086
- , VARSET_INIT_NOCOPY(bbLiveOut, VarSetOps::UninitVal())
1076
+ : VARSET_INIT_NOCOPY(bbLiveIn, VarSetOps::UninitVal()), VARSET_INIT_NOCOPY(bbLiveOut, VarSetOps::UninitVal())
1087
1077
{
1088
1078
}
1089
1079
@@ -1170,6 +1160,16 @@ struct BasicBlock : private LIR::Range
1170
1160
1171
1161
void MakeLIR (GenTree* firstNode, GenTree* lastNode);
1172
1162
bool IsLIR ();
1163
+
1164
+ void SetDominatedByExceptionalEntryFlag ()
1165
+ {
1166
+ bbFlags |= BBF_DOMINATED_BY_EXCEPTIONAL_ENTRY;
1167
+ }
1168
+
1169
+ bool IsDominatedByExceptionalEntryFlag ()
1170
+ {
1171
+ return (bbFlags & BBF_DOMINATED_BY_EXCEPTIONAL_ENTRY) != 0 ;
1172
+ }
1173
1173
};
1174
1174
1175
1175
template <>
0 commit comments