This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: -funswitch-loops not effective?



On Jan 17, 2005, at 7:25 AM, Richard Guenther wrote:


On Mon, 17 Jan 2005, Richard Guenther wrote:

What I don't quite understand is why in the following testcase, unswitching
is happening:


void foo(int);
void bar(int);

extern const _Bool flag;

void foobar(int n)
{
        int i;
        for (i=0; i<n; ++i)
                if (flag)
                        foo(i);
                else
                        bar(i);
}


Because even though flag is const in this TU, but does
not have to be in a different TU, which case foo and bar
can modify flag.  If you look at the tree dumps with
the vops turned on, you will see this.

-- Pinski


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]