This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] s390: Add -fsplit-stack support
- From: "Ulrich Weigand" <uweigand at de dot ibm dot com>
- To: koriakin at 0x04 dot net (Marcin KoÅcielnicki)
- Cc: krebbel at linux dot vnet dot ibm dot com, gcc-patches at gcc dot gnu dot org, koriakin at 0x04 dot net (Marcin KoÅcielnicki)
- Date: Wed, 3 Feb 2016 18:03:02 +0100 (CET)
- Subject: Re: [PATCH] s390: Add -fsplit-stack support
- Authentication-results: sourceware.org; auth=none
Marcin KoÅ?cielnicki wrote:
> Comment fixed, split_stack_marker gone, reorg gone. Generated code seems sane,
> but testsuite still running.
>
> I will need to modify the gold patch to handle the "leaf function taking non-split
> stack function address" issue - this will likely require messing with the target
> independent plumbing, the hook for that doesn't seem to get enough params.
Thanks for making those changes; the patch is looking a lot nicer (and shorter :-))
now! Just to clarify, your original patch series had two common-code prerequisite
patches (3/5 and 4/5) -- it looks like those may still be needed? If so, we'll
have to get approval from the appropriate middle-end maintainers before this
patch can go it as well.
As to the back-end patch, I've now only got some cosmetical issues:
> + insn = emit_insn (gen_main_base_64 (r1, parm_base));
Now that we aren't using the literal pool infrastructure for the block any more,
I guess we shouldn't be using it to load the address either. Just something
like:
insn = emit_move_insn (r1, gen_rtx_LABEL_REF (VOIDmode, parm_base));
should do it.
> +(define_insn "split_stack_data"
> + [(unspec_volatile [(match_operand 0 "" "X")
> + (match_operand 1 "" "X")
> + (match_operand 2 "consttable_operand" "X")
> + (match_operand 3 "consttable_operand" "X")]
And similarly here, just use const_int_operand.
Otherwise, this all looks very good to me.
Thanks,
Ulrich
--
Dr. Ulrich Weigand
GNU/Linux compilers and toolchain
Ulrich.Weigand@de.ibm.com