This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: i386 ESP adjustments opt.
- To: Jan Hubicka <hubicka at atrey dot karlin dot mff dot cuni dot cz>
- Subject: Re: i386 ESP adjustments opt.
- From: Richard Henderson <rth at cygnus dot com>
- Date: Fri, 7 Apr 2000 03:05:09 -0700
- Cc: egcs-patches at egcs dot cygnus dot com
- References: <20000407114344.D4392@atrey.karlin.mff.cuni.cz>
On Fri, Apr 07, 2000 at 11:43:44AM +0200, Jan Hubicka wrote:
> (TARGET_SUB_ESP_4, TARGET_SUB_EDP_8, TARGET_ADD_ESP_4,
^^^
Typo.
> + ;; in order to allow combine_stack_adjustments pass to see nonobfstructated
^^^
Here too.
> + ;; Convert epilogue deallocator to pop.
> + (define_peephole2
> + [(match_scratch:SI 0 "r")
> + (parallel [(set (reg:SI 7) (plus:SI (reg:SI 7) (const_int 4)))
> + (set (reg:SI 6) (reg:SI 6))
> + (clobber (reg:CC 17))])]
> + "optimize_size || !TARGET_ADD_ESP_4"
> + [(parallel [(set (match_dup 0) (mem:SI (reg:SI 7)))
> + (set (reg:SI 7) (plus:SI (reg:SI 7) (const_int 4)))])]
> + "")
Um, this seems distinctly non-safe. You've lost the tie between
esp and ebp. Were you intending a blockage as you used for the
two pop cases?
> + "gen_blockage();")
You need emit_insn (gen_blockage ()) to get anything accomplished.
r~