This is the mail archive of the gcc-patches@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: [patch] Store motion rewrite


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


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