gh-107901: compiler replaces POP_BLOCK instruction by NOPs before optimisations (#114530)

This commit is contained in:
Irit Katriel 2024-01-25 20:06:48 +00:00 committed by GitHub
parent 33ae9895d4
commit ac5e53e150
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -903,6 +903,7 @@ label_exception_targets(basicblock *entryblock) {
}
else if (instr->i_opcode == POP_BLOCK) {
handler = pop_except_block(except_stack);
INSTR_SET_OP0(instr, NOP);
}
else if (is_jump(instr)) {
instr->i_except = handler;
@ -2313,7 +2314,7 @@ convert_pseudo_ops(cfg_builder *g)
for (basicblock *b = entryblock; b != NULL; b = b->b_next) {
for (int i = 0; i < b->b_iused; i++) {
cfg_instr *instr = &b->b_instr[i];
if (is_block_push(instr) || instr->i_opcode == POP_BLOCK) {
if (is_block_push(instr)) {
INSTR_SET_OP0(instr, NOP);
}
else if (instr->i_opcode == LOAD_CLOSURE) {