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.weig...@de.ibm.com