optimization/7269: Inlining may not eliminate unnecessary tests and branches.

Andy Freeman anamax@earthlink.net
Wed Feb 19 14:46:00 GMT 2003


I'm no longer in a position to produce the code.

The specific example looked like:

struct foo {
  int f(int i) {
    ... // no branches or returns
    if( 0 = i ) {
        return 17;
    }
    ...
  }
};

int bar(...) {
    foo f;
    if( f.f(0) ) {        // the branch in f was eliminated by constant propagation
        ....                  // but the branch testing f's return value was not.
    }
}
----- Original Message ----- 
From: <ebotcazou@gcc.gnu.org>
To: <anamax@earthlink.net>; <gcc-bugs@gcc.gnu.org>; <gcc-prs@gcc.gnu.org>; <nobody@gcc.gnu.org>
Sent: Wednesday, February 19, 2003 1:26 AM
Subject: Re: optimization/7269: Inlining may not eliminate unnecessary tests and branches.


> Synopsis: Inlining may not eliminate unnecessary tests and branches.
> 
> State-Changed-From-To: open->feedback
> State-Changed-By: ebotcazou
> State-Changed-When: Wed Feb 19 09:26:14 2003
> State-Changed-Why:
>     Sample code requested for 5 months.
> 
> http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=7269



More information about the Gcc-bugs mailing list