More refinements to fixing sparc's PR target/80968.

gcc/

	PR target/80968
	* config/sparc/sparc.md (return expander): Emit frame blockage if
	function uses alloca.

From-SVN: r249134
This commit is contained in:
David S. Miller 2017-06-12 19:30:45 +00:00 committed by David S. Miller
parent 20d5c8731f
commit 6d1ea02a6c
2 changed files with 10 additions and 1 deletions

View File

@ -1,3 +1,9 @@
2017-06-12 David S. Miller <davem@davemloft.net>
PR target/80968
* config/sparc/sparc.md (return expander): Emit frame blockage if
function uses alloca.
2017-06-12 Richard Sandiford <richard.sandiford@linaro.org> 2017-06-12 Richard Sandiford <richard.sandiford@linaro.org>
* combine.c (make_field_assignment): Check len rather than the mode * combine.c (make_field_assignment): Check len rather than the mode

View File

@ -7098,7 +7098,10 @@
(define_expand "return" (define_expand "return"
[(return)] [(return)]
"sparc_can_use_return_insn_p ()" "sparc_can_use_return_insn_p ()"
"") {
if (cfun->calls_alloca)
emit_insn (gen_frame_blockage ());
})
(define_insn "*return_internal" (define_insn "*return_internal"
[(return)] [(return)]