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: 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?


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