This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [patch] Store motion rewrite
- From: Zdenek Dvorak <rakdver at atrey dot karlin dot mff dot cuni dot cz>
- To: Richard Henderson <rth at redhat dot com>, gcc-patches at gcc dot gnu dot org
- Date: Tue, 4 Mar 2003 00:37:50 +0100
- Subject: Re: [patch] Store motion rewrite
- References: <20030214201246.GA21900@atrey.karlin.mff.cuni.cz> <200302142044.PAA27066@makai.watson.ibm.com> <20030224231329.GA13683@atrey.karlin.mff.cuni.cz> <20030301015207.GJ25419@redhat.com>
Hello,
> Bootstrapping alphaev67-linux, I get
>
> ../../../../src-gcc/libjava/java/io/LineNumberReader.java: In class `java.io.Lin
> eNumberReader':
> ../../../../src-gcc/libjava/java/io/LineNumberReader.java: In method `java.io.Li
> neNumberReader.read(char[],int,int)':
> ../../../../src-gcc/libjava/java/io/LineNumberReader.java:162: error: Missing RE
> G_EH_REGION note in the end of bb 40
> ../../../../src-gcc/libjava/java/io/LineNumberReader.java:162: internal compiler
> error: verify_flow_info failed
>
> I presume this means one of the optimizers got miscompiled,
> since the error message itself makes no sense wrt the patch.
no, its much simpler; just
(insn 177 176 374 33 0x2a98de5b40 (set (mem/s:SI (plus:DI (reg/v/f:DI 59 [ this ])
(const_int 40 [0x28])) [17 <variable>.pos+0 S4 A64])
(reg:SI 121)) -1 (nil)
(expr_list:REG_EH_REGION (const_int 1 [0x1])
(nil)))
is converted into
(insn 431 176 374 33 (nil) (set (reg:SI 169)
(reg:SI 121)) -1 (nil)
(nil))
by store motion.
Unfortunately probably the only correct fix is to disable the
transformation in this case at all; which is unpleasant considering that
we will miss most of the opportunities :-(
Zdenek