-
Notifications
You must be signed in to change notification settings - Fork 4.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Remove BBF_TRY_BEG
#93367
Remove BBF_TRY_BEG
#93367
Conversation
Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch Issue DetailsThe flag duplicates information already present in the EH table. Also delete some (not all) remnants of verification from
|
5efc53f
to
4b2df21
Compare
5ddc9ee
to
a6011c1
Compare
The flag duplicates information already present in the EH table. Also delete some remnants of verification from "impVerifyEHBlock".
a6011c1
to
94849dc
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That's a nice cleanup. A couple notes.
As a follow-up: do you have any thoughts on #82336?
@@ -3499,12 +3498,6 @@ void Compiler::fgVerifyHandlerTab() | |||
#endif // FEATURE_EH_FUNCLETS | |||
} | |||
|
|||
// Only the first block of 'try' regions should have BBF_TRY_BEG set. | |||
if (!blockTryBegSet[block->bbNum]) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The only use of blockTryBegSet
currently is in this check. You could remove it entirely.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Deleted.
/* Remove unreachable or empty blocks - do not consider blocks marked BBF_DONT_REMOVE or genReturnBB block | ||
* These include first and last block of a TRY, exception handlers and RANGE_CHECK_FAIL THROW blocks */ | ||
|
||
if ((block->bbFlags & BBF_DONT_REMOVE) == BBF_DONT_REMOVE || block == genReturnBB) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is the genReturnBB
check just unnecessary? (obsolete?)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Unnecessary; the block is already always marked with BBF_DONT_REMOVE
.
Great question :). I am looking at the EH-related flowgraph things and in particular the ability to remove dead protected regions and handlers. |
@SingleAccretion Can you fix the merge conflict? fwiw, all the test failures are "known" |
@BruceForstall conflict fixed. |
The flag duplicates information already present in the EH table.
Also delete some (not all) remnants of verification from
impVerifyEHBlock
.