public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug rtl-optimization/33669] New: [4.3 Regression] Revision 128957 miscompiles 481.wrf
@ 2007-10-05 14:49 hjl at lucon dot org
2007-10-05 15:00 ` [Bug rtl-optimization/33669] " rguenth at gcc dot gnu dot org
` (22 more replies)
0 siblings, 23 replies; 24+ messages in thread
From: hjl at lucon dot org @ 2007-10-05 14:49 UTC (permalink / raw)
To: gcc-bugs
On Linux/ia32, revision 128957 miscompiles 481.wrf in SPEC CPU 2006:
Compiling Binaries
Building 481.wrf test base o2 default: (build_base_o2.0000)
Build successes: 481.wrf(base)
Parsing Flags
Looking at 481.wrf base o2 default: done
Flag Parsing Complete
Setting Up Run Directories
Setting up 481.wrf test base o2 default: created (run_base_test_o2.0000)
Running Benchmarks
Running 481.wrf test base o2 default
Error with '/export/gnu/import/rrs/spec/2006/spec/bin/specinvoke -E -d
/export/gnu/import/rrs/spec/2006/spec/benchspec/CPU2006/481.wrf/run/run_base_test_o2.0000
-c 1 -e compare.err -o compare.stdout -f compare.cmd': check file
'/export/gnu/import/rrs/spec/2006/spec/benchspec/CPU2006/481.wrf/run/run_base_test_o2.0000/.err'
****************************************
Contents of wrf.err
****************************************
STOP wrf_abort
-------------- FATAL CALLED ---------------
program wrf: error opening wrfinput_d01 for reading ierr= -1021
-------------------------------------------
****************************************
*** Miscompare of rsl.out.0000, see
/export/gnu/import/rrs/spec/2006/spec/benchspec/CPU2006/481.wrf/run/run_base_test_o2.0000/rsl.out.0000.mis
Invalid run; unable to continue. If you wish to ignore errors please use '-I'
or ignore_errors
--
Summary: [4.3 Regression] Revision 128957 miscompiles 481.wrf
Product: gcc
Version: 4.3.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: rtl-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: hjl at lucon dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33669
^ permalink raw reply [flat|nested] 24+ messages in thread
* [Bug rtl-optimization/33669] [4.3 Regression] Revision 128957 miscompiles 481.wrf
2007-10-05 14:49 [Bug rtl-optimization/33669] New: [4.3 Regression] Revision 128957 miscompiles 481.wrf hjl at lucon dot org
@ 2007-10-05 15:00 ` rguenth at gcc dot gnu dot org
2007-10-05 21:17 ` hjl at lucon dot org
` (21 subsequent siblings)
22 siblings, 0 replies; 24+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2007-10-05 15:00 UTC (permalink / raw)
To: gcc-bugs
--
rguenth at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |rguenth at gcc dot gnu dot
| |org
Keywords| |wrong-code
Target Milestone|--- |4.3.0
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33669
^ permalink raw reply [flat|nested] 24+ messages in thread
* [Bug rtl-optimization/33669] [4.3 Regression] Revision 128957 miscompiles 481.wrf
2007-10-05 14:49 [Bug rtl-optimization/33669] New: [4.3 Regression] Revision 128957 miscompiles 481.wrf hjl at lucon dot org
2007-10-05 15:00 ` [Bug rtl-optimization/33669] " rguenth at gcc dot gnu dot org
@ 2007-10-05 21:17 ` hjl at lucon dot org
2007-10-05 21:49 ` hjl at lucon dot org
` (20 subsequent siblings)
22 siblings, 0 replies; 24+ messages in thread
From: hjl at lucon dot org @ 2007-10-05 21:17 UTC (permalink / raw)
To: gcc-bugs
------- Comment #1 from hjl at lucon dot org 2007-10-05 21:17 -------
netcdf/posixio.c is miscompiled.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33669
^ permalink raw reply [flat|nested] 24+ messages in thread
* [Bug rtl-optimization/33669] [4.3 Regression] Revision 128957 miscompiles 481.wrf
2007-10-05 14:49 [Bug rtl-optimization/33669] New: [4.3 Regression] Revision 128957 miscompiles 481.wrf hjl at lucon dot org
2007-10-05 15:00 ` [Bug rtl-optimization/33669] " rguenth at gcc dot gnu dot org
2007-10-05 21:17 ` hjl at lucon dot org
@ 2007-10-05 21:49 ` hjl at lucon dot org
2007-10-05 21:52 ` hjl at lucon dot org
` (19 subsequent siblings)
22 siblings, 0 replies; 24+ messages in thread
From: hjl at lucon dot org @ 2007-10-05 21:49 UTC (permalink / raw)
To: gcc-bugs
------- Comment #2 from hjl at lucon dot org 2007-10-05 21:49 -------
px_get in netcdf/posixio.c is miscompiled at -O2.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33669
^ permalink raw reply [flat|nested] 24+ messages in thread
* [Bug rtl-optimization/33669] [4.3 Regression] Revision 128957 miscompiles 481.wrf
2007-10-05 14:49 [Bug rtl-optimization/33669] New: [4.3 Regression] Revision 128957 miscompiles 481.wrf hjl at lucon dot org
` (2 preceding siblings ...)
2007-10-05 21:49 ` hjl at lucon dot org
@ 2007-10-05 21:52 ` hjl at lucon dot org
2007-10-05 23:14 ` hjl at lucon dot org
` (18 subsequent siblings)
22 siblings, 0 replies; 24+ messages in thread
From: hjl at lucon dot org @ 2007-10-05 21:52 UTC (permalink / raw)
To: gcc-bugs
------- Comment #3 from hjl at lucon dot org 2007-10-05 21:52 -------
px_get in netcdf/posixio.c is miscompiled at -O1 and -O0 is OK.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33669
^ permalink raw reply [flat|nested] 24+ messages in thread
* [Bug rtl-optimization/33669] [4.3 Regression] Revision 128957 miscompiles 481.wrf
2007-10-05 14:49 [Bug rtl-optimization/33669] New: [4.3 Regression] Revision 128957 miscompiles 481.wrf hjl at lucon dot org
` (3 preceding siblings ...)
2007-10-05 21:52 ` hjl at lucon dot org
@ 2007-10-05 23:14 ` hjl at lucon dot org
2007-10-06 2:07 ` hjl at lucon dot org
` (17 subsequent siblings)
22 siblings, 0 replies; 24+ messages in thread
From: hjl at lucon dot org @ 2007-10-05 23:14 UTC (permalink / raw)
To: gcc-bugs
------- Comment #4 from hjl at lucon dot org 2007-10-05 23:14 -------
#include <string.h>
#include <stdlib.h>
typedef struct foo_t {
size_t blksz;
size_t bf_extent;
size_t bf_cnt;
void *bf_base;
} foo_t;
#define _RNDUP(x, unit) ((((x) + (unit) - 1) / (unit)) \
* (unit))
#define _RNDDOWN(x, unit) ((x) - ((x)%(unit)))
long long
foo(foo_t *const pxp, long long offset, size_t extent)
{
const long long blkoffset = _RNDDOWN(offset,
(long long )pxp->blksz);
size_t diff = (size_t)(offset - blkoffset);
size_t blkextent = _RNDUP(diff + extent, pxp->blksz);
if(pxp->blksz < blkextent)
return -1;
{
void *const middle = pxp->bf_base;
if(pxp->bf_cnt > pxp->blksz)
{
pxp->bf_extent = pxp->blksz;
}
if(pxp->bf_cnt > 0)
{
/* copy lower half into upper half */
(void) memcpy(middle, pxp->bf_base, pxp->blksz);
}
}
return blkoffset;
}
int
main ()
{
foo_t x;
char buffer [8192];
long long xx;
x.blksz = 8192;
x.bf_extent = 0;
x.bf_cnt = 0;
x.bf_base = buffer;
xx = foo (&x, 0, 4096);
if (xx != 0LL)
abort ();
return 0;
}
[hjl@gnu-27 pr33669]$ /export/gnu/import/rrs/128957/usr/bin/gcc foo.c -m32 -O
[hjl@gnu-27 pr33669]$ ./a.out
Aborted
[hjl@gnu-27 pr33669]$
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33669
^ permalink raw reply [flat|nested] 24+ messages in thread
* [Bug rtl-optimization/33669] [4.3 Regression] Revision 128957 miscompiles 481.wrf
2007-10-05 14:49 [Bug rtl-optimization/33669] New: [4.3 Regression] Revision 128957 miscompiles 481.wrf hjl at lucon dot org
` (4 preceding siblings ...)
2007-10-05 23:14 ` hjl at lucon dot org
@ 2007-10-06 2:07 ` hjl at lucon dot org
2007-10-06 2:31 ` hjl at lucon dot org
` (16 subsequent siblings)
22 siblings, 0 replies; 24+ messages in thread
From: hjl at lucon dot org @ 2007-10-06 2:07 UTC (permalink / raw)
To: gcc-bugs
------- Comment #5 from hjl at lucon dot org 2007-10-06 02:07 -------
Kenny, does your patch
http://gcc.gnu.org/ml/gcc-patches/2007-10/msg00124.html
handle cases where number of consecutive hard regs needed to hold some mode > 1
correctly? IA32 needs 2 hard registers to hold long long and your patch
miscompiles the testcase in comment #4.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33669
^ permalink raw reply [flat|nested] 24+ messages in thread
* [Bug rtl-optimization/33669] [4.3 Regression] Revision 128957 miscompiles 481.wrf
2007-10-05 14:49 [Bug rtl-optimization/33669] New: [4.3 Regression] Revision 128957 miscompiles 481.wrf hjl at lucon dot org
` (5 preceding siblings ...)
2007-10-06 2:07 ` hjl at lucon dot org
@ 2007-10-06 2:31 ` hjl at lucon dot org
2007-10-06 4:12 ` zadeck at naturalbridge dot com
` (15 subsequent siblings)
22 siblings, 0 replies; 24+ messages in thread
From: hjl at lucon dot org @ 2007-10-06 2:31 UTC (permalink / raw)
To: gcc-bugs
------- Comment #6 from hjl at lucon dot org 2007-10-06 02:31 -------
A smaller testcase:
bash-3.2$ cat x.c
extern void abort (void);
typedef struct foo_t
{
unsigned int blksz;
unsigned int bf_cnt;
} foo_t;
#define _RNDUP(x, unit) ((((x) + (unit) - 1) / (unit)) * (unit))
#define _RNDDOWN(x, unit) ((x) - ((x)%(unit)))
long long
foo (foo_t *const pxp, long long offset, unsigned int extent)
{
long long blkoffset = _RNDDOWN(offset, (long long )pxp->blksz);
unsigned int diff = (unsigned int)(offset - blkoffset);
unsigned int blkextent = _RNDUP(diff + extent, pxp->blksz);
if (pxp->blksz < blkextent)
return -1LL;
if (pxp->bf_cnt > pxp->blksz)
pxp->bf_cnt = pxp->blksz;
return blkoffset;
}
int
main ()
{
foo_t x;
long long xx;
x.blksz = 8192;
x.bf_cnt = 0;
xx = foo (&x, 0, 4096);
if (xx != 0LL)
abort ();
return 0;
}
bash-3.2$ ./xgcc -B./ -m32 -O x.c
bash-3.2$ ./a.out
Aborted
bash-3.2$
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33669
^ permalink raw reply [flat|nested] 24+ messages in thread
* [Bug rtl-optimization/33669] [4.3 Regression] Revision 128957 miscompiles 481.wrf
2007-10-05 14:49 [Bug rtl-optimization/33669] New: [4.3 Regression] Revision 128957 miscompiles 481.wrf hjl at lucon dot org
` (6 preceding siblings ...)
2007-10-06 2:31 ` hjl at lucon dot org
@ 2007-10-06 4:12 ` zadeck at naturalbridge dot com
2007-10-06 16:17 ` hjl at lucon dot org
` (14 subsequent siblings)
22 siblings, 0 replies; 24+ messages in thread
From: zadeck at naturalbridge dot com @ 2007-10-06 4:12 UTC (permalink / raw)
To: gcc-bugs
------- Comment #7 from zadeck at naturalbridge dot com 2007-10-06 04:11 -------
Subject: Re: [4.3 Regression] Revision 128957
miscompiles 481.wrf
hjl at lucon dot org wrote:
> ------- Comment #5 from hjl at lucon dot org 2007-10-06 02:07 -------
> Kenny, does your patch
>
> http://gcc.gnu.org/ml/gcc-patches/2007-10/msg00124.html
>
> handle cases where number of consecutive hard regs needed to hold some mode > 1
> correctly? IA32 needs 2 hard registers to hold long long and your patch
> miscompiles the testcase in comment #4.
>
>
>
I will look into it. It should do this correctly.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33669
^ permalink raw reply [flat|nested] 24+ messages in thread
* [Bug rtl-optimization/33669] [4.3 Regression] Revision 128957 miscompiles 481.wrf
2007-10-05 14:49 [Bug rtl-optimization/33669] New: [4.3 Regression] Revision 128957 miscompiles 481.wrf hjl at lucon dot org
` (7 preceding siblings ...)
2007-10-06 4:12 ` zadeck at naturalbridge dot com
@ 2007-10-06 16:17 ` hjl at lucon dot org
2007-10-07 3:18 ` zadeck at naturalbridge dot com
` (13 subsequent siblings)
22 siblings, 0 replies; 24+ messages in thread
From: hjl at lucon dot org @ 2007-10-06 16:17 UTC (permalink / raw)
To: gcc-bugs
------- Comment #8 from hjl at lucon dot org 2007-10-06 16:16 -------
(In reply to comment #7)
> Subject: Re: [4.3 Regression] Revision 128957
> miscompiles 481.wrf
>
> hjl at lucon dot org wrote:
> > ------- Comment #5 from hjl at lucon dot org 2007-10-06 02:07 -------
> > Kenny, does your patch
> >
> > http://gcc.gnu.org/ml/gcc-patches/2007-10/msg00124.html
> >
> > handle cases where number of consecutive hard regs needed to hold some mode > 1
> > correctly? IA32 needs 2 hard registers to hold long long and your patch
> > miscompiles the testcase in comment #4.
> >
> >
> >
> I will look into it. It should do this correctly.
>
Can you take a look at
while (regno < last)
{
if ((!TEST_HARD_REG_BIT (hard_regs_live, regno))
&& (!TEST_HARD_REG_BIT (renumbers_live, regno))
&& ! fixed_regs[regno])
{
if (dump_file)
fprintf (dump_file, " dying hard reg %d\n",
regno);
if (renumbering)
SET_HARD_REG_BIT (renumbers_live, regno);
else
SET_HARD_REG_BIT (hard_regs_live, regno);
added = true;
}
regno++;
}
in global_conflicts? Should it also check live_subregs before marking
a hard register is dying?
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33669
^ permalink raw reply [flat|nested] 24+ messages in thread
* [Bug rtl-optimization/33669] [4.3 Regression] Revision 128957 miscompiles 481.wrf
2007-10-05 14:49 [Bug rtl-optimization/33669] New: [4.3 Regression] Revision 128957 miscompiles 481.wrf hjl at lucon dot org
` (8 preceding siblings ...)
2007-10-06 16:17 ` hjl at lucon dot org
@ 2007-10-07 3:18 ` zadeck at naturalbridge dot com
2007-10-07 9:41 ` steven at gcc dot gnu dot org
` (12 subsequent siblings)
22 siblings, 0 replies; 24+ messages in thread
From: zadeck at naturalbridge dot com @ 2007-10-07 3:18 UTC (permalink / raw)
To: gcc-bugs
------- Comment #9 from zadeck at naturalbridge dot com 2007-10-07 03:18 -------
Subject: Re: [4.3 Regression] Revision 128957
miscompiles 481.wrf
hj,
here is a fix. I will most likely post the patch on monday after i get
it really tested on a bunch of platforms. The fix is in the third
stanza, the rest is better logging.
The failure only happens if you have a block with 2 or more uses of a
multiword pseudo register that is local to this block and has been
allocated by local_alloc. The uses must be in a particular form: the
last use was a subreg use that only used some of the hard registers and
a previous non subreg use of the multiword register.
When all of this happens, the code did not properly expand this to a
whole multiregister when the second to last use is encounterd in the
backwards scan.
I.e. a lot of things have to happen to get this to fail.
Thanks for the small test case, that really helped.
Kenny
Index: ra-conflict.c
===================================================================
--- ra-conflict.c (revision 129036)
+++ ra-conflict.c (working copy)
@@ -76,7 +76,7 @@ record_one_conflict_between_regnos (enum
enum machine_mode mode2, int r2)
{
if (dump_file)
- fprintf (dump_file, " rocbr adding %d<=>%d\n", r1, r2);
+ fprintf (dump_file, " rocbr adding %d<=>%d\n", r1, r2);
if (reg_allocno[r1] >= 0 && reg_allocno[r2] >= 0)
{
int tr1 = reg_allocno[r1];
@@ -293,9 +293,6 @@ set_conflicts_for_earlyclobber (rtx insn
recog_data.operand[use + 1]);
}
}
-
- if (dump_file)
- fprintf (dump_file, " finished early clobber conflicts.\n");
}
@@ -876,7 +873,7 @@ global_conflicts (void)
allocnum, renumber);
}
- else if (GET_ALLOCNO_LIVE (allocnos_live, allocnum) == 0)
+ else
{
if (dump_file)
fprintf (dump_file, " dying pseudo\n");
@@ -963,6 +960,8 @@ global_conflicts (void)
FIXME: We should consider either adding a new kind of
clobber, or adding a flag to the clobber distinguish
these two cases. */
+ if (dump_file && VEC_length (df_ref_t, clobbers))
+ fprintf (dump_file, " clobber conflicts\n");
for (k = VEC_length (df_ref_t, clobbers) - 1; k >= 0; k--)
{
struct df_ref *def = VEC_index (df_ref_t, clobbers, k);
@@ -1024,6 +1023,8 @@ global_conflicts (void)
if (GET_CODE (PATTERN (insn)) == PARALLEL && multiple_sets
(insn))
{
int j;
+ if (dump_file)
+ fprintf (dump_file, " multiple sets\n");
for (j = VEC_length (df_ref_t, dying_regs) - 1; j >= 0; j--)
{
int used_in_output = 0;
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33669
^ permalink raw reply [flat|nested] 24+ messages in thread
* [Bug rtl-optimization/33669] [4.3 Regression] Revision 128957 miscompiles 481.wrf
2007-10-05 14:49 [Bug rtl-optimization/33669] New: [4.3 Regression] Revision 128957 miscompiles 481.wrf hjl at lucon dot org
` (9 preceding siblings ...)
2007-10-07 3:18 ` zadeck at naturalbridge dot com
@ 2007-10-07 9:41 ` steven at gcc dot gnu dot org
2007-10-07 11:36 ` zadeck at naturalbridge dot com
` (11 subsequent siblings)
22 siblings, 0 replies; 24+ messages in thread
From: steven at gcc dot gnu dot org @ 2007-10-07 9:41 UTC (permalink / raw)
To: gcc-bugs
--
steven at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Ever Confirmed|0 |1
Last reconfirmed|0000-00-00 00:00:00 |2007-10-07 09:41:07
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33669
^ permalink raw reply [flat|nested] 24+ messages in thread
* [Bug rtl-optimization/33669] [4.3 Regression] Revision 128957 miscompiles 481.wrf
2007-10-05 14:49 [Bug rtl-optimization/33669] New: [4.3 Regression] Revision 128957 miscompiles 481.wrf hjl at lucon dot org
` (10 preceding siblings ...)
2007-10-07 9:41 ` steven at gcc dot gnu dot org
@ 2007-10-07 11:36 ` zadeck at naturalbridge dot com
2007-10-07 21:57 ` zadeck at naturalbridge dot com
` (10 subsequent siblings)
22 siblings, 0 replies; 24+ messages in thread
From: zadeck at naturalbridge dot com @ 2007-10-07 11:36 UTC (permalink / raw)
To: gcc-bugs
--
zadeck at naturalbridge dot com changed:
What |Removed |Added
----------------------------------------------------------------------------
AssignedTo|unassigned at gcc dot gnu |zadeck at naturalbridge dot
|dot org |com
Status|NEW |ASSIGNED
GCC target triplet| |linux/ia32
Last reconfirmed|2007-10-07 09:41:07 |2007-10-07 11:36:14
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33669
^ permalink raw reply [flat|nested] 24+ messages in thread
* [Bug rtl-optimization/33669] [4.3 Regression] Revision 128957 miscompiles 481.wrf
2007-10-05 14:49 [Bug rtl-optimization/33669] New: [4.3 Regression] Revision 128957 miscompiles 481.wrf hjl at lucon dot org
` (11 preceding siblings ...)
2007-10-07 11:36 ` zadeck at naturalbridge dot com
@ 2007-10-07 21:57 ` zadeck at naturalbridge dot com
2007-10-08 3:53 ` zadeck at naturalbridge dot com
` (9 subsequent siblings)
22 siblings, 0 replies; 24+ messages in thread
From: zadeck at naturalbridge dot com @ 2007-10-07 21:57 UTC (permalink / raw)
To: gcc-bugs
------- Comment #10 from zadeck at naturalbridge dot com 2007-10-07 21:57 -------
Subject: Re: [4.3 Regression] Revision 128957
miscompiles 481.wrf
This patch fixes pr33669.
The failure only happens if you have a block with 2 or more uses of a
multiword pseudo register that is local to this block and has been
allocated by local_alloc. The uses must be in a particular form: the
last use must be a subreg use that only used some of the hard registers and
a previous non subreg use of the multiword register.
When all of this happens, the code did not properly expand this to a
whole multiregister when the second to last use is encountered in the
backwards scan.
I.e. a lot of things have to happen to get this to fail.
I have tested this patch on ia-64, x86-{64,32} and ppc-32.
Ok for commit?
Kenny
2007-10-07 Kenneth Zadeck <zadeck@naturalbridge.com>
PR middle-end/33669
* ra-conflict.c (record_one_conflict_between_regnos,
set_conflicts_for_earlyclobber, global_conflicts): Improved logging.
(global_conflicts): Removed incorrect check.
2007-10-07 Kenneth Zadeck <zadeck@naturalbridge.com>
PR middle-end/33669
* gcc.c-torture/execute/pr33669.c: New.
Index: ra-conflict.c
===================================================================
--- ra-conflict.c (revision 129053)
+++ ra-conflict.c (working copy)
@@ -196,7 +196,7 @@ record_one_conflict_between_regnos (enum
int allocno2 = reg_allocno[r2];
if (dump_file)
- fprintf (dump_file, " rocbr adding %d<=>%d\n", r1, r2);
+ fprintf (dump_file, " rocbr adding %d<=>%d\n", r1, r2);
if (allocno1 >= 0 && allocno2 >= 0)
set_conflict (allocno1, allocno2);
@@ -401,9 +401,6 @@ set_conflicts_for_earlyclobber (rtx insn
recog_data.operand[use +
1]);
}
}
-
- if (dump_file)
- fprintf (dump_file, " finished early clobber conflicts.\n");
}
@@ -984,7 +981,7 @@ global_conflicts (void)
allocnum, renumber);
}
- else if (!sparseset_bit_p (allocnos_live, allocnum))
+ else
{
if (dump_file)
fprintf (dump_file, " dying pseudo\n");
@@ -1071,6 +1068,8 @@ global_conflicts (void)
FIXME: We should consider either adding a new kind of
clobber, or adding a flag to the clobber distinguish
these two cases. */
+ if (dump_file && VEC_length (df_ref_t, clobbers))
+ fprintf (dump_file, " clobber conflicts\n");
for (k = VEC_length (df_ref_t, clobbers) - 1; k >= 0; k--)
{
struct df_ref *def = VEC_index (df_ref_t, clobbers, k);
@@ -1132,6 +1131,8 @@ global_conflicts (void)
if (GET_CODE (PATTERN (insn)) == PARALLEL && multiple_sets
(insn))
{
int j;
+ if (dump_file)
+ fprintf (dump_file, " multiple sets\n");
for (j = VEC_length (df_ref_t, dying_regs) - 1; j >= 0; j--)
{
int used_in_output = 0;
Index: testsuite/gcc.c-torture/execute/pr33669.c
===================================================================
--- testsuite/gcc.c-torture/execute/pr33669.c (revision 0)
+++ testsuite/gcc.c-torture/execute/pr33669.c (revision 0)
@@ -0,0 +1,40 @@
+extern void abort (void);
+
+typedef struct foo_t
+{
+ unsigned int blksz;
+ unsigned int bf_cnt;
+} foo_t;
+
+#define _RNDUP(x, unit) ((((x) + (unit) - 1) / (unit)) * (unit))
+#define _RNDDOWN(x, unit) ((x) - ((x)%(unit)))
+
+long long
+foo (foo_t *const pxp, long long offset, unsigned int extent)
+{
+ long long blkoffset = _RNDDOWN(offset, (long long )pxp->blksz);
+ unsigned int diff = (unsigned int)(offset - blkoffset);
+ unsigned int blkextent = _RNDUP(diff + extent, pxp->blksz);
+
+ if (pxp->blksz < blkextent)
+ return -1LL;
+
+ if (pxp->bf_cnt > pxp->blksz)
+ pxp->bf_cnt = pxp->blksz;
+
+ return blkoffset;
+}
+
+int
+main ()
+{
+ foo_t x;
+ long long xx;
+
+ x.blksz = 8192;
+ x.bf_cnt = 0;
+ xx = foo (&x, 0, 4096);
+ if (xx != 0LL)
+ abort ();
+ return 0;
+}
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33669
^ permalink raw reply [flat|nested] 24+ messages in thread
* [Bug rtl-optimization/33669] [4.3 Regression] Revision 128957 miscompiles 481.wrf
2007-10-05 14:49 [Bug rtl-optimization/33669] New: [4.3 Regression] Revision 128957 miscompiles 481.wrf hjl at lucon dot org
` (12 preceding siblings ...)
2007-10-07 21:57 ` zadeck at naturalbridge dot com
@ 2007-10-08 3:53 ` zadeck at naturalbridge dot com
2007-10-08 20:18 ` seongbae dot park at gmail dot com
` (8 subsequent siblings)
22 siblings, 0 replies; 24+ messages in thread
From: zadeck at naturalbridge dot com @ 2007-10-08 3:53 UTC (permalink / raw)
To: gcc-bugs
------- Comment #11 from zadeck at naturalbridge dot com 2007-10-08 03:53 -------
*** Bug 33662 has been marked as a duplicate of this bug. ***
--
zadeck at naturalbridge dot com changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |kkojima at gcc dot gnu dot
| |org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33669
^ permalink raw reply [flat|nested] 24+ messages in thread
* [Bug rtl-optimization/33669] [4.3 Regression] Revision 128957 miscompiles 481.wrf
2007-10-05 14:49 [Bug rtl-optimization/33669] New: [4.3 Regression] Revision 128957 miscompiles 481.wrf hjl at lucon dot org
` (13 preceding siblings ...)
2007-10-08 3:53 ` zadeck at naturalbridge dot com
@ 2007-10-08 20:18 ` seongbae dot park at gmail dot com
2007-10-09 14:00 ` hjl at gcc dot gnu dot org
` (7 subsequent siblings)
22 siblings, 0 replies; 24+ messages in thread
From: seongbae dot park at gmail dot com @ 2007-10-08 20:18 UTC (permalink / raw)
To: gcc-bugs
------- Comment #12 from seongbae dot park at gmail dot com 2007-10-08 20:18 -------
Subject: Re: [4.3 Regression] Revision 128957 miscompiles 481.wrf
Please remove the extra blank line above the line 984 (in new file).
This patch is OK.
Seongbae
On 10/7/07, Kenneth Zadeck <zadeck@naturalbridge.com> wrote:
> This patch fixes pr33669.
>
> The failure only happens if you have a block with 2 or more uses of a
> multiword pseudo register that is local to this block and has been
> allocated by local_alloc. The uses must be in a particular form: the
> last use must be a subreg use that only used some of the hard registers and
> a previous non subreg use of the multiword register.
>
> When all of this happens, the code did not properly expand this to a
> whole multiregister when the second to last use is encountered in the
> backwards scan.
>
> I.e. a lot of things have to happen to get this to fail.
>
> I have tested this patch on ia-64, x86-{64,32} and ppc-32.
>
> Ok for commit?
>
> Kenny
>
> 2007-10-07 Kenneth Zadeck <zadeck@naturalbridge.com>
>
> PR middle-end/33669
> * ra-conflict.c (record_one_conflict_between_regnos,
> set_conflicts_for_earlyclobber, global_conflicts): Improved logging.
> (global_conflicts): Removed incorrect check.
>
> 2007-10-07 Kenneth Zadeck <zadeck@naturalbridge.com>
>
> PR middle-end/33669
> * gcc.c-torture/execute/pr33669.c: New.
>
>
>
>
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33669
^ permalink raw reply [flat|nested] 24+ messages in thread
* [Bug rtl-optimization/33669] [4.3 Regression] Revision 128957 miscompiles 481.wrf
2007-10-05 14:49 [Bug rtl-optimization/33669] New: [4.3 Regression] Revision 128957 miscompiles 481.wrf hjl at lucon dot org
` (14 preceding siblings ...)
2007-10-08 20:18 ` seongbae dot park at gmail dot com
@ 2007-10-09 14:00 ` hjl at gcc dot gnu dot org
2007-10-09 15:33 ` zadeck at naturalbridge dot com
` (6 subsequent siblings)
22 siblings, 0 replies; 24+ messages in thread
From: hjl at gcc dot gnu dot org @ 2007-10-09 14:00 UTC (permalink / raw)
To: gcc-bugs
------- Comment #13 from hjl at gcc dot gnu dot org 2007-10-09 14:00 -------
Subject: Bug 33669
Author: hjl
Date: Tue Oct 9 14:00:11 2007
New Revision: 129166
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=129166
Log:
gcc/
2007-10-09 Kenneth Zadeck <zadeck@naturalbridge.com>
PR middle-end/33669
* ra-conflict.c (record_one_conflict_between_regnos,
set_conflicts_for_earlyclobber, global_conflicts): Improved
logging.
(global_conflicts): Removed incorrect check.
gcc/testsuite/
2007-10-09 Kenneth Zadeck <zadeck@naturalbridge.com>
PR middle-end/33669
* gcc.c-torture/execute/pr33669.c: New.
Added:
trunk/gcc/testsuite/gcc.c-torture/execute/pr33669.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/ra-conflict.c
trunk/gcc/testsuite/ChangeLog
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33669
^ permalink raw reply [flat|nested] 24+ messages in thread
* [Bug rtl-optimization/33669] [4.3 Regression] Revision 128957 miscompiles 481.wrf
2007-10-05 14:49 [Bug rtl-optimization/33669] New: [4.3 Regression] Revision 128957 miscompiles 481.wrf hjl at lucon dot org
` (15 preceding siblings ...)
2007-10-09 14:00 ` hjl at gcc dot gnu dot org
@ 2007-10-09 15:33 ` zadeck at naturalbridge dot com
2007-10-09 15:41 ` zadeck at naturalbridge dot com
` (5 subsequent siblings)
22 siblings, 0 replies; 24+ messages in thread
From: zadeck at naturalbridge dot com @ 2007-10-09 15:33 UTC (permalink / raw)
To: gcc-bugs
------- Comment #14 from zadeck at naturalbridge dot com 2007-10-09 15:32 -------
Subject: Re: [4.3 Regression] Revision 128957
miscompiles 481.wrf
hjl at gcc dot gnu dot org wrote:
> ------- Comment #13 from hjl at gcc dot gnu dot org 2007-10-09 14:00 -------
> Subject: Bug 33669
>
> Author: hjl
> Date: Tue Oct 9 14:00:11 2007
> New Revision: 129166
>
> URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=129166
> Log:
> gcc/
>
> 2007-10-09 Kenneth Zadeck <zadeck@naturalbridge.com>
>
> PR middle-end/33669
> * ra-conflict.c (record_one_conflict_between_regnos,
> set_conflicts_for_earlyclobber, global_conflicts): Improved
> logging.
> (global_conflicts): Removed incorrect check.
>
> gcc/testsuite/
>
> 2007-10-09 Kenneth Zadeck <zadeck@naturalbridge.com>
>
> PR middle-end/33669
> * gcc.c-torture/execute/pr33669.c: New.
>
> Added:
> trunk/gcc/testsuite/gcc.c-torture/execute/pr33669.c
> Modified:
> trunk/gcc/ChangeLog
> trunk/gcc/ra-conflict.c
> trunk/gcc/testsuite/ChangeLog
>
>
>
please back this out. i have a different patch that i have finished
testing. this one is too conservative.
kenny
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33669
^ permalink raw reply [flat|nested] 24+ messages in thread
* [Bug rtl-optimization/33669] [4.3 Regression] Revision 128957 miscompiles 481.wrf
2007-10-05 14:49 [Bug rtl-optimization/33669] New: [4.3 Regression] Revision 128957 miscompiles 481.wrf hjl at lucon dot org
` (16 preceding siblings ...)
2007-10-09 15:33 ` zadeck at naturalbridge dot com
@ 2007-10-09 15:41 ` zadeck at naturalbridge dot com
2007-10-09 16:19 ` hjl at lucon dot org
` (4 subsequent siblings)
22 siblings, 0 replies; 24+ messages in thread
From: zadeck at naturalbridge dot com @ 2007-10-09 15:41 UTC (permalink / raw)
To: gcc-bugs
------- Comment #15 from zadeck at naturalbridge dot com 2007-10-09 15:41 -------
Subject: Re: [4.3 Regression] Revision 128957
miscompiles 481.wrf
This patch fixes the problem in a slightly different way. The other
patch was too conservative in that it ended up setting the added flag
too often what has some downstream quality issues.
I just finished testing this on x86-64, x86-32, ppc-32 and ia-64
kenny
2007-10-07 Kenneth Zadeck <zadeck@naturalbridge.com>
PR middle-end/33669
* ra-conflict.c (record_one_conflict_between_regnos,
set_conflicts_for_earlyclobber, global_conflicts): Improved logging.
(global_conflicts): Removed incorrect check.
2007-10-07 Kenneth Zadeck <zadeck@naturalbridge.com>
PR middle-end/33669
* gcc.c-torture/execute/pr33669.c: New.
Index: ra-conflict.c
===================================================================
--- ra-conflict.c (revision 129053)
+++ ra-conflict.c (working copy)
@@ -196,7 +196,7 @@ record_one_conflict_between_regnos (enum
int allocno2 = reg_allocno[r2];
if (dump_file)
- fprintf (dump_file, " rocbr adding %d<=>%d\n", r1, r2);
+ fprintf (dump_file, " rocbr adding %d<=>%d\n", r1, r2);
if (allocno1 >= 0 && allocno2 >= 0)
set_conflict (allocno1, allocno2);
@@ -401,9 +401,6 @@ set_conflicts_for_earlyclobber (rtx insn
recog_data.operand[use +
1]);
}
}
-
- if (dump_file)
- fprintf (dump_file, " finished early clobber conflicts.\n");
}
@@ -983,12 +980,12 @@ global_conflicts (void)
set_renumbers_live (&renumbers_live, live_subregs,
live_subregs_used,
allocnum, renumber);
}
-
- else if (!sparseset_bit_p (allocnos_live, allocnum))
+ else if (live_subregs_used[allocnum] > 0
+ || !sparseset_bit_p (allocnos_live, allocnum))
{
if (dump_file)
- fprintf (dump_file, " dying pseudo\n");
-
+ fprintf (dump_file, " %sdying pseudo\n",
+ (live_subregs_used[allocnum] > 0) ? "partially
": "");
/* Resetting the live_subregs_used is
effectively saying do not use the subregs
because we are reading the whole pseudo. */
@@ -1071,6 +1068,8 @@ global_conflicts (void)
FIXME: We should consider either adding a new kind of
clobber, or adding a flag to the clobber distinguish
these two cases. */
+ if (dump_file && VEC_length (df_ref_t, clobbers))
+ fprintf (dump_file, " clobber conflicts\n");
for (k = VEC_length (df_ref_t, clobbers) - 1; k >= 0; k--)
{
struct df_ref *def = VEC_index (df_ref_t, clobbers, k);
@@ -1132,6 +1131,8 @@ global_conflicts (void)
if (GET_CODE (PATTERN (insn)) == PARALLEL && multiple_sets
(insn))
{
int j;
+ if (dump_file)
+ fprintf (dump_file, " multiple sets\n");
for (j = VEC_length (df_ref_t, dying_regs) - 1; j >= 0; j--)
{
int used_in_output = 0;
@@ -1166,7 +1167,7 @@ global_conflicts (void)
}
}
- /* Add the renumbers live to the hard_regs_live for the next few
+ /* Add the renumbers live to the hard_regs_live for the next few
calls. All of this gets recomputed at the top of the loop so
there is no harm. */
IOR_HARD_REG_SET (hard_regs_live, renumbers_live);
Index: testsuite/gcc.c-torture/execute/pr33669.c
===================================================================
--- testsuite/gcc.c-torture/execute/pr33669.c (revision 0)
+++ testsuite/gcc.c-torture/execute/pr33669.c (revision 0)
@@ -0,0 +1,40 @@
+extern void abort (void);
+
+typedef struct foo_t
+{
+ unsigned int blksz;
+ unsigned int bf_cnt;
+} foo_t;
+
+#define _RNDUP(x, unit) ((((x) + (unit) - 1) / (unit)) * (unit))
+#define _RNDDOWN(x, unit) ((x) - ((x)%(unit)))
+
+long long
+foo (foo_t *const pxp, long long offset, unsigned int extent)
+{
+ long long blkoffset = _RNDDOWN(offset, (long long )pxp->blksz);
+ unsigned int diff = (unsigned int)(offset - blkoffset);
+ unsigned int blkextent = _RNDUP(diff + extent, pxp->blksz);
+
+ if (pxp->blksz < blkextent)
+ return -1LL;
+
+ if (pxp->bf_cnt > pxp->blksz)
+ pxp->bf_cnt = pxp->blksz;
+
+ return blkoffset;
+}
+
+int
+main ()
+{
+ foo_t x;
+ long long xx;
+
+ x.blksz = 8192;
+ x.bf_cnt = 0;
+ xx = foo (&x, 0, 4096);
+ if (xx != 0LL)
+ abort ();
+ return 0;
+}
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33669
^ permalink raw reply [flat|nested] 24+ messages in thread
* [Bug rtl-optimization/33669] [4.3 Regression] Revision 128957 miscompiles 481.wrf
2007-10-05 14:49 [Bug rtl-optimization/33669] New: [4.3 Regression] Revision 128957 miscompiles 481.wrf hjl at lucon dot org
` (17 preceding siblings ...)
2007-10-09 15:41 ` zadeck at naturalbridge dot com
@ 2007-10-09 16:19 ` hjl at lucon dot org
2007-10-10 3:33 ` zadeck at gcc dot gnu dot org
` (3 subsequent siblings)
22 siblings, 0 replies; 24+ messages in thread
From: hjl at lucon dot org @ 2007-10-09 16:19 UTC (permalink / raw)
To: gcc-bugs
------- Comment #16 from hjl at lucon dot org 2007-10-09 16:19 -------
(In reply to comment #14)
> Subject: Re: [4.3 Regression] Revision 128957
> miscompiles 481.wrf
>
>
> please back this out. i have a different patch that i have finished
> testing. this one is too conservative.
>
I backed out the change to ra-conflict.c.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33669
^ permalink raw reply [flat|nested] 24+ messages in thread
* [Bug rtl-optimization/33669] [4.3 Regression] Revision 128957 miscompiles 481.wrf
2007-10-05 14:49 [Bug rtl-optimization/33669] New: [4.3 Regression] Revision 128957 miscompiles 481.wrf hjl at lucon dot org
` (18 preceding siblings ...)
2007-10-09 16:19 ` hjl at lucon dot org
@ 2007-10-10 3:33 ` zadeck at gcc dot gnu dot org
2007-10-10 3:40 ` zadeck at naturalbridge dot com
` (2 subsequent siblings)
22 siblings, 0 replies; 24+ messages in thread
From: zadeck at gcc dot gnu dot org @ 2007-10-10 3:33 UTC (permalink / raw)
To: gcc-bugs
------- Comment #17 from zadeck at gcc dot gnu dot org 2007-10-10 03:32 -------
Subject: Bug 33669
Author: zadeck
Date: Wed Oct 10 03:32:43 2007
New Revision: 129193
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=129193
Log:
2007-10-07 Kenneth Zadeck <zadeck@naturalbridge.com>
PR middle-end/33669
* ra-conflict.c (record_one_conflict_between_regnos,
set_conflicts_for_earlyclobber, global_conflicts): Improved logging.
(global_conflicts): Enhanced incorrect check.
Modified:
trunk/gcc/ChangeLog
trunk/gcc/ra-conflict.c
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33669
^ permalink raw reply [flat|nested] 24+ messages in thread
* [Bug rtl-optimization/33669] [4.3 Regression] Revision 128957 miscompiles 481.wrf
2007-10-05 14:49 [Bug rtl-optimization/33669] New: [4.3 Regression] Revision 128957 miscompiles 481.wrf hjl at lucon dot org
` (19 preceding siblings ...)
2007-10-10 3:33 ` zadeck at gcc dot gnu dot org
@ 2007-10-10 3:40 ` zadeck at naturalbridge dot com
2007-10-10 3:41 ` zadeck at naturalbridge dot com
2007-10-10 3:47 ` hjl at lucon dot org
22 siblings, 0 replies; 24+ messages in thread
From: zadeck at naturalbridge dot com @ 2007-10-10 3:40 UTC (permalink / raw)
To: gcc-bugs
------- Comment #18 from zadeck at naturalbridge dot com 2007-10-10 03:39 -------
Subject: Re: [4.3 Regression] Revision 128957
miscompiles 481.wrf
HJ,
Sorry about the committing snafu. I should have posted the irc log of
seonbae's comments to the log for the bug. Also I had a meeting in the
city tonight, so there was not time to commit it between when seonbae
gave the final approval and when i had to catch my train.
I have committed the corrected patch as revision 129193. It looks like
you had left the testcase when you reverted so there is no test case in
this patch.
This patch was tested on ia-64, ppc-32, xa6-{64,32}.
Kenny
> This patch fixes pr33669 <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33669>.
>
> The failure only happens if you have a block with 2 or more uses of a
> multiword pseudo register that is local to this block and has been
> allocated by local_alloc. The uses must be in a particular form: the
> last use must be a subreg use that only used some of the hard registers and
> a previous non subreg use of the multiword register.
>
> When all of this happens, the code did not properly expand this to a
> whole multiregister when the second to last use is encountered in the
> backwards scan.
>
> I.e. a lot of things have to happen to get this to fail.
>
> I have tested this patch on ia-64, x86-{64,32} and ppc-32.
>
2007-10-07 Kenneth Zadeck <zadeck@naturalbridge.com>
PR middle-end/33669
* ra-conflict.c (record_one_conflict_between_regnos,
set_conflicts_for_earlyclobber, global_conflicts): Improved logging.
(global_conflicts): Enhanced incorrect check.
Index: ra-conflict.c
===================================================================
--- ra-conflict.c (revision 129192)
+++ ra-conflict.c (working copy)
@@ -196,7 +196,7 @@ record_one_conflict_between_regnos (enum
int allocno2 = reg_allocno[r2];
if (dump_file)
- fprintf (dump_file, " rocbr adding %d<=>%d\n", r1, r2);
+ fprintf (dump_file, " rocbr adding %d<=>%d\n", r1, r2);
if (allocno1 >= 0 && allocno2 >= 0)
set_conflict (allocno1, allocno2);
@@ -401,9 +401,6 @@ set_conflicts_for_earlyclobber (rtx insn
recog_data.operand[use +
1]);
}
}
-
- if (dump_file)
- fprintf (dump_file, " finished early clobber conflicts.\n");
}
@@ -983,12 +980,12 @@ global_conflicts (void)
set_renumbers_live (&renumbers_live, live_subregs,
live_subregs_used,
allocnum, renumber);
}
-
- else if (!sparseset_bit_p (allocnos_live, allocnum))
+ else if (live_subregs_used[allocnum] > 0
+ || !sparseset_bit_p (allocnos_live, allocnum))
{
if (dump_file)
- fprintf (dump_file, " dying pseudo\n");
-
+ fprintf (dump_file, " %sdying pseudo\n",
+ (live_subregs_used[allocnum] > 0) ? "partially
": "");
/* Resetting the live_subregs_used is
effectively saying do not use the subregs
because we are reading the whole pseudo. */
@@ -1071,6 +1068,8 @@ global_conflicts (void)
FIXME: We should consider either adding a new kind of
clobber, or adding a flag to the clobber distinguish
these two cases. */
+ if (dump_file && VEC_length (df_ref_t, clobbers))
+ fprintf (dump_file, " clobber conflicts\n");
for (k = VEC_length (df_ref_t, clobbers) - 1; k >= 0; k--)
{
struct df_ref *def = VEC_index (df_ref_t, clobbers, k);
@@ -1132,6 +1131,8 @@ global_conflicts (void)
if (GET_CODE (PATTERN (insn)) == PARALLEL && multiple_sets
(insn))
{
int j;
+ if (dump_file)
+ fprintf (dump_file, " multiple sets\n");
for (j = VEC_length (df_ref_t, dying_regs) - 1; j >= 0; j--)
{
int used_in_output = 0;
@@ -1166,7 +1167,7 @@ global_conflicts (void)
}
}
- /* Add the renumbers live to the hard_regs_live for the next few
+ /* Add the renumbers live to the hard_regs_live for the next few
calls. All of this gets recomputed at the top of the loop so
there is no harm. */
IOR_HARD_REG_SET (hard_regs_live, renumbers_live);
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33669
^ permalink raw reply [flat|nested] 24+ messages in thread
* [Bug rtl-optimization/33669] [4.3 Regression] Revision 128957 miscompiles 481.wrf
2007-10-05 14:49 [Bug rtl-optimization/33669] New: [4.3 Regression] Revision 128957 miscompiles 481.wrf hjl at lucon dot org
` (20 preceding siblings ...)
2007-10-10 3:40 ` zadeck at naturalbridge dot com
@ 2007-10-10 3:41 ` zadeck at naturalbridge dot com
2007-10-10 3:47 ` hjl at lucon dot org
22 siblings, 0 replies; 24+ messages in thread
From: zadeck at naturalbridge dot com @ 2007-10-10 3:41 UTC (permalink / raw)
To: gcc-bugs
------- Comment #19 from zadeck at naturalbridge dot com 2007-10-10 03:41 -------
patch committed to fix this.
--
zadeck at naturalbridge dot com changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |RESOLVED
Resolution| |FIXED
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33669
^ permalink raw reply [flat|nested] 24+ messages in thread
* [Bug rtl-optimization/33669] [4.3 Regression] Revision 128957 miscompiles 481.wrf
2007-10-05 14:49 [Bug rtl-optimization/33669] New: [4.3 Regression] Revision 128957 miscompiles 481.wrf hjl at lucon dot org
` (21 preceding siblings ...)
2007-10-10 3:41 ` zadeck at naturalbridge dot com
@ 2007-10-10 3:47 ` hjl at lucon dot org
22 siblings, 0 replies; 24+ messages in thread
From: hjl at lucon dot org @ 2007-10-10 3:47 UTC (permalink / raw)
To: gcc-bugs
------- Comment #20 from hjl at lucon dot org 2007-10-10 03:47 -------
Subject: Re: [4.3 Regression] Revision 128957
miscompiles 481.wrf
On Tue, Oct 09, 2007 at 11:39:48PM -0400, Kenneth Zadeck wrote:
> HJ,
>
> Sorry about the committing snafu. I should have posted the irc log of
> seonbae's comments to the log for the bug. Also I had a meeting in the
> city tonight, so there was not time to commit it between when seonbae
> gave the final approval and when i had to catch my train.
>
> I have committed the corrected patch as revision 129193. It looks like
> you had left the testcase when you reverted so there is no test case in
> this patch.
>
> This patch was tested on ia-64, ppc-32, xa6-{64,32}.
>
Does it also fix
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33676
which is caused by the same patch, revision 128957?
Thanks.
H.J.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33669
^ permalink raw reply [flat|nested] 24+ messages in thread
end of thread, other threads:[~2007-10-10 3:47 UTC | newest]
Thread overview: 24+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-10-05 14:49 [Bug rtl-optimization/33669] New: [4.3 Regression] Revision 128957 miscompiles 481.wrf hjl at lucon dot org
2007-10-05 15:00 ` [Bug rtl-optimization/33669] " rguenth at gcc dot gnu dot org
2007-10-05 21:17 ` hjl at lucon dot org
2007-10-05 21:49 ` hjl at lucon dot org
2007-10-05 21:52 ` hjl at lucon dot org
2007-10-05 23:14 ` hjl at lucon dot org
2007-10-06 2:07 ` hjl at lucon dot org
2007-10-06 2:31 ` hjl at lucon dot org
2007-10-06 4:12 ` zadeck at naturalbridge dot com
2007-10-06 16:17 ` hjl at lucon dot org
2007-10-07 3:18 ` zadeck at naturalbridge dot com
2007-10-07 9:41 ` steven at gcc dot gnu dot org
2007-10-07 11:36 ` zadeck at naturalbridge dot com
2007-10-07 21:57 ` zadeck at naturalbridge dot com
2007-10-08 3:53 ` zadeck at naturalbridge dot com
2007-10-08 20:18 ` seongbae dot park at gmail dot com
2007-10-09 14:00 ` hjl at gcc dot gnu dot org
2007-10-09 15:33 ` zadeck at naturalbridge dot com
2007-10-09 15:41 ` zadeck at naturalbridge dot com
2007-10-09 16:19 ` hjl at lucon dot org
2007-10-10 3:33 ` zadeck at gcc dot gnu dot org
2007-10-10 3:40 ` zadeck at naturalbridge dot com
2007-10-10 3:41 ` zadeck at naturalbridge dot com
2007-10-10 3:47 ` hjl at lucon dot org
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).