--
pinskia at gcc dot gnu dot org changed:
What|Removed |Added
Keywords||wrong-code
Summary|loop-invariant miscompiles |[4.2 Regre
--- Comment #1 from pinskia at gcc dot gnu dot org 2006-02-16 12:50 ---
Confirmed but it might be that the memory load is not marked as being able to
trap so move invariants is moving it above the loop.
--
pinskia at gcc dot gnu dot org changed:
What|Removed
--- Comment #2 from jakub at gcc dot gnu dot org 2006-02-16 12:57 ---
It doesn't need to be marked as trapping.
If you have
if (idx <= 20)
val = p[idx];
you certainly can't change this into:
tmp = p[idx];
if (idx <= 20)
val = tmp;
except if tmp = p[idx]; is speculative load
--- Comment #3 from rakdver at atrey dot karlin dot mff dot cuni dot cz
2006-02-16 12:59 ---
Subject: Re: [4.2 Regression] loop-invariant miscompiles openmp.c
> It doesn't need to be marked as trapping.
> If you have
> if (idx <= 20)
> val = p[idx];
> you certainly can't change
--- Comment #4 from jakub at gcc dot gnu dot org 2006-02-16 13:11 ---
The MEM is marked as MEM_NOTRAP_P, by do_tablejump -> gen_const_mem.
Still, IMHO you can't do that, otherwise we couldn't mark any MEM
as MEM_NOTRAP_P unless it has constant operand. If a particular array
will not tra
--- Comment #5 from pinskia at gcc dot gnu dot org 2006-02-16 13:35 ---
(In reply to comment #4)
> The MEM is marked as MEM_NOTRAP_P, by do_tablejump -> gen_const_mem.
> Still, IMHO you can't do that, otherwise we couldn't mark any MEM
> as MEM_NOTRAP_P unless it has constant operand. I
--- Comment #6 from rakdver at gcc dot gnu dot org 2006-02-16 13:38 ---
Sadly, Jakub is probably right -- since the very beginning, MEM_NOTRAP_P was
used to mean that the mem cannot trap in its current context. This makes
MEM_NOTRAP_P completely useless as far as code motion is concerne
--- Comment #7 from pinskia at gcc dot gnu dot org 2006-02-16 13:42 ---
http://gcc.gnu.org/ml/gcc/2005-09/msg00021.html
There are most likely other talk here too.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26316
--- Comment #8 from pinskia at gcc dot gnu dot org 2006-02-16 13:47 ---
/* Generate a memory referring to non-trapping constant memory. */
Which might mean that do_tablejump is using it wrong.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26316
--- Comment #9 from rakdver at gcc dot gnu dot org 2006-02-16 13:53 ---
Given that do_tablejump was the very first setter of MEM_NOTRAP_P, it is not
likely that it would be the wrong one (unless all other setters that came later
chose the other possible semantics).
--
http://gcc.gnu
--- Comment #10 from pinskia at gcc dot gnu dot org 2006-02-16 13:54
---
The NOTRAP was added when PR 8866 was fixed.
--
pinskia at gcc dot gnu dot org changed:
What|Removed |Added
--
--- Comment #11 from pinskia at gcc dot gnu dot org 2006-02-16 13:57
---
Thread for the PR 8866 fix:
http://gcc.gnu.org/ml/gcc-patches/2003-04/msg01438.html
Though I am wondering why do people think it could not trap because it can if
it was moved. Seems like NoTrap is useless in gene
--- Comment #12 from jakub at gcc dot gnu dot org 2006-02-16 21:31 ---
Subject: Bug 26316
Author: jakub
Date: Thu Feb 16 21:31:20 2006
New Revision: 52
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=52
Log:
* openmp.c (resolve_omp_clauses): Add a dummy case label
--
rakdver at gcc dot gnu dot org changed:
What|Removed |Added
AssignedTo|unassigned at gcc dot gnu |rakdver at gcc dot gnu dot
|dot org
--- Comment #13 from rakdver at gcc dot gnu dot org 2006-02-17 18:38
---
Patch:
http://gcc.gnu.org/ml/gcc-patches/2006-02/msg01461.html
--
rakdver at gcc dot gnu dot org changed:
What|Removed |Added
---
--- Comment #14 from rakdver at gcc dot gnu dot org 2006-02-23 21:03
---
Subject: Bug 26316
Author: rakdver
Date: Thu Feb 23 21:03:05 2006
New Revision: 111397
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=111397
Log:
PR rtl-optimization/26316
* rtlanal.c (enum
--- Comment #15 from pinskia at gcc dot gnu dot org 2006-02-24 15:20
---
Fixed.
--
pinskia at gcc dot gnu dot org changed:
What|Removed |Added
Status|ASSIGNE
--- Comment #16 from reichelt at gcc dot gnu dot org 2006-02-28 14:40
---
Jakub,
are you going to revert your patch
* openmp.c (resolve_omp_clauses): Add a dummy case label to workaround
PR middle-end/26316.
now that the PR got fixed properly?
--
http://gcc.gnu.o
18 matches
Mail list logo