i386 ESP adjustments opt.
Fri Apr 7 03:05:00 GMT 2000
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,
> + ;; in order to allow combine_stack_adjustments pass to see nonobfstructated
> + ;; 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.
More information about the Gcc-patches