gcc/
PR target/80968
* config/sparc/sparc.c (sparc_flat_expand_epilogue): Don't
emit frame blockage here.
(sparc_expand_epilogue): Do it here.
* config/sparc/sparc.md (return expander): Emit frame blockage
for alloca here too.
From-SVN: r249072
+2017-06-09 David S. Miller <davem@davemloft.net>
+
+ PR target/80968
+ * config/sparc/sparc.c (sparc_flat_expand_epilogue): Don't
+ emit frame blockage here.
+ (sparc_expand_epilogue): Do it here.
+ * config/sparc/sparc.md (return expander): Emit frame blockage
+ for alloca here too.
+
2017-06-06 David S. Miller <davem@davemloft.net>
PR target/80968
{
HOST_WIDE_INT size = sparc_frame_size;
+ if (cfun->calls_alloca)
+ emit_insn (gen_frame_blockage ());
+
if (sparc_n_global_fp_regs > 0)
emit_save_or_restore_global_fp_regs (sparc_frame_base_reg,
sparc_frame_base_offset
{
HOST_WIDE_INT size = sparc_frame_size;
- if (cfun->calls_alloca)
- emit_insn (gen_frame_blockage ());
-
if (sparc_n_global_fp_regs > 0)
emit_save_or_restore_global_fp_regs (sparc_frame_base_reg,
sparc_frame_base_offset
(define_expand "return"
[(return)]
"sparc_can_use_return_insn_p ()"
- "")
+{
+ if (cfun->calls_alloca)
+ emit_insn (gen_frame_blockage ());
+})
(define_insn "*return_internal"
[(return)]