This is the mail archive of the 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: empty loop elimination (lack of) ?

> I did not see the results you got.
> I even don't get a List<int>::isValid() const

OK, it took me some time to investigate, and even more to report something
meaningful out of the brute force results I've produced.

At first, I noticed that you had -funroll-loops in your command line; I had
mentioned that -funroll-loops gives the result I'm looking for (elimination
of the loop and inlinage of the resulting function), but I don't always want
to unroll loops, merely eliminating empty loops would be enough for me.

So, I tried a brute force solution: I've tried all combinations of 1, 2, 3,
4 and 5 arguments picked in the whole list of arguments in your command
line, in addition to -O3 -Wall. The results are at (warning, lots of .s files)
matches.log contains all the "good" command lines

It looks like the following arguments are winners (they appear in every line
in the previously mentioned matches.log file):
    --param max-inline-insns=10000 -save-temps

Would that be sane defaults for, say, -O3, or do these arguments carry
unwanted behaviour ?

	-- Cyrille


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