[PATCH] Fix -mno-accumulate-outgoing-args -fasynchronous-unwind-tables (PR rtl-optimization/36419)
Eric Botcazou
ebotcazou@adacore.com
Sun Jun 15 14:50:00 GMT 2008
> The following so far only lightly tested patch fixes this by remembering CSA
> of non-/f insns into /f insns and adding DW_CFA_GNU_args_size on the stack
> subtraction that does the combined adjustment.
Did you consider attaching a REG_FRAME_RELATED_EXPR note on the merged insn
instead, pointing to a PARALLEL made up of the non-merged adjustments, with
RTX_FRAME_RELATED_P set on the first and not set on the second.
> @@ -373,7 +376,7 @@ combine_stack_adjustments_for_block (bas
> deallocation+allocation conspired to cancel, we can
> delete the old deallocation insn. */
> if (last_sp_set && last_sp_adjust == 0)
> - delete_insn (insn);
> + delete_insn (last_sp_set);
> free_csa_memlist (memlist);
> memlist = NULL;
> last_sp_set = insn;
This looks correct to me.
--
Eric Botcazou
More information about the Gcc-patches
mailing list