After instruction selection phase, possibly-throwing calls, which were
previously invoke, are wrapped in EH_LABEL instructions. For example:
EH_LABEL <mcsymbol .Ltmp0> CALL_VOID @foo ... EH_LABEL <mcsymbol .Ltmp1>
EH_LABEL is placed also in the beginning of EH pads:
bb.1 (landing-pad): EH_LABEL <mcsymbol .Ltmp2> ...
And we'd like to maintian this relationship, so when we place a try,
TRY ... EH_LABEL <mcsymbol .Ltmp0> CALL_VOID @foo ... EH_LABEL <mcsymbol .Ltmp1>
When we place a catch,
bb.1 (landing-pad): EH_LABEL <mcsymbol .Ltmp2> %0:except_ref = CATCH ... ...
Previously we didn't treat EH_LABELs specially, so try was placed
right before a call, and catch was placed in the beginning of an EH
pad.
Should this be CHECK: EH_LABEL? (also below)