https://gcc.gnu.org/bugzilla/show_bug.cgi?id=25643
--- Comment #14 from Andrew Pinski ---
So the difference now is:
```
void f0(int n, float *v)
{
int i;
if (n <= 0)
return;
else
{
i = 1;
do {
if (i > n) __builtin_abort ();
v[i] = 0.0;
i++;
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25643
Richard Guenther changed:
What|Removed |Added
Status|REOPENED|NEW
--- Comment #13 from Richard Guent
--
rguenth at gcc dot gnu dot org changed:
What|Removed |Added
Target Milestone|4.3.0 |---
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25643
--- Comment #12 from rguenth at gcc dot gnu dot org 2008-01-12 14:23
---
Simplified C testcase (omitting the parts that are optimized). We cannot
figure out the number of iterations of this loop:
void f(int n, float *v)
{
int i;
if (n <= 0)
return;
else
{
i = 1;
--- Comment #11 from pinskia at gcc dot gnu dot org 2008-01-12 12:49
---
>Compile with -fbounds-checking -O2, and notice that there is still
That should be just -fbounds-check .
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25643
--- Comment #10 from pinskia at gcc dot gnu dot org 2008-01-12 12:48
---
There should be no call to _gfortran_runtime_error_at and I still get one:
# i_2 = PHI <1(3), i_27(6)>
if (i_2 > size.1_4)
goto ;
else
goto ;
:
# i_32 = PHI _gfortran_runtime_error_at (&"At line
--- Comment #9 from pinskia at gcc dot gnu dot org 2008-01-12 12:44 ---
This is not fixed for me with
gcc version 4.3.0 20071110 (experimental) [trunk revision 130075] (GCC)
or with Sun Jan 6 02:53:41 UTC 2008 (revision 131347)
--
pinskia at gcc dot gnu dot org changed:
--- Comment #8 from rguenth at gcc dot gnu dot org 2008-01-12 12:42 ---
Actually VRP1 catches both the fortran and the C testcase.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25643
--
rguenth at gcc dot gnu dot org changed:
What|Removed |Added
Target Milestone|--- |4.3.0
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25643
--- Comment #7 from rguenth at gcc dot gnu dot org 2008-01-12 12:38 ---
ifcombine fixes this.
--
rguenth at gcc dot gnu dot org changed:
What|Removed |Added
S
--- Comment #6 from baldrick at free dot fr 2006-05-01 10:09 ---
Re comment #5:
> so we have [1,1] UNION [2, +INF] and we just get ~[0,0] bogus
> and it also means this is PR 23744.
This is more than PR 23744: with the fix for PR 23744 applied,
__builtin_abort () is still not eliminate
--- Comment #5 from pinskia at gcc dot gnu dot org 2006-05-01 06:18 ---
Grrr:
Visiting PHI node: i_3 = PHI ;
Argument #0 (4 -> 12 executable)
i_17
Value: [1, 1] EQUIVALENCES: { } (0 elements)
Argument #1 (13 -> 12 executable)
i_13
Value: [2, +INF
--- Comment #4 from pinskia at gcc dot gnu dot org 2006-01-29 21:05 ---
Confirmed.
--
pinskia at gcc dot gnu dot org changed:
What|Removed |Added
Status|UNCON
--- Comment #3 from pinskia at gcc dot gnu dot org 2006-01-07 16:20 ---
This was NOT fixed by the patch which fixed PR 18527.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25643
--- Comment #2 from pinskia at gcc dot gnu dot org 2006-01-03 20:37 ---
This is related to PR 18527 but not fixed with -funsafe-loop-optimizations.
--
pinskia at gcc dot gnu dot org changed:
What|Removed |Added
-
--- Comment #1 from pinskia at gcc dot gnu dot org 2006-01-02 20:23 ---
C testcase:
int v[1]={0};
void f(int n)
{
int i;
if (n <= 0)
return;
if (n > 0)
{
i = 1;
do {
_Bool t = i <= 0;
_Bool t1 = i > n;
_Bool t2 = t || t1;
if (
16 matches
Mail list logo