* [Bug tree-optimization/34244] [4.3 Regression] VRP/SCEV miscompiles Firefox
2007-11-27 11:12 [Bug tree-optimization/34244] New: [4.3 Regression] VRP/SCEV miscompiles Firefox rguenth at gcc dot gnu dot org
@ 2007-11-27 11:30 ` rguenth at gcc dot gnu dot org
2007-11-27 12:04 ` pinskia at gcc dot gnu dot org
` (15 subsequent siblings)
16 siblings, 0 replies; 18+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2007-11-27 11:30 UTC (permalink / raw)
To: gcc-bugs
------- Comment #1 from rguenth at gcc dot gnu dot org 2007-11-27 11:30 -------
Runtime testcase:
int __attribute__((noinline)) GetParent(void)
{
static int count = 0;
count++;
switch (count)
{
case 1:
case 3:
case 4:
return 1;
default:
return 0;
}
}
int __attribute__((noinline)) FindCommonAncestor(int aNode1, int aNode2)
{
if (aNode1 && aNode2) {
int offset = 0;
int anc1 = aNode1;
for (;;) {
++offset;
int parent = GetParent();
if (!parent)
break;
anc1 = parent;
}
int anc2 = aNode2;
for (;;) {
--offset;
int parent = GetParent();
if (!parent)
break;
anc2 = parent;
}
if (anc1 == anc2) {
anc1 = aNode1;
anc2 = aNode2;
while (offset > 0) {
anc1 = GetParent();
--offset;
}
while (offset < 0) {
anc2 = GetParent();
++offset;
}
while (anc1 != anc2) {
anc1 = GetParent();
anc2 = GetParent();
}
return anc1;
}
}
return 0;
}
extern void abort (void);
int main()
{
if (FindCommonAncestor (1, 1) != 0)
abort ();
return 0;
}
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34244
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Bug tree-optimization/34244] [4.3 Regression] VRP/SCEV miscompiles Firefox
2007-11-27 11:12 [Bug tree-optimization/34244] New: [4.3 Regression] VRP/SCEV miscompiles Firefox rguenth at gcc dot gnu dot org
2007-11-27 11:30 ` [Bug tree-optimization/34244] " rguenth at gcc dot gnu dot org
@ 2007-11-27 12:04 ` pinskia at gcc dot gnu dot org
2007-11-27 13:57 ` rakdver at gcc dot gnu dot org
` (14 subsequent siblings)
16 siblings, 0 replies; 18+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2007-11-27 12:04 UTC (permalink / raw)
To: gcc-bugs
--
pinskia at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |pinskia at gcc dot gnu dot
| |org
Target Milestone|--- |4.3.0
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34244
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Bug tree-optimization/34244] [4.3 Regression] VRP/SCEV miscompiles Firefox
2007-11-27 11:12 [Bug tree-optimization/34244] New: [4.3 Regression] VRP/SCEV miscompiles Firefox rguenth at gcc dot gnu dot org
2007-11-27 11:30 ` [Bug tree-optimization/34244] " rguenth at gcc dot gnu dot org
2007-11-27 12:04 ` pinskia at gcc dot gnu dot org
@ 2007-11-27 13:57 ` rakdver at gcc dot gnu dot org
2007-11-27 14:04 ` rguenther at suse dot de
` (13 subsequent siblings)
16 siblings, 0 replies; 18+ messages in thread
From: rakdver at gcc dot gnu dot org @ 2007-11-27 13:57 UTC (permalink / raw)
To: gcc-bugs
------- Comment #2 from rakdver at gcc dot gnu dot org 2007-11-27 13:57 -------
I will have a look. What target is this on, and what flags are used for
compilation?
--
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 |org
Status|UNCONFIRMED |ASSIGNED
Ever Confirmed|0 |1
Last reconfirmed|0000-00-00 00:00:00 |2007-11-27 13:57:41
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34244
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Bug tree-optimization/34244] [4.3 Regression] VRP/SCEV miscompiles Firefox
2007-11-27 11:12 [Bug tree-optimization/34244] New: [4.3 Regression] VRP/SCEV miscompiles Firefox rguenth at gcc dot gnu dot org
` (2 preceding siblings ...)
2007-11-27 13:57 ` rakdver at gcc dot gnu dot org
@ 2007-11-27 14:04 ` rguenther at suse dot de
2007-11-27 16:48 ` rakdver at gcc dot gnu dot org
` (12 subsequent siblings)
16 siblings, 0 replies; 18+ messages in thread
From: rguenther at suse dot de @ 2007-11-27 14:04 UTC (permalink / raw)
To: gcc-bugs
------- Comment #3 from rguenther at suse dot de 2007-11-27 14:04 -------
Subject: Re: [4.3 Regression] VRP/SCEV miscompiles
Firefox
On Tue, 27 Nov 2007, rakdver at gcc dot gnu dot org wrote:
> ------- Comment #2 from rakdver at gcc dot gnu dot org 2007-11-27 13:57 -------
> I will have a look. What target is this on, and what flags are used for
> compilation?
It fails independent of the target (x86_64 and i686 for me), -O[123s]
with -ftree-vrp enabled makes it fail.
Richard.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34244
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Bug tree-optimization/34244] [4.3 Regression] VRP/SCEV miscompiles Firefox
2007-11-27 11:12 [Bug tree-optimization/34244] New: [4.3 Regression] VRP/SCEV miscompiles Firefox rguenth at gcc dot gnu dot org
` (3 preceding siblings ...)
2007-11-27 14:04 ` rguenther at suse dot de
@ 2007-11-27 16:48 ` rakdver at gcc dot gnu dot org
2007-11-27 17:00 ` rakdver at gcc dot gnu dot org
` (11 subsequent siblings)
16 siblings, 0 replies; 18+ messages in thread
From: rakdver at gcc dot gnu dot org @ 2007-11-27 16:48 UTC (permalink / raw)
To: gcc-bugs
------- Comment #4 from rakdver at gcc dot gnu dot org 2007-11-27 16:48 -------
> as it may be zero, in case offset_46 is <= 0.
>
> Sebastian, Zdenek - any idea what goes wrong here?
# of iteration analysis records an assumption that offset_46 >= 0. However,
this is simplified to true, as the value range of offset_46 is set to [0,0] by
vrp (which seems to be wrong); so the problem is probably somewhere else in
vrp.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34244
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Bug tree-optimization/34244] [4.3 Regression] VRP/SCEV miscompiles Firefox
2007-11-27 11:12 [Bug tree-optimization/34244] New: [4.3 Regression] VRP/SCEV miscompiles Firefox rguenth at gcc dot gnu dot org
` (4 preceding siblings ...)
2007-11-27 16:48 ` rakdver at gcc dot gnu dot org
@ 2007-11-27 17:00 ` rakdver at gcc dot gnu dot org
2007-11-27 22:21 ` mmitchel at gcc dot gnu dot org
` (10 subsequent siblings)
16 siblings, 0 replies; 18+ messages in thread
From: rakdver at gcc dot gnu dot org @ 2007-11-27 17:00 UTC (permalink / raw)
To: gcc-bugs
------- Comment #5 from rakdver at gcc dot gnu dot org 2007-11-27 17:00 -------
> # of iteration analysis records an assumption that offset_46 >= 0. However,
> this is simplified to true, as the value range of offset_46 is set to [0,0] by
> vrp (which seems to be wrong); so the problem is probably somewhere else in
> vrp.
So the problem is the following: we have a code like
if (something)
offset = 100;
else
offset = -100;
while (offset > 0)
offset--;
if (offset == 0)
launch_nuclear_rockets ();
VRP starts simulating the code, first executing the true branch of the if
(something) condition, getting offset = 100. It then proceeds with the loop,
determining that number of iterations is offset (since we just now believe that
offset==100, this is correct, without any assumptions), thus the final value of
offset is 0 and the nuclear war always starts.
Later, VRP evaluates the false branch of the if (something) condition, setting
the value range of offset to [-100,100], and proceeds to re-evaluate the
effects of the loop. However, scev caches the number of iterations of the
loop, so it is not re-evaluated, and we keep believing that the number of
iterations is always offset.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34244
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Bug tree-optimization/34244] [4.3 Regression] VRP/SCEV miscompiles Firefox
2007-11-27 11:12 [Bug tree-optimization/34244] New: [4.3 Regression] VRP/SCEV miscompiles Firefox rguenth at gcc dot gnu dot org
` (5 preceding siblings ...)
2007-11-27 17:00 ` rakdver at gcc dot gnu dot org
@ 2007-11-27 22:21 ` mmitchel at gcc dot gnu dot org
2007-11-28 15:47 ` rguenth at gcc dot gnu dot org
` (9 subsequent siblings)
16 siblings, 0 replies; 18+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2007-11-27 22:21 UTC (permalink / raw)
To: gcc-bugs
--
mmitchel at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Priority|P3 |P1
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34244
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Bug tree-optimization/34244] [4.3 Regression] VRP/SCEV miscompiles Firefox
2007-11-27 11:12 [Bug tree-optimization/34244] New: [4.3 Regression] VRP/SCEV miscompiles Firefox rguenth at gcc dot gnu dot org
` (6 preceding siblings ...)
2007-11-27 22:21 ` mmitchel at gcc dot gnu dot org
@ 2007-11-28 15:47 ` rguenth at gcc dot gnu dot org
2007-11-28 16:05 ` rakdver at kam dot mff dot cuni dot cz
` (8 subsequent siblings)
16 siblings, 0 replies; 18+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2007-11-28 15:47 UTC (permalink / raw)
To: gcc-bugs
------- Comment #6 from rguenth at gcc dot gnu dot org 2007-11-28 15:47 -------
We could clear the SCEV cache for an SSA_NAME we set a new value range
(in set_value_range and set_value_range_to_varying), but I
see that SCEV also caches loop->nb_iterations which we probably would need to
clear unconditionally (for all loops).
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34244
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Bug tree-optimization/34244] [4.3 Regression] VRP/SCEV miscompiles Firefox
2007-11-27 11:12 [Bug tree-optimization/34244] New: [4.3 Regression] VRP/SCEV miscompiles Firefox rguenth at gcc dot gnu dot org
` (7 preceding siblings ...)
2007-11-28 15:47 ` rguenth at gcc dot gnu dot org
@ 2007-11-28 16:05 ` rakdver at kam dot mff dot cuni dot cz
2007-11-28 16:13 ` rguenther at suse dot de
` (7 subsequent siblings)
16 siblings, 0 replies; 18+ messages in thread
From: rakdver at kam dot mff dot cuni dot cz @ 2007-11-28 16:05 UTC (permalink / raw)
To: gcc-bugs
------- Comment #7 from rakdver at kam dot mff dot cuni dot cz 2007-11-28 16:05 -------
Subject: Re: [4.3 Regression] VRP/SCEV miscompiles Firefox
> ------- Comment #6 from rguenth at gcc dot gnu dot org 2007-11-28 15:47 -------
> We could clear the SCEV cache for an SSA_NAME we set a new value range
> (in set_value_range and set_value_range_to_varying), but I
> see that SCEV also caches loop->nb_iterations which we probably would need to
> clear unconditionally (for all loops).
yes, the simplest solution is to call scev_reset somewhere (either in
set_value_range, or in adjust_range_with_scev). However, I fear the
compile time impact would be too large (# of iterations analysis is
fairly time consuming, and not caching the results used to cause
us to spend 10% or more in it).
More feasible solution seems to be to determine the number of iterations
for all loops before the start of VRP, and to remember the values.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34244
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Bug tree-optimization/34244] [4.3 Regression] VRP/SCEV miscompiles Firefox
2007-11-27 11:12 [Bug tree-optimization/34244] New: [4.3 Regression] VRP/SCEV miscompiles Firefox rguenth at gcc dot gnu dot org
` (8 preceding siblings ...)
2007-11-28 16:05 ` rakdver at kam dot mff dot cuni dot cz
@ 2007-11-28 16:13 ` rguenther at suse dot de
2007-11-29 4:29 ` rakdver at gcc dot gnu dot org
` (6 subsequent siblings)
16 siblings, 0 replies; 18+ messages in thread
From: rguenther at suse dot de @ 2007-11-28 16:13 UTC (permalink / raw)
To: gcc-bugs
------- Comment #8 from rguenther at suse dot de 2007-11-28 16:13 -------
Subject: Re: [4.3 Regression] VRP/SCEV miscompiles
Firefox
On Wed, 28 Nov 2007, rakdver at kam dot mff dot cuni dot cz wrote:
> > ------- Comment #6 from rguenth at gcc dot gnu dot org 2007-11-28 15:47 -------
> > We could clear the SCEV cache for an SSA_NAME we set a new value range
> > (in set_value_range and set_value_range_to_varying), but I
> > see that SCEV also caches loop->nb_iterations which we probably would need to
> > clear unconditionally (for all loops).
>
> yes, the simplest solution is to call scev_reset somewhere (either in
> set_value_range, or in adjust_range_with_scev). However, I fear the
> compile time impact would be too large (# of iterations analysis is
> fairly time consuming, and not caching the results used to cause
> us to spend 10% or more in it).
>
> More feasible solution seems to be to determine the number of iterations
> for all loops before the start of VRP, and to remember the values.
Or not use tree_expr_nonnegative_p from inside tree-ssa-loop-niter.c
which is where the bad feedback comes from. But yes, computing the
number of iterations in advance should fix this as well and is probably
best.
Richard.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34244
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Bug tree-optimization/34244] [4.3 Regression] VRP/SCEV miscompiles Firefox
2007-11-27 11:12 [Bug tree-optimization/34244] New: [4.3 Regression] VRP/SCEV miscompiles Firefox rguenth at gcc dot gnu dot org
` (9 preceding siblings ...)
2007-11-28 16:13 ` rguenther at suse dot de
@ 2007-11-29 4:29 ` rakdver at gcc dot gnu dot org
2007-11-30 0:32 ` rakdver at gcc dot gnu dot org
` (5 subsequent siblings)
16 siblings, 0 replies; 18+ messages in thread
From: rakdver at gcc dot gnu dot org @ 2007-11-29 4:29 UTC (permalink / raw)
To: gcc-bugs
------- Comment #9 from rakdver at gcc dot gnu dot org 2007-11-29 04:29 -------
Patch: http://gcc.gnu.org/ml/gcc-patches/2007-11/msg01607.html
--
rakdver at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
URL| |http://gcc.gnu.org/ml/gcc-
| |patches/2007-
| |11/msg01607.html
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34244
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Bug tree-optimization/34244] [4.3 Regression] VRP/SCEV miscompiles Firefox
2007-11-27 11:12 [Bug tree-optimization/34244] New: [4.3 Regression] VRP/SCEV miscompiles Firefox rguenth at gcc dot gnu dot org
` (10 preceding siblings ...)
2007-11-29 4:29 ` rakdver at gcc dot gnu dot org
@ 2007-11-30 0:32 ` rakdver at gcc dot gnu dot org
2007-11-30 7:20 ` jakub at gcc dot gnu dot org
` (4 subsequent siblings)
16 siblings, 0 replies; 18+ messages in thread
From: rakdver at gcc dot gnu dot org @ 2007-11-30 0:32 UTC (permalink / raw)
To: gcc-bugs
------- Comment #10 from rakdver at gcc dot gnu dot org 2007-11-30 00:32 -------
Subject: Bug 34244
Author: rakdver
Date: Fri Nov 30 00:32:04 2007
New Revision: 130527
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=130527
Log:
PR tree-optimization/34244
* tree-vrp.c (adjust_range_with_scev): Clear scev cache.
(record_numbers_of_iterations): New function.
(execute_vrp): Cache the numbers of iterations of loops.
* tree-scalar-evolution.c (scev_reset_except_niters):
New function.
(scev_reset): Use scev_reset_except_niters.
* tree-scalar-evolution.h (scev_reset_except_niters): Declare.
* gcc.dg/tree-ssa/pr34244.c: New test.
Added:
trunk/gcc/testsuite/gcc.dg/tree-ssa/pr34244.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree-scalar-evolution.c
trunk/gcc/tree-scalar-evolution.h
trunk/gcc/tree-vrp.c
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34244
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Bug tree-optimization/34244] [4.3 Regression] VRP/SCEV miscompiles Firefox
2007-11-27 11:12 [Bug tree-optimization/34244] New: [4.3 Regression] VRP/SCEV miscompiles Firefox rguenth at gcc dot gnu dot org
` (11 preceding siblings ...)
2007-11-30 0:32 ` rakdver at gcc dot gnu dot org
@ 2007-11-30 7:20 ` jakub at gcc dot gnu dot org
2007-11-30 8:56 ` hjl at lucon dot org
` (3 subsequent siblings)
16 siblings, 0 replies; 18+ messages in thread
From: jakub at gcc dot gnu dot org @ 2007-11-30 7:20 UTC (permalink / raw)
To: gcc-bugs
------- Comment #11 from jakub at gcc dot gnu dot org 2007-11-30 07:20 -------
Fixed, thanks.
--
jakub at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |RESOLVED
Resolution| |FIXED
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34244
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Bug tree-optimization/34244] [4.3 Regression] VRP/SCEV miscompiles Firefox
2007-11-27 11:12 [Bug tree-optimization/34244] New: [4.3 Regression] VRP/SCEV miscompiles Firefox rguenth at gcc dot gnu dot org
` (12 preceding siblings ...)
2007-11-30 7:20 ` jakub at gcc dot gnu dot org
@ 2007-11-30 8:56 ` hjl at lucon dot org
2007-11-30 13:24 ` jakub at gcc dot gnu dot org
` (2 subsequent siblings)
16 siblings, 0 replies; 18+ messages in thread
From: hjl at lucon dot org @ 2007-11-30 8:56 UTC (permalink / raw)
To: gcc-bugs
------- Comment #12 from hjl at lucon dot org 2007-11-30 08:56 -------
gcc.dg/tree-ssa/pr34244.c in
http://gcc.gnu.org/viewcvs?view=rev&revision=130527
has duplicated content.
--
hjl at lucon dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|RESOLVED |REOPENED
Resolution|FIXED |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34244
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Bug tree-optimization/34244] [4.3 Regression] VRP/SCEV miscompiles Firefox
2007-11-27 11:12 [Bug tree-optimization/34244] New: [4.3 Regression] VRP/SCEV miscompiles Firefox rguenth at gcc dot gnu dot org
` (13 preceding siblings ...)
2007-11-30 8:56 ` hjl at lucon dot org
@ 2007-11-30 13:24 ` jakub at gcc dot gnu dot org
2008-05-31 13:02 ` rguenth at gcc dot gnu dot org
2008-06-06 20:08 ` rguenth at gcc dot gnu dot org
16 siblings, 0 replies; 18+ messages in thread
From: jakub at gcc dot gnu dot org @ 2007-11-30 13:24 UTC (permalink / raw)
To: gcc-bugs
------- Comment #13 from jakub at gcc dot gnu dot org 2007-11-30 13:24 -------
Zdenek fixed that.
--
jakub at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|REOPENED |RESOLVED
Resolution| |FIXED
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34244
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Bug tree-optimization/34244] [4.3 Regression] VRP/SCEV miscompiles Firefox
2007-11-27 11:12 [Bug tree-optimization/34244] New: [4.3 Regression] VRP/SCEV miscompiles Firefox rguenth at gcc dot gnu dot org
` (14 preceding siblings ...)
2007-11-30 13:24 ` jakub at gcc dot gnu dot org
@ 2008-05-31 13:02 ` rguenth at gcc dot gnu dot org
2008-06-06 20:08 ` rguenth at gcc dot gnu dot org
16 siblings, 0 replies; 18+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2008-05-31 13:02 UTC (permalink / raw)
To: gcc-bugs
------- Comment #14 from rguenth at gcc dot gnu dot org 2008-05-31 13:01 -------
Subject: Bug 34244
Author: rguenth
Date: Sat May 31 13:01:10 2008
New Revision: 136237
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=136237
Log:
2008-05-31 Richard Guenther <rguenther@suse.de>
PR tree-optimization/34244
* fold-const.c (tree_expr_nonnegative_warnv_p): Do not ask VRP.
(tree_expr_nonzero_warnv_p): Likewise.
* tree-vrp.c (vrp_expr_computes_nonnegative): Call
ssa_name_nonnegative_p.
(vrp_expr_computes_nonzero): Call ssa_name_nonzero_p.
(extract_range_from_unary_expr): Use vrp_expr_computes_nonzero,
not tree_expr_nonzero_warnv_p.
PR tree-optimization/36262
Revert
2007-11-29 Zdenek Dvorak <ook@ucw.cz>
PR tree-optimization/34244
* tree-vrp.c (adjust_range_with_scev): Clear scev cache.
(record_numbers_of_iterations): New function.
(execute_vrp): Cache the numbers of iterations of loops.
* tree-scalar-evolution.c (scev_reset_except_niters):
New function.
(scev_reset): Use scev_reset_except_niters.
* tree-scalar-evolution.h (scev_reset_except_niters): Declare.
Modified:
trunk/gcc/ChangeLog
trunk/gcc/fold-const.c
trunk/gcc/tree-scalar-evolution.c
trunk/gcc/tree-scalar-evolution.h
trunk/gcc/tree-vrp.c
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34244
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Bug tree-optimization/34244] [4.3 Regression] VRP/SCEV miscompiles Firefox
2007-11-27 11:12 [Bug tree-optimization/34244] New: [4.3 Regression] VRP/SCEV miscompiles Firefox rguenth at gcc dot gnu dot org
` (15 preceding siblings ...)
2008-05-31 13:02 ` rguenth at gcc dot gnu dot org
@ 2008-06-06 20:08 ` rguenth at gcc dot gnu dot org
16 siblings, 0 replies; 18+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2008-06-06 20:08 UTC (permalink / raw)
To: gcc-bugs
------- Comment #15 from rguenth at gcc dot gnu dot org 2008-06-06 20:07 -------
Subject: Bug 34244
Author: rguenth
Date: Fri Jun 6 20:06:40 2008
New Revision: 136501
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=136501
Log:
2008-06-06 Richard Guenther <rguenther@suse.de>
PR tree-optimization/34244
* fold-const.c (tree_expr_nonnegative_warnv_p): Do not ask VRP.
(tree_expr_nonzero_warnv_p): Likewise.
* tree-vrp.c (vrp_expr_computes_nonnegative): Call
ssa_name_nonnegative_p.
(vrp_expr_computes_nonzero): Call ssa_name_nonzero_p.
(extract_range_from_unary_expr): Use vrp_expr_computes_nonzero,
not tree_expr_nonzero_warnv_p.
PR tree-optimization/36262
Revert
2007-11-29 Zdenek Dvorak <ook@ucw.cz>
PR tree-optimization/34244
* tree-vrp.c (adjust_range_with_scev): Clear scev cache.
(record_numbers_of_iterations): New function.
(execute_vrp): Cache the numbers of iterations of loops.
* tree-scalar-evolution.c (scev_reset_except_niters):
New function.
(scev_reset): Use scev_reset_except_niters.
* tree-scalar-evolution.h (scev_reset_except_niters): Declare.
Modified:
branches/gcc-4_3-branch/gcc/ChangeLog
branches/gcc-4_3-branch/gcc/fold-const.c
branches/gcc-4_3-branch/gcc/tree-scalar-evolution.c
branches/gcc-4_3-branch/gcc/tree-scalar-evolution.h
branches/gcc-4_3-branch/gcc/tree-vrp.c
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34244
^ permalink raw reply [flat|nested] 18+ messages in thread