Hi Joern,

> > +      insn = emit_insn (gen_blockage ());
> 
> Is this actually part of the patch to fix cfi generation?

This instruction prevents the delay branch scheduler to speculatively use 
epilogue instructions to fill up the delay slots. Hence, generating an assert 
during dwarf2cfi execution. This behavior is experiment by dg.exp/pr49994-1.s 
test.

At a closer inspection of the patch, I've refurbish it in a more generic 
fashion (attached), where the blockage guards the entire expand epilogue 
process.

It may be questionable if emitting blockage in epilogue is part of the cfi 
refactoring of the epilogue. However, without it we may still get errors in 
dwarf2cfi.

Thanks,
Claudiu

Attachment: 0001-Refurbish-emitting-DWARF2-related-information-when-e.patch
Description: 0001-Refurbish-emitting-DWARF2-related-information-when-e.patch

Reply via email to