This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: porting problem again: ICE in add_clobbers
On 9/18/07, Jim Wilson <wilson@specifix.com> wrote:
> Tomas Svensson wrote:
> There is no optimization at all without -O, no matter how many -f
> options you use. What you want to do is -O -fno-foo -fno-bar etc.
> However, we do not have -f options for every optimization, so there is
> no guarantee that this will identify the optimization pass that exposes
> the bug in your port.
Right, thanks. I sure hope I learn from all these silly mistakes...
Anyway, I did the same thing again, this time with starting with the
-O2 that causes the problem and turning off options with -fno- flags.
This time, I found the compilation to work with '-O2 -fno-gcse' but to
break with just '-O2'.
So I guess the problem is somehow caused by global common
subexpression elimination. Could it be that gcse changes the insn in
some way, making it unrecognizable by the usual define_insn's? Should
I use (unspec ..) or (clobber ..) instead of (use ..) (as suggested in
GCC Internals, Side effects)? If so, what is the difference, really?