patch to improve current_function_sp_is_unchanging accuracy

John Wehle john@feith.com
Wed Nov 4 20:18:00 GMT 1998


>> 	* flow.c (notice_stack_pointer_modification): Ignore
>> 	additions or subtractions of zero.
> Why not delete such insns?

Didn't have strong feelings one way or another though I wasn't looking
to accidently break something.

> Why do we get them and how can we delete them :-)

Compiling:

int
subr1(int a, int b)
  {

  ga = a;
  gb = b;

  return subr11();
  }

on the i386 yields:

;; Function subr1

...

(call_insn 18 15 20 (parallel[ 
            (set (reg:SI 0 %eax)
                (call (mem:QI (symbol_ref:SI ("subr11")) 0)
                    (const_int 0)))
            (set (reg:SI 7 %esp)
                (plus:SI (reg:SI 7 %esp)
                    (const_int 0)))
        ] ) 307 {call_value-1} (nil)
    (nil)
    (nil))

I suppose that maybe set_noop_p and friends in flow.c could be modified
to delete these.

-- John
-------------------------------------------------------------------------
|   Feith Systems  |   Voice: 1-215-646-8000  |  Email: john@feith.com  |
|    John Wehle    |     Fax: 1-215-540-5495  |                         |
-------------------------------------------------------------------------




More information about the Gcc-patches mailing list