Skip to content

Follow up issue. We should probably never see a BBJ_ALWAYS block ending with a throw. #100458

@VSadov

Description

@VSadov

This came up in discussions about #100376
See comment: #100376 (comment)

The change in the PR ended up handling BBJ_ALWAYS the same way it handles BBJ_THROW blocks, since it appears that some of them throw, but they most likely should be BBJ_THROW in the first place.

One possible reason for why this happens is that GenTreeCall::IsNoReturn() does not cover helper cases. However simple attempts to fix that ran into issues/asserts about throw helper merging, which was too unrelated to the PR.

Thus this issue - to follow up on:

  • sort out the case when BBJ_ALWAYS may end with a call to athrowing helper
  • sort out if GenTreeCall::IsNoReturn() could cover helper case as well.

Metadata

Metadata

Labels

area-CodeGen-coreclrCLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions