Avoid forming tracelets that can't have IR fully emitted
Summary: I noticed that the tracelet selector was sometimes returning a
RegionDesc that didn't quite match the IR that would be emitted for it
(see examples in attached task). So this diff puts in a check to make
sure that a tracelet RegionDesc always ends in an IR instruction
corresponding to its last bytecode instruction, and then fixes the
exposed issues. The fix was basically to break the tracelet whenever
the IR that is produced for tracelet-formation purposes reaches a dead
end and the following IR blocks would be unreachable.
Reviewed By: @swtaarrs
Differential Revision:
D1858456