* Call to arms: testsuite failures on various targets
@ 2007-04-12 21:35 FX Coudert
2007-04-12 21:50 ` FX Coudert
` (3 more replies)
0 siblings, 4 replies; 16+ messages in thread
From: FX Coudert @ 2007-04-12 21:35 UTC (permalink / raw)
To: fortran@gcc.gnu.org List; +Cc: gcc
Hi all,
I reviewed this afternoon the postings from the gcc-testresults
mailing-list for the past month, and we have a couple of gfortran
testsuite failures showing up on various targets. Could people with
access to said targets (possibly maintainers) please file PRs in
bugzilla for each testcase, reporting the error message and/or
backtrace? (I'd be happy to be added to the Cc list of these)
* ia64-suse-linux-gnu: gfortran.dg/vect/vect-4.f90
* powerpc64-unknown-linux-gnu: gfortran.dg/value_4.f90
* powerpc-apple-darwin8.5.0: gfortran.dg/edit_real_1.f90
* sparc{,64}-sun-solaris2.10: gfortran.dg/open_errors.f90 gfortran.dg/
vect/vect-5.f90 (and gfortran.dg/cray_pointers_2.f90 when using -fPIC)
* powerpc-ibm-aix5.2.0.0: gfortran.dg/integer_exponentiation_4.f90
gfortran.dg/static_linking_1.f gfortran.dg/value_4.f90
gfortran.fortran-torture/execute/intrinsic_nearest.f90
* hppa-unknown-linux-gnu: gfortran.dg/cray_pointers_2.f90
* hppa2.0w-hp-hpux11.11: gfortran.dg/result_in_spec_1.f90
* hppa64-hp-hpux11.11: many failures (http://gcc.gnu.org/ml/gcc-
testresults/2007-04/msg00585.html)
* x86_64-unknown-netbsd3.0: gfortran.dg/exponent_1.f90 gfortran.dg/
scale_1.f90 gfortran.fortran-torture/execute/
intrinsic_fraction_exponent.f90 gfortran.fortran-torture/execute/
intrinsic_rrspacing.f90 gfortran.fortran-torture/execute/
intrinsic_scale.f90 gfortran.fortran-torture/execute/
intrinsic_set_exponent.f90
Note1: I omitted all the gfortran.dg/c_by_val_1.f failures, which
should be fixed by now
Note2: I also omitted a couple of gfortran.dg/secnds.f failures; this
testcase should be reworked
Thanks,
FX
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Call to arms: testsuite failures on various targets
2007-04-12 21:35 Call to arms: testsuite failures on various targets FX Coudert
@ 2007-04-12 21:50 ` FX Coudert
2007-04-13 0:31 ` Brooks Moses
2007-04-13 9:38 ` Jerry DeLisle
2007-04-13 12:31 ` Dave Korn
` (2 subsequent siblings)
3 siblings, 2 replies; 16+ messages in thread
From: FX Coudert @ 2007-04-12 21:50 UTC (permalink / raw)
To: fortran@gcc.gnu.org List, gcc
wrt to the Subject of the mail, I'm not sure "Call to arms" means
what I thought it meant, after all... I really wanted it to sound
like "call for help" or "call for more arms". Sorry if there was any
confusion in the tone.
FX
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Call to arms: testsuite failures on various targets
2007-04-12 21:50 ` FX Coudert
@ 2007-04-13 0:31 ` Brooks Moses
2007-04-13 9:38 ` Jerry DeLisle
1 sibling, 0 replies; 16+ messages in thread
From: Brooks Moses @ 2007-04-13 0:31 UTC (permalink / raw)
To: gcc; +Cc: fortran
FX Coudert wrote:
> wrt to the Subject of the mail, I'm not sure "Call to arms" means
> what I thought it meant, after all... I really wanted it to sound
> like "call for help" or "call for more arms". Sorry if there was any
> confusion in the tone.
The literal meaning of "call to arms" is a call for soldiers to take up
their armaments and be ready to use them. As an idiomatic metaphor, it
means "there's something that we need to go fight, so let's all get
ready and go fight it." This seems to me perfectly appropriate for a
situation in which code-bugs are growing in little-trafficked corners
and in need of a concentrated squashing effort.
- Brooks
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Call to arms: testsuite failures on various targets
2007-04-12 21:50 ` FX Coudert
2007-04-13 0:31 ` Brooks Moses
@ 2007-04-13 9:38 ` Jerry DeLisle
1 sibling, 0 replies; 16+ messages in thread
From: Jerry DeLisle @ 2007-04-13 9:38 UTC (permalink / raw)
To: FX Coudert; +Cc: fortran@gcc.gnu.org List, gcc
FX Coudert wrote:
> wrt to the Subject of the mail, I'm not sure "Call to arms" means what I
> thought it meant, after all... I really wanted it to sound like "call
> for help" or "call for more arms". Sorry if there was any confusion in
> the tone.
>
> FX
>
I thought it was great!
Jerry
^ permalink raw reply [flat|nested] 16+ messages in thread
* RE: Call to arms: testsuite failures on various targets
2007-04-12 21:35 Call to arms: testsuite failures on various targets FX Coudert
2007-04-12 21:50 ` FX Coudert
@ 2007-04-13 12:31 ` Dave Korn
2007-04-13 19:04 ` Brooks Moses
2007-04-14 15:12 ` Tim Prince
2007-04-18 5:28 ` Kaveh R. GHAZI
3 siblings, 1 reply; 16+ messages in thread
From: Dave Korn @ 2007-04-13 12:31 UTC (permalink / raw)
To: 'FX Coudert', fortran; +Cc: gcc
On 12 April 2007 22:22, FX Coudert wrote:
> Hi all,
> Note2: I also omitted a couple of gfortran.dg/secnds.f failures; this
> testcase should be reworked
I was about to report that myself! Both secnds.f /and/ secnds-1.f have some
kind of race condition or indeterminacy.
cheers,
DaveK
--
Can't think of a witty .sigline today....
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Call to arms: testsuite failures on various targets
2007-04-13 12:31 ` Dave Korn
@ 2007-04-13 19:04 ` Brooks Moses
0 siblings, 0 replies; 16+ messages in thread
From: Brooks Moses @ 2007-04-13 19:04 UTC (permalink / raw)
To: gcc; +Cc: fortran
Dave Korn wrote:
> On 12 April 2007 22:22, FX Coudert wrote:
>> Note2: I also omitted a couple of gfortran.dg/secnds.f failures; this
>> testcase should be reworked
>
> I was about to report that myself! Both secnds.f /and/ secnds-1.f have some
> kind of race condition or indeterminacy.
It's an indeterminacy, and a somewhat pernicious one -- I tried to fix
it a few months ago, and didn't get very far. My guess is that what's
happening is inconsistent rounding between two different intrinsic
functions that both return the current time as a floating-point number,
or something equivalent to that, but I haven't had any time to poke at
it farther.
- Brooks
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Call to arms: testsuite failures on various targets
2007-04-12 21:35 Call to arms: testsuite failures on various targets FX Coudert
2007-04-12 21:50 ` FX Coudert
2007-04-13 12:31 ` Dave Korn
@ 2007-04-14 15:12 ` Tim Prince
2007-04-14 15:50 ` Dorit Nuzman
2007-04-18 5:28 ` Kaveh R. GHAZI
3 siblings, 1 reply; 16+ messages in thread
From: Tim Prince @ 2007-04-14 15:12 UTC (permalink / raw)
To: FX Coudert; +Cc: fortran@gcc.gnu.org List, gcc
FX Coudert wrote:
> Hi all,
>
> I reviewed this afternoon the postings from the gcc-testresults
> mailing-list for the past month, and we have a couple of gfortran
> testsuite failures showing up on various targets. Could people with
> access to said targets (possibly maintainers) please file PRs in
> bugzilla for each testcase, reporting the error message and/or
> backtrace? (I'd be happy to be added to the Cc list of these)
>
> * ia64-suse-linux-gnu: gfortran.dg/vect/vect-4.f90
FAIL: gfortran.dg/vect/vect-4.f90 -O scan-tree-dump-times Alignment of
access
forced using peeling 1
FAIL: gfortran.dg/vect/vect-4.f90 -O scan-tree-dump-times Vectorizing
an unali
gned access 1
This happens on all reported ia64 targets, including mine. What is
expected here? There is no vectorization on ia64, no reason for
peeling. The compilation has no problem, and there is no report
generated. As far as I know, the vectorization options are ignored.
Without unrolling, of course, gfortran doesn't optimize the loop at all,
but I assume that's a different question.
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Call to arms: testsuite failures on various targets
2007-04-14 15:12 ` Tim Prince
@ 2007-04-14 15:50 ` Dorit Nuzman
2007-04-14 18:17 ` Tim Prince
0 siblings, 1 reply; 16+ messages in thread
From: Dorit Nuzman @ 2007-04-14 15:50 UTC (permalink / raw)
To: tprince; +Cc: fortran@gcc.gnu.org List, FX Coudert, gcc
> FX Coudert wrote:
> > Hi all,
> >
> > I reviewed this afternoon the postings from the gcc-testresults
> > mailing-list for the past month, and we have a couple of gfortran
> > testsuite failures showing up on various targets. Could people with
> > access to said targets (possibly maintainers) please file PRs in
> > bugzilla for each testcase, reporting the error message and/or
> > backtrace? (I'd be happy to be added to the Cc list of these)
> >
> > * ia64-suse-linux-gnu: gfortran.dg/vect/vect-4.f90
> FAIL: gfortran.dg/vect/vect-4.f90 -O scan-tree-dump-times Alignment of
> access
> forced using peeling 1
> FAIL: gfortran.dg/vect/vect-4.f90 -O scan-tree-dump-times Vectorizing
> an unali
> gned access 1
>
These tests should xfail on "vect_no_align" targets. On targets that
support misaligned accesses we use peeling to align two datarefs, and
generate a misaligned memory-access for a third dataref. But on targets
that do not support misaligned accesses I expect we just use versioning
with runtime alignment test. Does the following pass for you (I just added
"{ xfail vect_no_align }" to the two failing tests)?
Index: vect-4.f90
===================================================================
--- vect-4.f90 (revision 123409)
+++ vect-4.f90 (working copy)
@@ -10,7 +10,7 @@
END
! { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } }
-! { dg-final { scan-tree-dump-times "Alignment of access forced using
peeling" 1 "vect" } }
-! { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 1
"vect" } }
+! { dg-final { scan-tree-dump-times "Alignment of access forced using
peeling" 1 "vect" { xfail vect_no_align } } }
+! { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 1
"vect" { xfail vect_no_align } } }
! { dg-final { scan-tree-dump-times "accesses have the same alignment." 1
"vect" } }
! { dg-final { cleanup-tree-dump "vect" } }
> This happens on all reported ia64 targets, including mine. What is
> expected here? There is no vectorization on ia64, no reason for
> peeling.
apparently there is vectorization taking place because the first test
passes:
'scan-tree-dump-times "vectorized 1 loops" 1 "vect" '
dorit
> The compilation has no problem, and there is no report
> generated. As far as I know, the vectorization options are ignored.
> Without unrolling, of course, gfortran doesn't optimize the loop at all,
> but I assume that's a different question.
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Call to arms: testsuite failures on various targets
2007-04-14 15:50 ` Dorit Nuzman
@ 2007-04-14 18:17 ` Tim Prince
2007-04-14 18:50 ` Dorit Nuzman
0 siblings, 1 reply; 16+ messages in thread
From: Tim Prince @ 2007-04-14 18:17 UTC (permalink / raw)
To: Dorit Nuzman; +Cc: tprince, fortran@gcc.gnu.org List, FX Coudert, gcc
[-- Attachment #1: Type: text/plain, Size: 2240 bytes --]
Dorit Nuzman wrote:
>> FX Coudert wrote:
>>
>>> Hi all,
>>>
>>> I reviewed this afternoon the postings from the gcc-testresults
>>> mailing-list for the past month, and we have a couple of gfortran
>>> testsuite failures showing up on various targets. Could people with
>>> access to said targets (possibly maintainers) please file PRs in
>>> bugzilla for each testcase, reporting the error message and/or
>>> backtrace? (I'd be happy to be added to the Cc list of these)
>>>
>>> * ia64-suse-linux-gnu: gfortran.dg/vect/vect-4.f90
>>>
>> FAIL: gfortran.dg/vect/vect-4.f90 -O scan-tree-dump-times Alignment of
>> access
>> forced using peeling 1
>> FAIL: gfortran.dg/vect/vect-4.f90 -O scan-tree-dump-times Vectorizing
>> an unali
>> gned access 1
>>
>>
>
> These tests should xfail on "vect_no_align" targets. On targets that
> support misaligned accesses we use peeling to align two datarefs, and
> generate a misaligned memory-access for a third dataref. But on targets
> that do not support misaligned accesses I expect we just use versioning
> with runtime alignment test. Does the following pass for you (I just added
> "{ xfail vect_no_align }" to the two failing tests)?
>
>
> Index: vect-4.f90
> ===================================================================
> --- vect-4.f90 (revision 123409)
> +++ vect-4.f90 (working copy)
> @@ -10,7 +10,7 @@
> END
>
> ! { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } }
> -! { dg-final { scan-tree-dump-times "Alignment of access forced using
> peeling" 1 "vect" } }
> -! { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 1
> "vect" } }
> +! { dg-final { scan-tree-dump-times "Alignment of access forced using
> peeling" 1 "vect" { xfail vect_no_align } } }
> +! { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 1
> "vect" { xfail vect_no_align } } }
> ! { dg-final { scan-tree-dump-times "accesses have the same alignment." 1
> "vect" } }
> ! { dg-final { cleanup-tree-dump "vect" } }
>
>
This patch does change those reports to XFAIL (testsuite report attached).
I suppose any attempts to optimize for ia64, such as load-pair
versioning, would be in the dataflow branch, whose location I don't know.
[-- Attachment #2: ia64070413 --]
[-- Type: text/plain, Size: 6188 bytes --]
laST_UPDATED: Obtained from SVN: trunk revision 123799
Native configuration is ia64-unknown-linux-gnu
=== gcc tests ===
Running target unix
FAIL: gcc.c-torture/execute/mayalias-2.c compilation, -O3 -g (internal compiler error)
UNRESOLVED: gcc.c-torture/execute/mayalias-2.c execution, -O3 -g
FAIL: gcc.c-torture/execute/mayalias-3.c compilation, -O3 -g (internal compiler error)
UNRESOLVED: gcc.c-torture/execute/mayalias-3.c execution, -O3 -g
FAIL: gcc.c-torture/execute/va-arg-24.c execution, -O3 -fomit-frame-pointer -funroll-loops
FAIL: gcc.c-torture/execute/va-arg-24.c execution, -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions
FAIL: gcc.dg/builtin-apply4.c execution test
FAIL: gcc.dg/pr30643.c scan-assembler-not undefined
WARNING: gcc.dg/torture/fp-int-convert-float128-timode.c -O0 compilation failed to produce executable
WARNING: gcc.dg/torture/fp-int-convert-float128-timode.c -O1 compilation failed to produce executable
WARNING: gcc.dg/torture/fp-int-convert-float128-timode.c -O2 compilation failed to produce executable
WARNING: gcc.dg/torture/fp-int-convert-float128-timode.c -O3 -fomit-frame-pointer compilation failed to produce executable
WARNING: gcc.dg/torture/fp-int-convert-float128-timode.c -O3 -g compilation failed to produce executable
WARNING: gcc.dg/torture/fp-int-convert-float128-timode.c -Os compilation failed to produce executable
FAIL: gcc.dg/torture/fp-int-convert-float128.c -O0 (test for excess errors)
WARNING: gcc.dg/torture/fp-int-convert-float128.c -O0 compilation failed to produce executable
FAIL: gcc.dg/torture/fp-int-convert-float128.c -O1 (test for excess errors)
WARNING: gcc.dg/torture/fp-int-convert-float128.c -O1 compilation failed to produce executable
FAIL: gcc.dg/torture/fp-int-convert-float128.c -O2 (test for excess errors)
WARNING: gcc.dg/torture/fp-int-convert-float128.c -O2 compilation failed to produce executable
FAIL: gcc.dg/torture/fp-int-convert-float128.c -O3 -fomit-frame-pointer (test for excess errors)
WARNING: gcc.dg/torture/fp-int-convert-float128.c -O3 -fomit-frame-pointer compilation failed to produce executable
FAIL: gcc.dg/torture/fp-int-convert-float128.c -O3 -g (test for excess errors)
WARNING: gcc.dg/torture/fp-int-convert-float128.c -O3 -g compilation failed to produce executable
FAIL: gcc.dg/torture/fp-int-convert-float128.c -Os (test for excess errors)
WARNING: gcc.dg/torture/fp-int-convert-float128.c -Os compilation failed to produce executable
XPASS: gcc.dg/tree-ssa/loop-1.c scan-assembler-times foo 5
XPASS: gcc.dg/tree-ssa/update-threading.c scan-tree-dump-times Invalid sum 0
FAIL: gcc.dg/vect/pr30771.c scan-tree-dump-times vectorized 1 loops 1
FAIL: gcc.dg/vect/vect-iv-4.c scan-tree-dump-times vectorized 1 loops 1
FAIL: gcc.dg/vect/vect-iv-9.c scan-tree-dump-times vectorized 1 loops 2
FAIL: gcc.dg/vect/vect-reduc-dot-s16b.c scan-tree-dump-times vectorized 1 loops 0
FAIL: gcc.dg/vect/vect-reduc-dot-u16b.c scan-tree-dump-times vectorized 1 loops 1
FAIL: gcc.dg/vect/vect-reduc-pattern-1a.c scan-tree-dump-times vectorized 1 loops 0
FAIL: gcc.dg/vect/vect-reduc-pattern-1c.c scan-tree-dump-times vectorized 1 loops 0
FAIL: gcc.dg/vect/vect-reduc-pattern-2a.c scan-tree-dump-times vectorized 1 loops 0
FAIL: gcc.dg/vect/vect-widen-mult-u16.c scan-tree-dump-times vectorized 1 loops 1
FAIL: gcc.dg/vect/wrapv-vect-reduc-pattern-2c.c scan-tree-dump-times vectorized 1 loops 0
FAIL: gcc.dg/vect/no-section-anchors-vect-69.c scan-tree-dump-times Alignment of access forced using peeling 3
=== gcc Summary ===
# of expected passes 42231
# of unexpected failures 23
# of unexpected successes 2
# of expected failures 155
# of unresolved testcases 2
# of untested testcases 28
# of unsupported tests 374
/home/tim/src/gcc-4.3-20070413/ia64/gcc/xgcc version 4.3.0 20070413 (experimental)
=== gfortran tests ===
Running target unix
=== gfortran Summary ===
# of expected passes 17438
# of expected failures 13
# of unsupported tests 20
/home/tim/src/gcc-4.3-20070413/ia64/gcc/testsuite/gfortran/../../gfortran version 4.3.0 20070413 (experimental)
=== g++ tests ===
Running target unix
FAIL: g++.dg/tree-prof/indir-call-prof.C scan-tree-dump Indirect call -> direct call.* AA transformation on insn
FAIL: g++.dg/tree-prof/indir-call-prof.C scan-tree-dump Indirect call -> direct call.* AA transformation on insn
FAIL: g++.dg/tree-prof/indir-call-prof.C scan-tree-dump Indirect call -> direct call.* AA transformation on insn
FAIL: g++.dg/tree-prof/indir-call-prof.C scan-tree-dump Indirect call -> direct call.* AA transformation on insn
FAIL: g++.dg/tree-prof/indir-call-prof.C scan-tree-dump Indirect call -> direct call.* AA transformation on insn
FAIL: g++.dg/tree-prof/indir-call-prof.C scan-tree-dump Indirect call -> direct call.* AA transformation on insn
FAIL: g++.dg/tree-prof/indir-call-prof.C scan-tree-dump Indirect call -> direct call.* AA transformation on insn
=== g++ Summary ===
# of expected passes 13739
# of unexpected failures 7
# of expected failures 79
# of unsupported tests 119
/home/tim/src/gcc-4.3-20070413/ia64/gcc/testsuite/g++/../../g++ version 4.3.0 20070413 (experimental)
=== objc tests ===
Running target unix
=== objc Summary ===
# of expected passes 1810
# of expected failures 7
# of unsupported tests 25
/home/tim/src/gcc-4.3-20070413/ia64/gcc/xgcc version 4.3.0 20070413 (experimental)
=== libgomp tests ===
Running target unix
=== libgomp Summary ===
# of expected passes 1566
=== libstdc++ tests ===
Running target unix
XPASS: 26_numerics/headers/cmath/c99_classification_macros_c.cc (test for excess errors)
XPASS: 27_io/fpos/14320-1.cc execution test
=== libstdc++ Summary ===
# of expected passes 4859
# of unexpected successes 2
# of expected failures 27
Compiler version: 4.3.0 20070413 (experimental)
Platform: ia64-unknown-linux-gnu
configure flags: --enable-languages='c c++ fortran objc' --enable-bootstrap --enable-maintainer-mode --disable-libmudflap --prefix=/usr/local/gcc43
EOF
Mail -s "Results for 4.3.0 20070413 (experimental) testsuite on ia64-unknown-linux-gnu" gcc-testresults@gcc.gnu.org &&
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Call to arms: testsuite failures on various targets
2007-04-14 18:17 ` Tim Prince
@ 2007-04-14 18:50 ` Dorit Nuzman
0 siblings, 0 replies; 16+ messages in thread
From: Dorit Nuzman @ 2007-04-14 18:50 UTC (permalink / raw)
To: tprince; +Cc: fortran@gcc.gnu.org List, FX Coudert, gcc, tprince
...
> laST_UPDATED: Obtained from SVN: trunk revision 123799
>
> Native configuration is ia64-unknown-linux-gnu
>
> === gcc tests ===
>
>
for this one:
> FAIL: gcc.dg/vect/pr30771.c scan-tree-dump-times vectorized 1 loops 1
there should be { target vect_unpack } added to the check. i.e.:
- /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */
+ /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" {
target vect_unpack } } } */
for the rest:
> FAIL: gcc.dg/vect/vect-iv-4.c scan-tree-dump-times vectorized 1 loops 1
> FAIL: gcc.dg/vect/vect-iv-9.c scan-tree-dump-times vectorized 1 loops 2
> FAIL: gcc.dg/vect/vect-reduc-dot-s16b.c scan-tree-dump-times
> vectorized 1 loops 0
> FAIL: gcc.dg/vect/vect-reduc-dot-u16b.c scan-tree-dump-times
> vectorized 1 loops 1
> FAIL: gcc.dg/vect/vect-reduc-pattern-1a.c scan-tree-dump-times
> vectorized 1 loops 0
> FAIL: gcc.dg/vect/vect-reduc-pattern-1c.c scan-tree-dump-times
> vectorized 1 loops 0
> FAIL: gcc.dg/vect/vect-reduc-pattern-2a.c scan-tree-dump-times
> vectorized 1 loops 0
> FAIL: gcc.dg/vect/vect-widen-mult-u16.c scan-tree-dump-times
> vectorized 1 loops 1
> FAIL: gcc.dg/vect/wrapv-vect-reduc-pattern-2c.c scan-tree-dump-times
> vectorized 1 loops 0
> FAIL: gcc.dg/vect/no-section-anchors-vect-69.c scan-tree-dump-times
> Alignment of access forced using peeling 3
>
I'll need to look closer. Could you please send me (offline) the .vect dump
files (with -fdump-tree-vect-details) for these?
thanks,
dorit
> === gcc Summary ===
>
> # of expected passes 42231
> # of unexpected failures 23
> # of unexpected successes 2
> # of expected failures 155
> # of unresolved testcases 2
> # of untested testcases 28
> # of unsupported tests 374
> /home/tim/src/gcc-4.3-20070413/ia64/gcc/xgcc version 4.3.0 20070413
> (experimental)
>
> === gfortran tests ===
>
>
> Running target unix
>
> === gfortran Summary ===
>
> # of expected passes 17438
> # of expected failures 13
> # of unsupported tests 20
> /home/tim/src/gcc-4.3-20070413/ia64/gcc/testsuite/gfortran/../..
> /gfortran version 4.3.0 20070413 (experimental)
>
> === g++ tests ===
>
>
> Running target unix
> FAIL: g++.dg/tree-prof/indir-call-prof.C scan-tree-dump Indirect
> call -> direct call.* AA transformation on insn
> FAIL: g++.dg/tree-prof/indir-call-prof.C scan-tree-dump Indirect
> call -> direct call.* AA transformation on insn
> FAIL: g++.dg/tree-prof/indir-call-prof.C scan-tree-dump Indirect
> call -> direct call.* AA transformation on insn
> FAIL: g++.dg/tree-prof/indir-call-prof.C scan-tree-dump Indirect
> call -> direct call.* AA transformation on insn
> FAIL: g++.dg/tree-prof/indir-call-prof.C scan-tree-dump Indirect
> call -> direct call.* AA transformation on insn
> FAIL: g++.dg/tree-prof/indir-call-prof.C scan-tree-dump Indirect
> call -> direct call.* AA transformation on insn
> FAIL: g++.dg/tree-prof/indir-call-prof.C scan-tree-dump Indirect
> call -> direct call.* AA transformation on insn
>
> === g++ Summary ===
>
> # of expected passes 13739
> # of unexpected failures 7
> # of expected failures 79
> # of unsupported tests 119
> /home/tim/src/gcc-4.3-20070413/ia64/gcc/testsuite/g++/../../g++
> version 4.3.0 20070413 (experimental)
>
> === objc tests ===
>
>
> Running target unix
>
> === objc Summary ===
>
> # of expected passes 1810
> # of expected failures 7
> # of unsupported tests 25
> /home/tim/src/gcc-4.3-20070413/ia64/gcc/xgcc version 4.3.0 20070413
> (experimental)
>
> === libgomp tests ===
>
>
> Running target unix
>
> === libgomp Summary ===
>
> # of expected passes 1566
> === libstdc++ tests ===
>
>
> Running target unix
> XPASS: 26_numerics/headers/cmath/c99_classification_macros_c.cc
> (test for excess errors)
> XPASS: 27_io/fpos/14320-1.cc execution test
>
> === libstdc++ Summary ===
>
> # of expected passes 4859
> # of unexpected successes 2
> # of expected failures 27
>
> Compiler version: 4.3.0 20070413 (experimental)
> Platform: ia64-unknown-linux-gnu
> configure flags: --enable-languages='c c++ fortran objc' --enable-
> bootstrap --enable-maintainer-mode --disable-libmudflap --
> prefix=/usr/local/gcc43
> EOF
> Mail -s "Results for 4.3.0 20070413 (experimental) testsuite on
> ia64-unknown-linux-gnu" gcc-testresults@gcc.gnu.org &&
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Call to arms: testsuite failures on various targets
2007-04-12 21:35 Call to arms: testsuite failures on various targets FX Coudert
` (2 preceding siblings ...)
2007-04-14 15:12 ` Tim Prince
@ 2007-04-18 5:28 ` Kaveh R. GHAZI
3 siblings, 0 replies; 16+ messages in thread
From: Kaveh R. GHAZI @ 2007-04-18 5:28 UTC (permalink / raw)
To: FX Coudert; +Cc: fortran@gcc.gnu.org List, gcc
On Thu, 12 Apr 2007, FX Coudert wrote:
> Hi all,
>
> I reviewed this afternoon the postings from the gcc-testresults
> mailing-list for the past month, and we have a couple of gfortran
> testsuite failures showing up on various targets. Could people with
> access to said targets (possibly maintainers) please file PRs in
> bugzilla for each testcase, reporting the error message and/or
> backtrace? (I'd be happy to be added to the Cc list of these)
>
> [...]
> * sparc{,64}-sun-solaris2.10: gfortran.dg/open_errors.f90 gfortran.dg/
> vect/vect-5.f90 (and gfortran.dg/cray_pointers_2.f90 when using -fPIC)
The cray_pointers_2.f90 failure is already noted under PR30774, it's a
solaris issue not necessarily specific to fortran.
The other two, I've opened PRs 31615 and 31616.
--Kaveh
--
Kaveh R. Ghazi ghazi@caip.rutgers.edu
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Call to arms: testsuite failures on various targets
2007-04-15 19:14 ` Dorit Nuzman
@ 2007-04-16 3:19 ` Tim Prince
0 siblings, 0 replies; 16+ messages in thread
From: Tim Prince @ 2007-04-16 3:19 UTC (permalink / raw)
To: Dorit Nuzman; +Cc: FX Coudert, gcc, tprince
[-- Attachment #1: Type: text/plain, Size: 11581 bytes --]
Dorit Nuzman wrote:
> Thanks Tim for sending the dump files!
>
>
>> for this one:
>>
>>> FAIL: gcc.dg/vect/pr30771.c scan-tree-dump-times vectorized 1 loops 1
>>>
>> there should be { target vect_unpack } added to the check. i.e.:
>> - /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } }
>>
> */
>
>> + /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect"
>> { target vect_unpack } } } */
>>
>> for the rest:
>>
>>
>>> FAIL: gcc.dg/vect/vect-iv-4.c scan-tree-dump-times vectorized 1 loops 1
>>>
>
> this one is missing { target vect_pack_mod }
>
>
>>> FAIL: gcc.dg/vect/vect-iv-9.c scan-tree-dump-times vectorized 1 loops 2
>>>
>
> this one missing { target vect_int_mult }
>
>
>>> FAIL: gcc.dg/vect/vect-reduc-dot-s16b.c scan-tree-dump-times
>>> vectorized 1 loops 0
>>>
>
> here we need to add ia64 to the list of targets in
> 'vect_widen_sum_hi_to_si' in target-support.exp
>
>
>>> FAIL: gcc.dg/vect/vect-reduc-dot-u16b.c scan-tree-dump-times
>>> vectorized 1 loops 1
>>>
>
> missing { target vect_pack_mod } again
>
>
>>> FAIL: gcc.dg/vect/vect-reduc-pattern-1a.c scan-tree-dump-times
>>> vectorized 1 loops 0
>>>
>
> add ia64 to 'vect_widen_sum_hi_to_si' in target-support.exp
>
>
>>> FAIL: gcc.dg/vect/vect-reduc-pattern-1c.c scan-tree-dump-times
>>> vectorized 1 loops 0
>>>
>
> add ia64 to 'vect_widen_sum_qi_to_hi' in target-support.exp
>
>
>>> FAIL: gcc.dg/vect/vect-reduc-pattern-2a.c scan-tree-dump-times
>>> vectorized 1 loops 0
>>>
>
> add ia64 to 'vect_widen_sum_hi_to_si' in target-support.exp
>
>
>>> FAIL: gcc.dg/vect/vect-widen-mult-u16.c scan-tree-dump-times
>>> vectorized 1 loops 1
>>>
>
> missing { target vect_pack_mod }
>
>
>>> FAIL: gcc.dg/vect/wrapv-vect-reduc-pattern-2c.c scan-tree-dump-times
>>> vectorized 1 loops 0
>>>
>
> add ia64 to 'vect_widen_sum_qi_to_hi' in target-support.exp
>
>
>>> FAIL: gcc.dg/vect/no-section-anchors-vect-69.c scan-tree-dump-times
>>> Alignment of access forced using peeling 3
>>>
>>>
>
> For this one - can you please send the dump file generated with
> -fdump-tree-vect-details? (the files you sent did not contain the detailed
> dump info). Specifically, on powerpc I see this:
>
> Created dr for tmp1[2].e.n[1][i_79][j_68]
> base_address: &tmp1
> offset from base address: (<unnamed type>) (i_79 * 32)
> constant offset from base address: 10544
> base_object: tmp1[2].e.n
> step: 4B
> misalignment from base: 10544B
> aligned to: 8
> memtag: tmp1
>
> ....
>
> /Develop/autovect-dn/gcc/gcc/testsuite/gcc.dg/vect/no-section-anchors-vect-69.c:69:
> note: === vect_analyze_data_refs_alignment ===
> /Develop/autovect-dn/gcc/gcc/testsuite/gcc.dg/vect/no-section-anchors-vect-69.c:69:
> note: vect_compute_data_ref_alignment:
> /Develop/autovect-dn/gcc/gcc/testsuite/gcc.dg/vect/no-section-anchors-vect-69.c:69:
> note: Unknown alignment for access: tmp1
>
> ....
>
> /Develop/autovect-dn/gcc/gcc/testsuite/gcc.dg/vect/no-section-anchors-vect-69.c:69:
> note: Alignment of access forced using peeling.
> /Develop/autovect-dn/gcc/gcc/testsuite/gcc.dg/vect/no-section-anchors-vect-69.c:69:
> note: Peeling for alignment will be applied.
>
> I'd like to compare that to what you get on ia64.
>
> In the meantime - this patch includes the above suggested fixes for the
> rest of the tests (tested on the vectorizer testcases on i686-pc-linux-gnu
> and powerpc-linux, but really need to be tested on ia64):
>
> dorit
>
> (See attached file: ia64fixes.txt)
>
>
>> I'll need to look closer. Could you please send me (offline) the .
>> vect dump files (with -fdump-tree-vect-details) for these?
>>
>> thanks,
>> dorit
>>
>>
>>
>>> === gcc Summary ===
>>>
>>> # of expected passes 42231
>>> # of unexpected failures 23
>>> # of unexpected successes 2
>>> # of expected failures 155
>>> # of unresolved testcases 2
>>> # of untested testcases 28
>>> # of unsupported tests 374
>>> /home/tim/src/gcc-4.3-20070413/ia64/gcc/xgcc version 4.3.0 20070413
>>> (experimental)
>>>
>>> === gfortran tests ===
>>>
>>>
>>> Running target unix
>>>
>>> === gfortran Summary ===
>>>
>>> # of expected passes 17438
>>> # of expected failures 13
>>> # of unsupported tests 20
>>> /home/tim/src/gcc-4.3-20070413/ia64/gcc/testsuite/gfortran/../..
>>> /gfortran version 4.3.0 20070413 (experimental)
>>>
>>> === g++ tests ===
>>>
>>>
>>> Running target unix
>>> FAIL: g++.dg/tree-prof/indir-call-prof.C scan-tree-dump Indirect
>>> call -> direct call.* AA transformation on insn
>>> FAIL: g++.dg/tree-prof/indir-call-prof.C scan-tree-dump Indirect
>>> call -> direct call.* AA transformation on insn
>>> FAIL: g++.dg/tree-prof/indir-call-prof.C scan-tree-dump Indirect
>>> call -> direct call.* AA transformation on insn
>>> FAIL: g++.dg/tree-prof/indir-call-prof.C scan-tree-dump Indirect
>>> call -> direct call.* AA transformation on insn
>>> FAIL: g++.dg/tree-prof/indir-call-prof.C scan-tree-dump Indirect
>>> call -> direct call.* AA transformation on insn
>>> FAIL: g++.dg/tree-prof/indir-call-prof.C scan-tree-dump Indirect
>>> call -> direct call.* AA transformation on insn
>>> FAIL: g++.dg/tree-prof/indir-call-prof.C scan-tree-dump Indirect
>>> call -> direct call.* AA transformation on insn
>>>
>>> === g++ Summary ===
>>>
>>> # of expected passes 13739
>>> # of unexpected failures 7
>>> # of expected failures 79
>>> # of unsupported tests 119
>>> /home/tim/src/gcc-4.3-20070413/ia64/gcc/testsuite/g++/../../g++
>>> version 4.3.0 20070413 (experimental)
>>>
>>> === objc tests ===
>>>
>>>
>>> Running target unix
>>>
>>> === objc Summary ===
>>>
>>> # of expected passes 1810
>>> # of expected failures 7
>>> # of unsupported tests 25
>>> /home/tim/src/gcc-4.3-20070413/ia64/gcc/xgcc version 4.3.0 20070413
>>> (experimental)
>>>
>>> === libgomp tests ===
>>>
>>>
>>> Running target unix
>>>
>>> === libgomp Summary ===
>>>
>>> # of expected passes 1566
>>> === libstdc++ tests ===
>>>
>>>
>>> Running target unix
>>> XPASS: 26_numerics/headers/cmath/c99_classification_macros_c.cc
>>> (test for excess errors)
>>> XPASS: 27_io/fpos/14320-1.cc execution test
>>>
>>> === libstdc++ Summary ===
>>>
>>> # of expected passes 4859
>>> # of unexpected successes 2
>>> # of expected failures 27
>>>
>>> Compiler version: 4.3.0 20070413 (experimental)
>>> Platform: ia64-unknown-linux-gnu
>>> configure flags: --enable-languages='c c++ fortran objc' --enable-
>>> bootstrap --enable-maintainer-mode --disable-libmudflap --
>>> prefix=/usr/local/gcc43
>>> EOF
>>> Mail -s "Results for 4.3.0 20070413 (experimental) testsuite on
>>> ia64-unknown-linux-gnu" gcc-testresults@gcc.gnu.org &&
>>> ------------------------------------------------------------------------
>>>
>>> Index: gcc.dg/vect/vect-iv-9.c
>>> ===================================================================
>>> --- gcc.dg/vect/vect-iv-9.c (revision 123694)
>>> +++ gcc.dg/vect/vect-iv-9.c (working copy)
>>> @@ -33,5 +33,6 @@
>>> return 0;
>>> }
>>>
>>> -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 2 "vect" } } */
>>> +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 2 "vect" { target vect_int_mult } } } */
>>> +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target {! vect_int_mult } } } } */
>>> /* { dg-final { cleanup-tree-dump "vect" } } */
>>> Index: gcc.dg/vect/vect-reduc-dot-u16b.c
>>> ===================================================================
>>> --- gcc.dg/vect/vect-reduc-dot-u16b.c (revision 123694)
>>> +++ gcc.dg/vect/vect-reduc-dot-u16b.c (working copy)
>>> @@ -53,6 +53,6 @@
>>> dot-product of unsigned shorts) and targets that support widening multiplication. */
>>> /* The induction loop in main is vectorized. */
>>> /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 2 "vect" { xfail *-*-* } } } */
>>> -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */
>>> +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_pack_mod } } } */
>>>
>>> /* { dg-final { cleanup-tree-dump "vect" } } */
>>> Index: gcc.dg/vect/vect-iv-4.c
>>> ===================================================================
>>> --- gcc.dg/vect/vect-iv-4.c (revision 123694)
>>> +++ gcc.dg/vect/vect-iv-4.c (working copy)
>>> @@ -40,5 +40,5 @@
>>> return main1 ();
>>> }
>>>
>>> -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */
>>> +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_pack_mod } } } */
>>> /* { dg-final { cleanup-tree-dump "vect" } } */
>>> Index: gcc.dg/vect/vect-widen-mult-u16.c
>>> ===================================================================
>>> --- gcc.dg/vect/vect-widen-mult-u16.c (revision 123694)
>>> +++ gcc.dg/vect/vect-widen-mult-u16.c (working copy)
>>> @@ -44,6 +44,6 @@
>>>
>>> /*The induction loop is vectorized */
>>> /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 2 "vect" { xfail *-*-* } } } */
>>> -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */
>>> +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_pack_mod } } } */
>>> /* { dg-final { cleanup-tree-dump "vect" } } */
>>>
>>> Index: lib/target-supports.exp
>>> ===================================================================
>>> --- lib/target-supports.exp (revision 123694)
>>> +++ lib/target-supports.exp (working copy)
>>> @@ -1624,7 +1624,8 @@
>>> verbose "check_effective_target_vect_widen_sum_hi_to_si: using cached result" 2
>>> } else {
>>> set et_vect_widen_sum_hi_to_si_saved [check_effective_target_vect_unpack]
>>> - if { [istarget powerpc*-*-*] } {
>>> + if { [istarget powerpc*-*-*]
>>> + || [istarget ia64-*-*] } {
>>> set et_vect_widen_sum_hi_to_si_saved 1
>>> }
>>> }
>>> @@ -1646,7 +1647,8 @@
>>> verbose "check_effective_target_vect_widen_sum_qi_to_hi: using cached result" 2
>>> } else {
>>> set et_vect_widen_sum_qi_to_hi_saved 0
>>> - if { [check_effective_target_vect_unpack] } {
>>> + if { [check_effective_target_vect_unpack]
>>> + || [istarget ia64-*-*] } {
>>> set et_vect_widen_sum_qi_to_hi_saved 1
>>> }
>>> }
>>> Index: gcc.dg/vect/pr30771.c
>>> ===================================================================
>>> --- gcc.dg/vect/pr30771.c (revision 123694)
>>> +++ gcc.dg/vect/pr30771.c (working copy)
>>> @@ -14,5 +14,5 @@
>>> return 0;
>>> }
>>>
>>> -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */
>>> +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_unpack } } } */
>>> /* { dg-final { cleanup-tree-dump "vect" } } */
>>>
Dorit,
Sorry I missed this file which I made for you. I will try your
suggested patches in gcc-testsuite. I don't think the gfortran list
will be interested in the gcc-testsuite patches. I don't know whether
anyone on the gfortran list has the influence to get them adopted.
My own experience with patch submission is it takes 2-3 years to get
them adopted, by which time they require significant updates. So I
think that submitting PR myself against gcc would delay the process. I
have 5 of them already, from a few weeks to several years old.
[-- Attachment #2: no-section-anchors-vect-69.c.097t.vect --]
[-- Type: text/plain, Size: 51465 bytes --]
;; Function main1 (main1)
(get_loop_exit_condition
)
(get_loop_exit_condition
)
(get_loop_exit_condition
if (ivtmp.32_1 != 0) goto <L113>; else goto <L114>;)
(get_loop_exit_condition
if (ivtmp.33_46 != 0) goto <L112>; else goto <L33>;)
(number_of_iterations_in_loop
(analyze_scalar_evolution
(loop_nb = 10)
(scalar = ivtmp.33_46)
(get_scalar_evolution
(scalar = ivtmp.33_46)
(scalar_evolution = ))
(analyze_scalar_evolution
(loop_nb = 10)
(scalar = ivtmp.33_7)
(get_scalar_evolution
(scalar = ivtmp.33_7)
(scalar_evolution = ))
(analyze_initial_condition
(loop_phi_node =
ivtmp.33_7 = PHI <ivtmp.33_46(28), 4(42)>)
(init_cond = 4))
(analyze_evolution_in_loop
(loop_phi_node = ivtmp.33_7 = PHI <ivtmp.33_46(28), 4(42)>)
(add_to_evolution
(loop_nb = 10)
(chrec_before = 4)
(to_add = 1)
(res = {4, +, 4294967295}_10))
(evolution_function = {4, +, 4294967295}_10))
(set_scalar_evolution
(scalar = ivtmp.33_7)
(scalar_evolution = {4, +, 4294967295}_10))
)
(analyze_scalar_evolution
(loop_nb = 10)
(scalar = 1)
(get_scalar_evolution
(scalar = 1)
(scalar_evolution = 1))
)
(set_scalar_evolution
(scalar = ivtmp.33_46)
(scalar_evolution = {3, +, 4294967295}_10))
)
(analyze_scalar_evolution
(loop_nb = 10)
(scalar = 0)
(get_scalar_evolution
(scalar = 0)
(scalar_evolution = 0))
)
Analysing # of iterations of loop 10
exit condition [3, + , 4294967295] != 0
bounds on difference of bases: -3 ... -3
result:
# of iterations 3, bounded by 3
(set_nb_iterations_in_loop = 3))
(get_loop_exit_condition
if (ivtmp.33_46 != 0) goto <L112>; else goto <L33>;)
(init_array_ref
(ref = tmp2[2].e.n[1][i_71][j_49];
)
(analyze_scalar_evolution
(loop_nb = 10)
(scalar = j_49)
(get_scalar_evolution
(scalar = j_49)
(scalar_evolution = ))
(analyze_initial_condition
(loop_phi_node =
j_49 = PHI <j_44(28), 0(42)>)
(init_cond = 0))
(analyze_evolution_in_loop
(loop_phi_node = j_49 = PHI <j_44(28), 0(42)>)
(add_to_evolution
(loop_nb = 10)
(chrec_before = 0)
(to_add = 1)
(res = {0, +, 1}_10))
(evolution_function = {0, +, 1}_10))
(set_scalar_evolution
(scalar = j_49)
(scalar_evolution = {0, +, 1}_10))
)
(instantiate_parameters
(loop_nb = 10)
(chrec = {0, +, 1}_10)
(res = {0, +, 1}_10))
(analyze_scalar_evolution
(loop_nb = 10)
(scalar = i_71)
(get_scalar_evolution
(scalar = i_71)
(scalar_evolution = ))
)
(instantiate_parameters
(loop_nb = 10)
(chrec = i_71)
(analyze_scalar_evolution
(loop_nb = 9)
(scalar = i_71)
(get_scalar_evolution
(scalar = i_71)
(scalar_evolution = ))
(analyze_initial_condition
(loop_phi_node =
i_71 = PHI <0(41), i_45(31)>)
(init_cond = 0))
(analyze_evolution_in_loop
(loop_phi_node = i_71 = PHI <0(41), i_45(31)>)
(add_to_evolution
(loop_nb = 9)
(chrec_before = 0)
(to_add = 1)
(res = {0, +, 1}_9))
(evolution_function = {0, +, 1}_9))
(set_scalar_evolution
(scalar = i_71)
(scalar_evolution = {0, +, 1}_9))
)
(res = {0, +, 1}_9))
(analyze_scalar_evolution
(loop_nb = 10)
(scalar = 1)
(get_scalar_evolution
(scalar = 1)
(scalar_evolution = 1))
)
(instantiate_parameters
(loop_nb = 10)
(chrec = 1)
(res = 1))
)
(analyze_scalar_evolution
(loop_nb = 10)
(scalar = j_49)
(get_scalar_evolution
(scalar = j_49)
(scalar_evolution = {0, +, 1}_10))
(set_scalar_evolution
(scalar = j_49)
(scalar_evolution = {0, +, 1}_10))
)
(analyze_scalar_evolution
(loop_nb = 10)
(scalar = i_71)
(get_scalar_evolution
(scalar = i_71)
(scalar_evolution = {0, +, 1}_9))
)
Created dr for tmp2[2].e.n[1][i_71][j_49]
base_address: &tmp2
offset from base address: (<unnamed-signed:64>) (i_71 * 28)
constant offset from base address: 7104
base_object: tmp2[2].e.n
step: 4B
misalignment from base: 7104B
aligned to: 1
memtag: tmp2
(analyze_scalar_evolution
(loop_nb = 10)
(scalar = ivtmp.33_7)
(get_scalar_evolution
(scalar = ivtmp.33_7)
(scalar_evolution = {4, +, 4294967295}_10))
(set_scalar_evolution
(scalar = ivtmp.33_7)
(scalar_evolution = {4, +, 4294967295}_10))
)
(analyze_scalar_evolution
(loop_nb = 10)
(scalar = j_49)
(get_scalar_evolution
(scalar = j_49)
(scalar_evolution = {0, +, 1}_10))
(set_scalar_evolution
(scalar = j_49)
(scalar_evolution = {0, +, 1}_10))
)
(analyze_scalar_evolution
(loop_nb = 10)
(scalar = ivtmp.33_7)
(get_scalar_evolution
(scalar = ivtmp.33_7)
(scalar_evolution = {4, +, 4294967295}_10))
(set_scalar_evolution
(scalar = ivtmp.33_7)
(scalar_evolution = {4, +, 4294967295}_10))
)
(instantiate_parameters
(loop_nb = 10)
(chrec = {4, +, 4294967295}_10)
(res = {4, +, 4294967295}_10))
(analyze_scalar_evolution
(loop_nb = 10)
(scalar = j_49)
(get_scalar_evolution
(scalar = j_49)
(scalar_evolution = {0, +, 1}_10))
(set_scalar_evolution
(scalar = j_49)
(scalar_evolution = {0, +, 1}_10))
)
(instantiate_parameters
(loop_nb = 10)
(chrec = {0, +, 1}_10)
(res = {0, +, 1}_10))
no-section-anchors-vect-69.c:88: note: Alignment of access forced using peeling.(analyze_scalar_evolution
(loop_nb = 10)
(scalar = ivtmp.33_7)
(get_scalar_evolution
(scalar = ivtmp.33_7)
(scalar_evolution = {4, +, 4294967295}_10))
(set_scalar_evolution
(scalar = ivtmp.33_7)
(scalar_evolution = {4, +, 4294967295}_10))
)
(instantiate_parameters
(loop_nb = 10)
(chrec = {4, +, 4294967295}_10)
(res = {4, +, 4294967295}_10))
(analyze_scalar_evolution
(loop_nb = 10)
(scalar = j_49)
(get_scalar_evolution
(scalar = j_49)
(scalar_evolution = {0, +, 1}_10))
(set_scalar_evolution
(scalar = j_49)
(scalar_evolution = {0, +, 1}_10))
)
(instantiate_parameters
(loop_nb = 10)
(chrec = {0, +, 1}_10)
(res = {0, +, 1}_10))
(get_loop_exit_condition
if (ivtmp.33_46 != 0) goto <L112>; else goto <L33>;)
(get_loop_exit_condition
if (ivtmp.33_46 != 0) goto <L112>; else goto <L33>;)
(get_loop_exit_condition
if (ivtmp.33_95 != 0) goto <L117>; else goto <L121>;)
(get_loop_exit_condition
if (ivtmp.47_102 < prolog_loop_niters.46_89) goto <L117>; else goto <L121>;)
loop at no-section-anchors-vect-69.c:90: if (ivtmp.47_102 < prolog_loop_niters.46_89) goto <L117>; else goto <L121>;=== vect_update_inits_of_dr ===(get_loop_exit_condition
if (ivtmp.33_46 != 0) goto <L112>; else goto <L123>;)
(analyze_scalar_evolution
(loop_nb = 10)
(scalar = ivtmp.33_7)
(get_scalar_evolution
(scalar = ivtmp.33_7)
(scalar_evolution = ))
(analyze_initial_condition
(loop_phi_node =
ivtmp.33_7 = PHI <ivtmp.33_46(28), ivtmp.33_96(56)>)
(init_cond = ivtmp.33_96))
(analyze_evolution_in_loop
(loop_phi_node = ivtmp.33_7 = PHI <ivtmp.33_46(28), ivtmp.33_96(56)>)
(add_to_evolution
(loop_nb = 10)
(chrec_before = ivtmp.33_96)
(to_add = 1)
(res = {ivtmp.33_96, +, 4294967295}_10))
(evolution_function = {ivtmp.33_96, +, 4294967295}_10))
(set_scalar_evolution
(scalar = ivtmp.33_7)
(scalar_evolution = {ivtmp.33_96, +, 4294967295}_10))
)
(analyze_scalar_evolution
(loop_nb = 10)
(scalar = j_49)
(get_scalar_evolution
(scalar = j_49)
(scalar_evolution = ))
(analyze_initial_condition
(loop_phi_node =
j_49 = PHI <j_44(28), j_99(56)>)
(init_cond = j_99))
(analyze_evolution_in_loop
(loop_phi_node = j_49 = PHI <j_44(28), j_99(56)>)
(add_to_evolution
(loop_nb = 10)
(chrec_before = j_99)
(to_add = 1)
(res = {j_99, +, 1}_10))
(evolution_function = {j_99, +, 1}_10))
(set_scalar_evolution
(scalar = j_49)
(scalar_evolution = {j_99, +, 1}_10))
)
NOTE: no flow-sensitive alias info for ivtmp.59_129 in *ivtmp.59_129 = vect_cst_.53_120;
(get_loop_exit_condition
if (ivtmp.33_46 != 0) goto <L112>; else goto <L128>;)
(get_loop_exit_condition
if (ivtmp.60_132 < bnd.49_104) goto <L112>; else goto <L128>;)
loop at no-section-anchors-vect-69.c:90: if (ivtmp.60_132 < bnd.49_104) goto <L112>; else goto <L128>;
Registering new PHI nodes in block #0
Registering new PHI nodes in block #2
Registering new PHI nodes in block #3
Registering new PHI nodes in block #4
Registering new PHI nodes in block #5
Registering new PHI nodes in block #6
Registering new PHI nodes in block #7
Updating SSA information for statement abort ();
Registering new PHI nodes in block #8
Registering new PHI nodes in block #9
Registering new PHI nodes in block #10
Registering new PHI nodes in block #11
Registering new PHI nodes in block #12
Registering new PHI nodes in block #13
Registering new PHI nodes in block #14
Registering new PHI nodes in block #15
Updating SSA information for statement abort ();
Registering new PHI nodes in block #16
Registering new PHI nodes in block #17
Registering new PHI nodes in block #39
Registering new PHI nodes in block #40
Registering new PHI nodes in block #19
Registering new PHI nodes in block #20
Registering new PHI nodes in block #21
Registering new PHI nodes in block #43
Registering new PHI nodes in block #44
Registering new PHI nodes in block #23
Registering new PHI nodes in block #24
Updating SSA information for statement abort ();
Registering new PHI nodes in block #25
Registering new PHI nodes in block #26
Registering new PHI nodes in block #27
Registering new PHI nodes in block #41
Registering new PHI nodes in block #42
Registering new PHI nodes in block #49
Registering new PHI nodes in block #47
Updating SSA information for statement tmp2[2].e.n[1][i_71][j_92] = 8;
Registering new PHI nodes in block #48
Registering new PHI nodes in block #51
Registering new PHI nodes in block #50
Registering new PHI nodes in block #56
Registering new PHI nodes in block #57
Registering new PHI nodes in block #54
Updating SSA information for statement tmp2[2].e.n[1][i_71][j_108] = 8;
Registering new PHI nodes in block #55
Registering new PHI nodes in block #60
Registering new PHI nodes in block #59
Registering new PHI nodes in block #53
Registering new PHI nodes in block #61
Registering new PHI nodes in block #29
Updating SSA information for statement *ivtmp.59_129 = vect_cst_.53_120;
Registering new PHI nodes in block #28
Registering new PHI nodes in block #58
Registering new PHI nodes in block #52
Registering new PHI nodes in block #30
Registering new PHI nodes in block #31
Registering new PHI nodes in block #45
Registering new PHI nodes in block #46
Registering new PHI nodes in block #33
Updating SSA information for statement D.2303_50 = tmp2[2].e.n[1][i_73][j_76];
Registering new PHI nodes in block #34
Updating SSA information for statement abort ();
Registering new PHI nodes in block #35
Registering new PHI nodes in block #36
Registering new PHI nodes in block #38
Registering new PHI nodes in block #37
Registering new PHI nodes in block #32
Registering new PHI nodes in block #22
Registering new PHI nodes in block #18
Symbols to be put in SSA form
{ tmp2 }
Incremental SSA update started at block: 0
Number of blocks in CFG: 62
Number of blocks to update: 61 ( 98%)
Affected blocks: 0 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
no-section-anchors-vect-69.c:88: note: LOOP VECTORIZED.(get_loop_exit_condition
)
(get_loop_exit_condition
)
(get_loop_exit_condition
if (ivtmp.36_10 != 0) goto <L107>; else goto <L108>;)
(get_loop_exit_condition
if (ivtmp.37_58 != 0) goto <L106>; else goto <L19>;)
(number_of_iterations_in_loop
(analyze_scalar_evolution
(loop_nb = 6)
(scalar = ivtmp.37_58)
(get_scalar_evolution
(scalar = ivtmp.37_58)
(scalar_evolution = ))
(analyze_scalar_evolution
(loop_nb = 6)
(scalar = ivtmp.37_3)
(get_scalar_evolution
(scalar = ivtmp.37_3)
(scalar_evolution = ))
(analyze_initial_condition
(loop_phi_node =
ivtmp.37_3 = PHI <ivtmp.37_58(18), 8(40)>)
(init_cond = 8))
(analyze_evolution_in_loop
(loop_phi_node = ivtmp.37_3 = PHI <ivtmp.37_58(18), 8(40)>)
(add_to_evolution
(loop_nb = 6)
(chrec_before = 8)
(to_add = 1)
(res = {8, +, 4294967295}_6))
(evolution_function = {8, +, 4294967295}_6))
(set_scalar_evolution
(scalar = ivtmp.37_3)
(scalar_evolution = {8, +, 4294967295}_6))
)
(analyze_scalar_evolution
(loop_nb = 6)
(scalar = 1)
(get_scalar_evolution
(scalar = 1)
(scalar_evolution = 1))
)
(set_scalar_evolution
(scalar = ivtmp.37_58)
(scalar_evolution = {7, +, 4294967295}_6))
)
(analyze_scalar_evolution
(loop_nb = 6)
(scalar = 0)
(get_scalar_evolution
(scalar = 0)
(scalar_evolution = 0))
)
Analysing # of iterations of loop 6
exit condition [7, + , 4294967295] != 0
bounds on difference of bases: -7 ... -7
result:
# of iterations 7, bounded by 7
(set_nb_iterations_in_loop = 7))
(get_loop_exit_condition
if (ivtmp.37_58 != 0) goto <L106>; else goto <L19>;)
(init_array_ref
(ref = tmp1[2].e.n[1][i_68][j_53];
)
(analyze_scalar_evolution
(loop_nb = 6)
(scalar = j_53)
(get_scalar_evolution
(scalar = j_53)
(scalar_evolution = ))
(analyze_initial_condition
(loop_phi_node =
j_53 = PHI <j_31(18), 0(40)>)
(init_cond = 0))
(analyze_evolution_in_loop
(loop_phi_node = j_53 = PHI <j_31(18), 0(40)>)
(add_to_evolution
(loop_nb = 6)
(chrec_before = 0)
(to_add = 1)
(res = {0, +, 1}_6))
(evolution_function = {0, +, 1}_6))
(set_scalar_evolution
(scalar = j_53)
(scalar_evolution = {0, +, 1}_6))
)
(instantiate_parameters
(loop_nb = 6)
(chrec = {0, +, 1}_6)
(res = {0, +, 1}_6))
(analyze_scalar_evolution
(loop_nb = 6)
(scalar = i_68)
(get_scalar_evolution
(scalar = i_68)
(scalar_evolution = ))
)
(instantiate_parameters
(loop_nb = 6)
(chrec = i_68)
(analyze_scalar_evolution
(loop_nb = 5)
(scalar = i_68)
(get_scalar_evolution
(scalar = i_68)
(scalar_evolution = ))
(analyze_initial_condition
(loop_phi_node =
i_68 = PHI <0(39), i_32(21)>)
(init_cond = 0))
(analyze_evolution_in_loop
(loop_phi_node = i_68 = PHI <0(39), i_32(21)>)
(add_to_evolution
(loop_nb = 5)
(chrec_before = 0)
(to_add = 1)
(res = {0, +, 1}_5))
(evolution_function = {0, +, 1}_5))
(set_scalar_evolution
(scalar = i_68)
(scalar_evolution = {0, +, 1}_5))
)
(res = {0, +, 1}_5))
(analyze_scalar_evolution
(loop_nb = 6)
(scalar = 1)
(get_scalar_evolution
(scalar = 1)
(scalar_evolution = 1))
)
(instantiate_parameters
(loop_nb = 6)
(chrec = 1)
(res = 1))
)
(analyze_scalar_evolution
(loop_nb = 6)
(scalar = j_53)
(get_scalar_evolution
(scalar = j_53)
(scalar_evolution = {0, +, 1}_6))
(set_scalar_evolution
(scalar = j_53)
(scalar_evolution = {0, +, 1}_6))
)
(analyze_scalar_evolution
(loop_nb = 6)
(scalar = i_68)
(get_scalar_evolution
(scalar = i_68)
(scalar_evolution = {0, +, 1}_5))
)
Created dr for tmp1[2].e.n[1][i_68][j_53]
base_address: &tmp1
offset from base address: (<unnamed-signed:64>) (i_68 * 32)
constant offset from base address: 10544
base_object: tmp1[2].e.n
step: 4B
misalignment from base: 10544B
aligned to: 8
memtag: tmp1
(analyze_scalar_evolution
(loop_nb = 6)
(scalar = ivtmp.37_3)
(get_scalar_evolution
(scalar = ivtmp.37_3)
(scalar_evolution = {8, +, 4294967295}_6))
(set_scalar_evolution
(scalar = ivtmp.37_3)
(scalar_evolution = {8, +, 4294967295}_6))
)
(analyze_scalar_evolution
(loop_nb = 6)
(scalar = j_53)
(get_scalar_evolution
(scalar = j_53)
(scalar_evolution = {0, +, 1}_6))
(set_scalar_evolution
(scalar = j_53)
(scalar_evolution = {0, +, 1}_6))
)
(analyze_scalar_evolution
(loop_nb = 6)
(scalar = ivtmp.37_3)
(get_scalar_evolution
(scalar = ivtmp.37_3)
(scalar_evolution = {8, +, 4294967295}_6))
(set_scalar_evolution
(scalar = ivtmp.37_3)
(scalar_evolution = {8, +, 4294967295}_6))
)
(instantiate_parameters
(loop_nb = 6)
(chrec = {8, +, 4294967295}_6)
(res = {8, +, 4294967295}_6))
(analyze_scalar_evolution
(loop_nb = 6)
(scalar = j_53)
(get_scalar_evolution
(scalar = j_53)
(scalar_evolution = {0, +, 1}_6))
(set_scalar_evolution
(scalar = j_53)
(scalar_evolution = {0, +, 1}_6))
)
(instantiate_parameters
(loop_nb = 6)
(chrec = {0, +, 1}_6)
(res = {0, +, 1}_6))
NOTE: no flow-sensitive alias info for ivtmp.67_142 in *ivtmp.67_142 = vect_cst_.61_135;
(get_loop_exit_condition
if (ivtmp.37_58 != 0) goto <L106>; else goto <L19>;)
(get_loop_exit_condition
if (ivtmp.68_145 < 4) goto <L106>; else goto <L19>;)
loop at no-section-anchors-vect-69.c:71: if (ivtmp.68_145 < 4) goto <L106>; else goto <L19>;
Registering new PHI nodes in block #0
Registering new PHI nodes in block #2
Registering new PHI nodes in block #3
Updating SSA information for statement tmp1[2].a.n[1][2][i_48] = 5;
Registering new PHI nodes in block #4
Registering new PHI nodes in block #5
Registering new PHI nodes in block #6
Updating SSA information for statement D.2300_18 = tmp1[2].a.n[1][2][i_67];
Registering new PHI nodes in block #7
Updating SSA information for statement abort ();
Registering new PHI nodes in block #8
Registering new PHI nodes in block #9
Registering new PHI nodes in block #10
Registering new PHI nodes in block #11
Updating SSA information for statement tmp1[2].a.n[1][2][i_47] = 6;
Registering new PHI nodes in block #12
Registering new PHI nodes in block #13
Registering new PHI nodes in block #14
Updating SSA information for statement D.2300_25 = tmp1[2].a.n[1][2][i_42];
Registering new PHI nodes in block #15
Updating SSA information for statement abort ();
Registering new PHI nodes in block #16
Registering new PHI nodes in block #17
Registering new PHI nodes in block #39
Registering new PHI nodes in block #40
Registering new PHI nodes in block #62
Registering new PHI nodes in block #19
Updating SSA information for statement *ivtmp.67_142 = vect_cst_.61_135;
Registering new PHI nodes in block #20
Registering new PHI nodes in block #21
Registering new PHI nodes in block #43
Registering new PHI nodes in block #44
Registering new PHI nodes in block #23
Updating SSA information for statement D.2302_37 = tmp1[2].e.n[1][i_70][j_74];
Registering new PHI nodes in block #24
Updating SSA information for statement abort ();
Registering new PHI nodes in block #25
Registering new PHI nodes in block #26
Registering new PHI nodes in block #27
Registering new PHI nodes in block #41
Registering new PHI nodes in block #42
Registering new PHI nodes in block #49
Registering new PHI nodes in block #47
Registering new PHI nodes in block #48
Registering new PHI nodes in block #51
Registering new PHI nodes in block #50
Registering new PHI nodes in block #56
Registering new PHI nodes in block #57
Registering new PHI nodes in block #54
Registering new PHI nodes in block #55
Registering new PHI nodes in block #60
Registering new PHI nodes in block #59
Registering new PHI nodes in block #53
Registering new PHI nodes in block #61
Registering new PHI nodes in block #29
Registering new PHI nodes in block #28
Registering new PHI nodes in block #58
Registering new PHI nodes in block #52
Registering new PHI nodes in block #30
Registering new PHI nodes in block #31
Registering new PHI nodes in block #45
Registering new PHI nodes in block #46
Registering new PHI nodes in block #33
Registering new PHI nodes in block #34
Updating SSA information for statement abort ();
Registering new PHI nodes in block #35
Registering new PHI nodes in block #36
Registering new PHI nodes in block #38
Registering new PHI nodes in block #37
Registering new PHI nodes in block #32
Registering new PHI nodes in block #22
Registering new PHI nodes in block #18
Symbols to be put in SSA form
{ tmp1 }
Incremental SSA update started at block: 0
Number of blocks in CFG: 63
Number of blocks to update: 62 ( 98%)
Affected blocks: 0 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
no-section-anchors-vect-69.c:69: note: LOOP VECTORIZED.(get_loop_exit_condition
)
(get_loop_exit_condition
if (ivtmp.39_57 != 0) goto <L102>; else goto <L103>;)
(number_of_iterations_in_loop
(analyze_scalar_evolution
(loop_nb = 3)
(scalar = ivtmp.39_57)
(get_scalar_evolution
(scalar = ivtmp.39_57)
(scalar_evolution = ))
(analyze_scalar_evolution
(loop_nb = 3)
(scalar = ivtmp.39_41)
(get_scalar_evolution
(scalar = ivtmp.39_41)
(scalar_evolution = ))
(analyze_initial_condition
(loop_phi_node =
ivtmp.39_41 = PHI <4(10), ivtmp.39_57(12)>)
(init_cond = 4))
(analyze_evolution_in_loop
(loop_phi_node = ivtmp.39_41 = PHI <4(10), ivtmp.39_57(12)>)
(add_to_evolution
(loop_nb = 3)
(chrec_before = 4)
(to_add = 1)
(res = {4, +, 4294967295}_3))
(evolution_function = {4, +, 4294967295}_3))
(set_scalar_evolution
(scalar = ivtmp.39_41)
(scalar_evolution = {4, +, 4294967295}_3))
)
(analyze_scalar_evolution
(loop_nb = 3)
(scalar = 1)
(get_scalar_evolution
(scalar = 1)
(scalar_evolution = 1))
)
(set_scalar_evolution
(scalar = ivtmp.39_57)
(scalar_evolution = {3, +, 4294967295}_3))
)
(analyze_scalar_evolution
(loop_nb = 3)
(scalar = 0)
(get_scalar_evolution
(scalar = 0)
(scalar_evolution = 0))
)
Analysing # of iterations of loop 3
exit condition [3, + , 4294967295] != 0
bounds on difference of bases: -3 ... -3
result:
# of iterations 3, bounded by 3
(set_nb_iterations_in_loop = 3))
(get_loop_exit_condition
if (ivtmp.39_57 != 0) goto <L102>; else goto <L103>;)
(init_array_ref
(ref = tmp1[2].a.n[1][2][i_47];
)
(analyze_scalar_evolution
(loop_nb = 3)
(scalar = i_47)
(get_scalar_evolution
(scalar = i_47)
(scalar_evolution = ))
(analyze_initial_condition
(loop_phi_node =
i_47 = PHI <3(10), i_22(12)>)
(init_cond = 3))
(analyze_evolution_in_loop
(loop_phi_node = i_47 = PHI <3(10), i_22(12)>)
(add_to_evolution
(loop_nb = 3)
(chrec_before = 3)
(to_add = 1)
(res = {3, +, 1}_3))
(evolution_function = {3, +, 1}_3))
(set_scalar_evolution
(scalar = i_47)
(scalar_evolution = {3, +, 1}_3))
)
(instantiate_parameters
(loop_nb = 3)
(chrec = {3, +, 1}_3)
(res = {3, +, 1}_3))
(analyze_scalar_evolution
(loop_nb = 3)
(scalar = 2)
(get_scalar_evolution
(scalar = 2)
(scalar_evolution = 2))
)
(instantiate_parameters
(loop_nb = 3)
(chrec = 2)
(res = 2))
(analyze_scalar_evolution
(loop_nb = 3)
(scalar = 1)
(get_scalar_evolution
(scalar = 1)
(scalar_evolution = 1))
)
(instantiate_parameters
(loop_nb = 3)
(chrec = 1)
(res = 1))
)
(analyze_scalar_evolution
(loop_nb = 3)
(scalar = i_47)
(get_scalar_evolution
(scalar = i_47)
(scalar_evolution = {3, +, 1}_3))
(set_scalar_evolution
(scalar = i_47)
(scalar_evolution = {3, +, 1}_3))
)
Created dr for tmp1[2].a.n[1][2][i_47]
base_address: &tmp1
offset from base address: 0
constant offset from base address: 8560
base_object: tmp1[2].a.n
step: 4B
misalignment from base: 8560B
memtag: tmp1
(analyze_scalar_evolution
(loop_nb = 3)
(scalar = ivtmp.39_41)
(get_scalar_evolution
(scalar = ivtmp.39_41)
(scalar_evolution = {4, +, 4294967295}_3))
(set_scalar_evolution
(scalar = ivtmp.39_41)
(scalar_evolution = {4, +, 4294967295}_3))
)
(analyze_scalar_evolution
(loop_nb = 3)
(scalar = i_47)
(get_scalar_evolution
(scalar = i_47)
(scalar_evolution = {3, +, 1}_3))
(set_scalar_evolution
(scalar = i_47)
(scalar_evolution = {3, +, 1}_3))
)
(analyze_scalar_evolution
(loop_nb = 3)
(scalar = ivtmp.39_41)
(get_scalar_evolution
(scalar = ivtmp.39_41)
(scalar_evolution = {4, +, 4294967295}_3))
(set_scalar_evolution
(scalar = ivtmp.39_41)
(scalar_evolution = {4, +, 4294967295}_3))
)
(instantiate_parameters
(loop_nb = 3)
(chrec = {4, +, 4294967295}_3)
(res = {4, +, 4294967295}_3))
(analyze_scalar_evolution
(loop_nb = 3)
(scalar = i_47)
(get_scalar_evolution
(scalar = i_47)
(scalar_evolution = {3, +, 1}_3))
(set_scalar_evolution
(scalar = i_47)
(scalar_evolution = {3, +, 1}_3))
)
(instantiate_parameters
(loop_nb = 3)
(chrec = {3, +, 1}_3)
(res = {3, +, 1}_3))
NOTE: no flow-sensitive alias info for ivtmp.75_150 in *ivtmp.75_150 = vect_cst_.69_146;
(get_loop_exit_condition
if (ivtmp.39_57 != 0) goto <L102>; else goto <L103>;)
(get_loop_exit_condition
if (ivtmp.76_153 < 2) goto <L102>; else goto <L103>;)
loop at no-section-anchors-vect-69.c:56: if (ivtmp.76_153 < 2) goto <L102>; else goto <L103>;
Registering new PHI nodes in block #0
Registering new PHI nodes in block #2
Registering new PHI nodes in block #3
Updating SSA information for statement tmp1[2].a.n[1][2][i_48] = 5;
Registering new PHI nodes in block #4
Registering new PHI nodes in block #5
Registering new PHI nodes in block #6
Updating SSA information for statement D.2300_18 = tmp1[2].a.n[1][2][i_67];
Registering new PHI nodes in block #7
Updating SSA information for statement abort ();
Registering new PHI nodes in block #8
Registering new PHI nodes in block #9
Registering new PHI nodes in block #10
Registering new PHI nodes in block #63
Registering new PHI nodes in block #11
Updating SSA information for statement *ivtmp.75_150 = vect_cst_.69_146;
Registering new PHI nodes in block #12
Registering new PHI nodes in block #13
Registering new PHI nodes in block #14
Updating SSA information for statement D.2300_25 = tmp1[2].a.n[1][2][i_42];
Registering new PHI nodes in block #15
Updating SSA information for statement abort ();
Registering new PHI nodes in block #16
Registering new PHI nodes in block #17
Registering new PHI nodes in block #39
Registering new PHI nodes in block #40
Registering new PHI nodes in block #62
Registering new PHI nodes in block #19
Updating SSA information for statement *ivtmp.67_142 = vect_cst_.61_135;
Registering new PHI nodes in block #20
Registering new PHI nodes in block #21
Registering new PHI nodes in block #43
Registering new PHI nodes in block #44
Registering new PHI nodes in block #23
Updating SSA information for statement D.2302_37 = tmp1[2].e.n[1][i_70][j_74];
Registering new PHI nodes in block #24
Updating SSA information for statement abort ();
Registering new PHI nodes in block #25
Registering new PHI nodes in block #26
Registering new PHI nodes in block #27
Registering new PHI nodes in block #41
Registering new PHI nodes in block #42
Registering new PHI nodes in block #49
Registering new PHI nodes in block #47
Registering new PHI nodes in block #48
Registering new PHI nodes in block #51
Registering new PHI nodes in block #50
Registering new PHI nodes in block #56
Registering new PHI nodes in block #57
Registering new PHI nodes in block #54
Registering new PHI nodes in block #55
Registering new PHI nodes in block #60
Registering new PHI nodes in block #59
Registering new PHI nodes in block #53
Registering new PHI nodes in block #61
Registering new PHI nodes in block #29
Registering new PHI nodes in block #28
Registering new PHI nodes in block #58
Registering new PHI nodes in block #52
Registering new PHI nodes in block #30
Registering new PHI nodes in block #31
Registering new PHI nodes in block #45
Registering new PHI nodes in block #46
Registering new PHI nodes in block #33
Registering new PHI nodes in block #34
Updating SSA information for statement abort ();
Registering new PHI nodes in block #35
Registering new PHI nodes in block #36
Registering new PHI nodes in block #38
Registering new PHI nodes in block #37
Registering new PHI nodes in block #32
Registering new PHI nodes in block #22
Registering new PHI nodes in block #18
Symbols to be put in SSA form
{ tmp1 }
Incremental SSA update started at block: 0
Number of blocks in CFG: 64
Number of blocks to update: 63 ( 98%)
Affected blocks: 0 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
no-section-anchors-vect-69.c:54: note: LOOP VECTORIZED.(get_loop_exit_condition
)
(get_loop_exit_condition
if (ivtmp.41_60 != 0) goto <L98>; else goto <L99>;)
(number_of_iterations_in_loop
(analyze_scalar_evolution
(loop_nb = 1)
(scalar = ivtmp.41_60)
(get_scalar_evolution
(scalar = ivtmp.41_60)
(scalar_evolution = ))
(analyze_scalar_evolution
(loop_nb = 1)
(scalar = ivtmp.41_4)
(get_scalar_evolution
(scalar = ivtmp.41_4)
(scalar_evolution = ))
(analyze_initial_condition
(loop_phi_node =
ivtmp.41_4 = PHI <ivtmp.41_60(4), 8(2)>)
(init_cond = 8))
(analyze_evolution_in_loop
(loop_phi_node = ivtmp.41_4 = PHI <ivtmp.41_60(4), 8(2)>)
(add_to_evolution
(loop_nb = 1)
(chrec_before = 8)
(to_add = 1)
(res = {8, +, 4294967295}_1))
(evolution_function = {8, +, 4294967295}_1))
(set_scalar_evolution
(scalar = ivtmp.41_4)
(scalar_evolution = {8, +, 4294967295}_1))
)
(analyze_scalar_evolution
(loop_nb = 1)
(scalar = 1)
(get_scalar_evolution
(scalar = 1)
(scalar_evolution = 1))
)
(set_scalar_evolution
(scalar = ivtmp.41_60)
(scalar_evolution = {7, +, 4294967295}_1))
)
(analyze_scalar_evolution
(loop_nb = 1)
(scalar = 0)
(get_scalar_evolution
(scalar = 0)
(scalar_evolution = 0))
)
Analysing # of iterations of loop 1
exit condition [7, + , 4294967295] != 0
bounds on difference of bases: -7 ... -7
result:
# of iterations 7, bounded by 7
(set_nb_iterations_in_loop = 7))
(get_loop_exit_condition
if (ivtmp.41_60 != 0) goto <L98>; else goto <L99>;)
(init_array_ref
(ref = tmp1[2].a.n[1][2][i_48];
)
(analyze_scalar_evolution
(loop_nb = 1)
(scalar = i_48)
(get_scalar_evolution
(scalar = i_48)
(scalar_evolution = ))
(analyze_initial_condition
(loop_phi_node =
i_48 = PHI <i_15(4), 0(2)>)
(init_cond = 0))
(analyze_evolution_in_loop
(loop_phi_node = i_48 = PHI <i_15(4), 0(2)>)
(add_to_evolution
(loop_nb = 1)
(chrec_before = 0)
(to_add = 1)
(res = {0, +, 1}_1))
(evolution_function = {0, +, 1}_1))
(set_scalar_evolution
(scalar = i_48)
(scalar_evolution = {0, +, 1}_1))
)
(instantiate_parameters
(loop_nb = 1)
(chrec = {0, +, 1}_1)
(res = {0, +, 1}_1))
(analyze_scalar_evolution
(loop_nb = 1)
(scalar = 2)
(get_scalar_evolution
(scalar = 2)
(scalar_evolution = 2))
)
(instantiate_parameters
(loop_nb = 1)
(chrec = 2)
(res = 2))
(analyze_scalar_evolution
(loop_nb = 1)
(scalar = 1)
(get_scalar_evolution
(scalar = 1)
(scalar_evolution = 1))
)
(instantiate_parameters
(loop_nb = 1)
(chrec = 1)
(res = 1))
)
(analyze_scalar_evolution
(loop_nb = 1)
(scalar = i_48)
(get_scalar_evolution
(scalar = i_48)
(scalar_evolution = {0, +, 1}_1))
(set_scalar_evolution
(scalar = i_48)
(scalar_evolution = {0, +, 1}_1))
)
Created dr for tmp1[2].a.n[1][2][i_48]
base_address: &tmp1
offset from base address: 0
constant offset from base address: 8548
base_object: tmp1[2].a.n
step: 4B
misalignment from base: 8548B
memtag: tmp1
(analyze_scalar_evolution
(loop_nb = 1)
(scalar = ivtmp.41_4)
(get_scalar_evolution
(scalar = ivtmp.41_4)
(scalar_evolution = {8, +, 4294967295}_1))
(set_scalar_evolution
(scalar = ivtmp.41_4)
(scalar_evolution = {8, +, 4294967295}_1))
)
(analyze_scalar_evolution
(loop_nb = 1)
(scalar = i_48)
(get_scalar_evolution
(scalar = i_48)
(scalar_evolution = {0, +, 1}_1))
(set_scalar_evolution
(scalar = i_48)
(scalar_evolution = {0, +, 1}_1))
)
(analyze_scalar_evolution
(loop_nb = 1)
(scalar = ivtmp.41_4)
(get_scalar_evolution
(scalar = ivtmp.41_4)
(scalar_evolution = {8, +, 4294967295}_1))
(set_scalar_evolution
(scalar = ivtmp.41_4)
(scalar_evolution = {8, +, 4294967295}_1))
)
(instantiate_parameters
(loop_nb = 1)
(chrec = {8, +, 4294967295}_1)
(res = {8, +, 4294967295}_1))
(analyze_scalar_evolution
(loop_nb = 1)
(scalar = i_48)
(get_scalar_evolution
(scalar = i_48)
(scalar_evolution = {0, +, 1}_1))
(set_scalar_evolution
(scalar = i_48)
(scalar_evolution = {0, +, 1}_1))
)
(instantiate_parameters
(loop_nb = 1)
(chrec = {0, +, 1}_1)
(res = {0, +, 1}_1))
no-section-anchors-vect-69.c:41: note: Alignment of access forced using peeling.(analyze_scalar_evolution
(loop_nb = 1)
(scalar = ivtmp.41_4)
(get_scalar_evolution
(scalar = ivtmp.41_4)
(scalar_evolution = {8, +, 4294967295}_1))
(set_scalar_evolution
(scalar = ivtmp.41_4)
(scalar_evolution = {8, +, 4294967295}_1))
)
(instantiate_parameters
(loop_nb = 1)
(chrec = {8, +, 4294967295}_1)
(res = {8, +, 4294967295}_1))
(analyze_scalar_evolution
(loop_nb = 1)
(scalar = i_48)
(get_scalar_evolution
(scalar = i_48)
(scalar_evolution = {0, +, 1}_1))
(set_scalar_evolution
(scalar = i_48)
(scalar_evolution = {0, +, 1}_1))
)
(instantiate_parameters
(loop_nb = 1)
(chrec = {0, +, 1}_1)
(res = {0, +, 1}_1))
(get_loop_exit_condition
if (ivtmp.41_60 != 0) goto <L98>; else goto <L99>;)
(get_loop_exit_condition
if (ivtmp.41_60 != 0) goto <L98>; else goto <L99>;)
(get_loop_exit_condition
if (ivtmp.41_159 != 0) goto <L134>; else goto <L138>;)
(get_loop_exit_condition
if (ivtmp.79_166 < 1) goto <L134>; else goto <L138>;)
loop at no-section-anchors-vect-69.c:43: if (ivtmp.79_166 < 1) goto <L134>; else goto <L138>;=== vect_update_inits_of_dr ===(get_loop_exit_condition
if (ivtmp.41_60 != 0) goto <L98>; else goto <L140>;)
(analyze_scalar_evolution
(loop_nb = 1)
(scalar = ivtmp.41_4)
(get_scalar_evolution
(scalar = ivtmp.41_4)
(scalar_evolution = ))
(analyze_initial_condition
(loop_phi_node =
ivtmp.41_4 = PHI <ivtmp.41_60(4), ivtmp.41_160(73)>)
(init_cond = ivtmp.41_160))
(analyze_evolution_in_loop
(loop_phi_node = ivtmp.41_4 = PHI <ivtmp.41_60(4), ivtmp.41_160(73)>)
(add_to_evolution
(loop_nb = 1)
(chrec_before = ivtmp.41_160)
(to_add = 1)
(res = {ivtmp.41_160, +, 4294967295}_1))
(evolution_function = {ivtmp.41_160, +, 4294967295}_1))
(set_scalar_evolution
(scalar = ivtmp.41_4)
(scalar_evolution = {ivtmp.41_160, +, 4294967295}_1))
)
(analyze_scalar_evolution
(loop_nb = 1)
(scalar = i_48)
(get_scalar_evolution
(scalar = i_48)
(scalar_evolution = ))
(analyze_initial_condition
(loop_phi_node =
i_48 = PHI <i_15(4), i_163(73)>)
(init_cond = i_163))
(analyze_evolution_in_loop
(loop_phi_node = i_48 = PHI <i_15(4), i_163(73)>)
(add_to_evolution
(loop_nb = 1)
(chrec_before = i_163)
(to_add = 1)
(res = {i_163, +, 1}_1))
(evolution_function = {i_163, +, 1}_1))
(set_scalar_evolution
(scalar = i_48)
(scalar_evolution = {i_163, +, 1}_1))
)
NOTE: no flow-sensitive alias info for ivtmp.89_184 in *ivtmp.89_184 = vect_cst_.83_180;
(get_loop_exit_condition
if (ivtmp.41_60 != 0) goto <L98>; else goto <L145>;)
(get_loop_exit_condition
if (ivtmp.90_187 < 3) goto <L98>; else goto <L145>;)
loop at no-section-anchors-vect-69.c:43: if (ivtmp.90_187 < 3) goto <L98>; else goto <L145>;
Registering new PHI nodes in block #0
Registering new PHI nodes in block #2
Registering new PHI nodes in block #66
Registering new PHI nodes in block #64
Updating SSA information for statement tmp1[2].a.n[1][2][i_156] = 5;
Registering new PHI nodes in block #65
Registering new PHI nodes in block #68
Registering new PHI nodes in block #67
Registering new PHI nodes in block #73
Registering new PHI nodes in block #74
Registering new PHI nodes in block #71
Updating SSA information for statement tmp1[2].a.n[1][2][i_169] = 5;
Registering new PHI nodes in block #72
Registering new PHI nodes in block #77
Registering new PHI nodes in block #76
Registering new PHI nodes in block #70
Registering new PHI nodes in block #78
Registering new PHI nodes in block #3
Updating SSA information for statement *ivtmp.89_184 = vect_cst_.83_180;
Registering new PHI nodes in block #4
Registering new PHI nodes in block #75
Registering new PHI nodes in block #69
Registering new PHI nodes in block #5
Registering new PHI nodes in block #6
Updating SSA information for statement D.2300_18 = tmp1[2].a.n[1][2][i_67];
Registering new PHI nodes in block #7
Updating SSA information for statement abort ();
Registering new PHI nodes in block #8
Registering new PHI nodes in block #9
Registering new PHI nodes in block #10
Registering new PHI nodes in block #63
Registering new PHI nodes in block #11
Updating SSA information for statement *ivtmp.75_150 = vect_cst_.69_146;
Registering new PHI nodes in block #12
Registering new PHI nodes in block #13
Registering new PHI nodes in block #14
Updating SSA information for statement D.2300_25 = tmp1[2].a.n[1][2][i_42];
Registering new PHI nodes in block #15
Updating SSA information for statement abort ();
Registering new PHI nodes in block #16
Registering new PHI nodes in block #17
Registering new PHI nodes in block #39
Registering new PHI nodes in block #40
Registering new PHI nodes in block #62
Registering new PHI nodes in block #19
Updating SSA information for statement *ivtmp.67_142 = vect_cst_.61_135;
Registering new PHI nodes in block #20
Registering new PHI nodes in block #21
Registering new PHI nodes in block #43
Registering new PHI nodes in block #44
Registering new PHI nodes in block #23
Updating SSA information for statement D.2302_37 = tmp1[2].e.n[1][i_70][j_74];
Registering new PHI nodes in block #24
Updating SSA information for statement abort ();
Registering new PHI nodes in block #25
Registering new PHI nodes in block #26
Registering new PHI nodes in block #27
Registering new PHI nodes in block #41
Registering new PHI nodes in block #42
Registering new PHI nodes in block #49
Registering new PHI nodes in block #47
Registering new PHI nodes in block #48
Registering new PHI nodes in block #51
Registering new PHI nodes in block #50
Registering new PHI nodes in block #56
Registering new PHI nodes in block #57
Registering new PHI nodes in block #54
Registering new PHI nodes in block #55
Registering new PHI nodes in block #60
Registering new PHI nodes in block #59
Registering new PHI nodes in block #53
Registering new PHI nodes in block #61
Registering new PHI nodes in block #29
Registering new PHI nodes in block #28
Registering new PHI nodes in block #58
Registering new PHI nodes in block #52
Registering new PHI nodes in block #30
Registering new PHI nodes in block #31
Registering new PHI nodes in block #45
Registering new PHI nodes in block #46
Registering new PHI nodes in block #33
Registering new PHI nodes in block #34
Updating SSA information for statement abort ();
Registering new PHI nodes in block #35
Registering new PHI nodes in block #36
Registering new PHI nodes in block #38
Registering new PHI nodes in block #37
Registering new PHI nodes in block #32
Registering new PHI nodes in block #22
Registering new PHI nodes in block #18
Symbols to be put in SSA form
{ tmp1 }
Incremental SSA update started at block: 0
Number of blocks in CFG: 79
Number of blocks to update: 78 ( 99%)
Affected blocks: 0 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78
no-section-anchors-vect-69.c:41: note: LOOP VECTORIZED.
no-section-anchors-vect-69.c:37: note: vectorized 4 loops in function.
Removing basic block 53
;; basic block 53, loop depth 1, count 0
;; prev block 59, next block 52
;; pred:
;; succ: 52 [100.0%] (fallthru)
Invalid sum of incoming frequencies 0, should be 349
<L123>:;
Removing basic block 60
;; basic block 60, loop depth 1, count 0
;; prev block 55, next block 59
;; pred:
;; succ: 59 [100.0%] (fallthru)
Invalid sum of incoming frequencies 0, should be 349
<L130>:;
Removing basic block 10
;; basic block 10, loop depth 0, count 0
;; prev block 9, next block 63
;; pred:
;; succ: 63 [100.0%] (fallthru,exec)
Invalid sum of incoming frequencies 0, should be 144
<L101>:;
Removing basic block 70
;; basic block 70, loop depth 0, count 0
;; prev block 76, next block 69
;; pred:
;; succ: 69 [100.0%] (fallthru)
Invalid sum of incoming frequencies 0, should be 156
<L140>:;
Removing basic block 77
;; basic block 77, loop depth 0, count 0
;; prev block 4, next block 76
;; pred:
;; succ: 76 [100.0%] (fallthru)
Invalid sum of incoming frequencies 0, should be 156
<L147>:;
Removing basic block 73
;; basic block 73, loop depth 0, count 0
;; prev block 67, next block 78
;; pred:
;; succ: 78 [100.0%] (fallthru)
Invalid sum of incoming frequencies 0, should be 156
<L143>:;
Merging blocks 2 and 66
Merging blocks 68 and 67
Merging blocks 68 and 78
Merging blocks 75 and 74
Merging blocks 76 and 69
Merging blocks 76 and 5
Merging blocks 52 and 30
Merging blocks 40 and 62
Merging blocks 42 and 49
Merging blocks 50 and 56
Created preheader block for loop 13
main1 ()
{
unsigned int ivtmp.90;
vector int * ivtmp.89;
struct test1[4] * D.2534;
vector int * vect_ptmp1.88;
vector int * vect_ptmp1.84;
vector int vect_cst_.83;
int tmp.82;
unsigned int tmp.81;
unsigned int ivtmp.79;
unsigned int ivtmp.76;
vector int * ivtmp.75;
struct test1[4] * D.2502;
vector int * vect_ptmp1.74;
vector int * vect_ptmp1.70;
vector int vect_cst_.69;
unsigned int ivtmp.68;
vector int * ivtmp.67;
struct test1[4] * D.2490;
vector int * vect_ptmp1.66;
int D.2486;
<unnamed-signed:64> D.2487;
<unnamed-signed:64> base_off.64;
vector int * vect_ptmp1.62;
vector int vect_cst_.61;
unsigned int ivtmp.60;
vector int * ivtmp.59;
struct test2[4] * D.2476;
vector int * vect_ptmp2.58;
int D.2470;
<unnamed-signed:64> D.2471;
unsigned int D.2472;
<unnamed-signed:64> D.2473;
<unnamed-signed:64> base_off.56;
vector int * vect_ptmp2.54;
vector int vect_cst_.53;
int D.2463;
int tmp.52;
unsigned int tmp.51;
unsigned int ratio_mult_vf.50;
unsigned int bnd.49;
unsigned int niters.48;
unsigned int ivtmp.47;
long unsigned int D.2439;
long unsigned int D.2440;
long unsigned int D.2441;
unsigned int D.2442;
unsigned int prolog_loop_niters.46;
struct test2[4] * D.2437;
vector int * vect_ptmp2.45;
int D.2433;
<unnamed-signed:64> D.2434;
<unnamed-signed:64> base_off.43;
unsigned int ivtmp.41;
unsigned int ivtmp.40;
unsigned int ivtmp.39;
unsigned int ivtmp.38;
unsigned int ivtmp.37;
unsigned int ivtmp.36;
unsigned int ivtmp.35;
unsigned int ivtmp.34;
unsigned int ivtmp.33;
unsigned int ivtmp.32;
unsigned int ivtmp.31;
unsigned int ivtmp.30;
int j;
int i;
int D.2303;
int D.2302;
int D.2300;
<bb 2>:
# ivtmp.79_165 = PHI <ivtmp.79_166(4), 0(2)>
# ivtmp.41_154 = PHI <ivtmp.41_159(4), 8(2)>
# i_156 = PHI <i_158(4), 0(2)>
<L135>:;
tmp1[2].a.n[1][2][i_156] = 5;
i_158 = i_156 + 1;
ivtmp.41_159 = ivtmp.41_154 - 1;
ivtmp.79_166 = ivtmp.79_165 + 1;
if (ivtmp.79_166 < 1) goto <L134>; else goto <L138>;
<L134>:;
goto <bb 3> (<L135>);
# i_164 = PHI <i_158(3)>
# ivtmp.41_161 = PHI <ivtmp.41_159(3)>
<L138>:;
ivtmp.41_160 = ivtmp.41_161;
i_163 = i_164;
vect_cst_.83_180 = { 5, 5 };
D.2534_181 = &tmp1 + 8552;
vect_ptmp1.88_182 = (vector int *) D.2534_181;
vect_ptmp1.84_183 = vect_ptmp1.88_182;
# ivtmp.90_186 = PHI <ivtmp.90_187(10), 0(5)>
# ivtmp.89_184 = PHI <ivtmp.89_185(10), vect_ptmp1.84_183(5)>
# ivtmp.41_4 = PHI <ivtmp.41_60(10), ivtmp.41_160(5)>
# i_48 = PHI <i_15(10), i_163(5)>
<L0>:;
*ivtmp.89_184 = vect_cst_.83_180;
i_15 = i_48 + 1;
ivtmp.41_60 = ivtmp.41_4 - 1;
ivtmp.89_185 = ivtmp.89_184 + 8B;
ivtmp.90_187 = ivtmp.90_186 + 1;
if (ivtmp.90_187 < 3) goto <L98>; else goto <L145>;
# i_177 = PHI <i_15(6)>
# ivtmp.41_174 = PHI <ivtmp.41_60(6)>
<L145>:;
tmp.81_178 = ivtmp.41_160 + 4294967290;
tmp.82_179 = i_163 + 6;
ivtmp.41_173 = tmp.81_178;
i_176 = tmp.82_179;
# ivtmp.41_167 = PHI <ivtmp.41_172(9), ivtmp.41_173(7)>
# i_169 = PHI <i_171(9), i_176(7)>
<L142>:;
tmp1[2].a.n[1][2][i_169] = 5;
i_171 = i_169 + 1;
ivtmp.41_172 = ivtmp.41_167 - 1;
if (ivtmp.41_172 != 0) goto <L141>; else goto <L146>;
<L141>:;
goto <bb 8> (<L142>);
<L98>:;
goto <bb 6> (<L0>);
<L146>:;
# ivtmp.40_9 = PHI <8(11), ivtmp.40_72(15)>
# i_67 = PHI <0(11), i_19(15)>
<L85>:;
D.2300_18 = tmp1[2].a.n[1][2][i_67];
if (D.2300_18 != 5) goto <L4>; else goto <L5>;
<L4>:;
abort ();
<L5>:;
i_19 = i_67 + 1;
ivtmp.40_72 = ivtmp.40_9 - 1;
if (ivtmp.40_72 != 0) goto <L100>; else goto <L133>;
<L100>:;
goto <bb 12> (<L85>);
<L133>:;
vect_cst_.69_146 = { 6, 6 };
D.2502_147 = &tmp1 + 8560;
vect_ptmp1.74_148 = (vector int *) D.2502_147;
vect_ptmp1.70_149 = vect_ptmp1.74_148;
# ivtmp.76_152 = PHI <0(16), ivtmp.76_153(18)>
# ivtmp.75_150 = PHI <vect_ptmp1.70_149(16), ivtmp.75_151(18)>
# ivtmp.39_41 = PHI <4(16), ivtmp.39_57(18)>
# i_47 = PHI <3(16), i_22(18)>
<L84>:;
*ivtmp.75_150 = vect_cst_.69_146;
i_22 = i_47 + 1;
ivtmp.39_57 = ivtmp.39_41 - 1;
ivtmp.75_151 = ivtmp.75_150 + 8B;
ivtmp.76_153 = ivtmp.76_152 + 1;
if (ivtmp.76_153 < 2) goto <L102>; else goto <L103>;
<L102>:;
goto <bb 17> (<L84>);
<L103>:;
# ivtmp.38_5 = PHI <4(19), ivtmp.38_35(23)>
# i_42 = PHI <3(19), i_26(23)>
<L83>:;
D.2300_25 = tmp1[2].a.n[1][2][i_42];
if (D.2300_25 != 6) goto <L12>; else goto <L13>;
<L12>:;
abort ();
<L13>:;
i_26 = i_42 + 1;
ivtmp.38_35 = ivtmp.38_5 - 1;
if (ivtmp.38_35 != 0) goto <L104>; else goto <L105>;
<L104>:;
goto <bb 20> (<L83>);
<L106>:;
# ivtmp.68_144 = PHI <ivtmp.68_145(24), 0(51)>
# ivtmp.67_142 = PHI <ivtmp.67_143(24), vect_ptmp1.62_141(51)>
# ivtmp.37_3 = PHI <ivtmp.37_58(24), 8(51)>
# j_53 = PHI <j_31(24), 0(51)>
<L17>:;
*ivtmp.67_142 = vect_cst_.61_135;
j_31 = j_53 + 1;
ivtmp.37_58 = ivtmp.37_3 - 1;
ivtmp.67_143 = ivtmp.67_142 + 8B;
ivtmp.68_145 = ivtmp.68_144 + 1;
if (ivtmp.68_145 < 4) goto <L106>; else goto <L19>;
<L19>:;
i_32 = i_68 + 1;
ivtmp.36_10 = ivtmp.36_6 - 1;
if (ivtmp.36_10 != 0) goto <L107>; else goto <L108>;
<L107>:;
goto <bb 51> (<L82>);
<L109>:;
# ivtmp.35_40 = PHI <ivtmp.35_69(28), 8(60)>
# j_74 = PHI <j_38(28), 0(60)>
<L23>:;
D.2302_37 = tmp1[2].e.n[1][i_70][j_74];
if (D.2302_37 != 8) goto <L24>; else goto <L25>;
<L24>:;
abort ();
<L25>:;
j_38 = j_74 + 1;
ivtmp.35_69 = ivtmp.35_40 - 1;
if (ivtmp.35_69 != 0) goto <L109>; else goto <L27>;
<L27>:;
i_39 = i_70 + 1;
ivtmp.34_43 = ivtmp.34_36 - 1;
if (ivtmp.34_43 != 0) goto <L110>; else goto <L111>;
<L110>:;
goto <bb 60> (<L81>);
<L112>:;
# ivtmp.60_131 = PHI <ivtmp.60_132(34), 0(57)>
# ivtmp.59_129 = PHI <ivtmp.59_130(34), vect_ptmp2.54_128(57)>
# ivtmp.33_7 = PHI <ivtmp.33_46(34), ivtmp.33_96(57)>
# j_49 = PHI <j_44(34), j_99(57)>
<L31>:;
*ivtmp.59_129 = vect_cst_.53_120;
j_44 = j_49 + 1;
ivtmp.33_46 = ivtmp.33_7 - 1;
ivtmp.59_130 = ivtmp.59_129 + 8B;
ivtmp.60_132 = ivtmp.60_131 + 1;
if (ivtmp.60_132 < bnd.49_104) goto <L112>; else goto <L128>;
# j_116 = PHI <j_44(35)>
# ivtmp.33_113 = PHI <ivtmp.33_46(35)>
<L128>:;
tmp.51_117 = ivtmp.33_96 - ratio_mult_vf.50_105;
D.2463_118 = (int) ratio_mult_vf.50_105;
tmp.52_119 = j_99 + D.2463_118;
if (niters.48_103 == ratio_mult_vf.50_105) goto <L129>; else goto <L127>;
# ivtmp.33_112 = PHI <tmp.51_117(36), ivtmp.33_96(56)>
# j_115 = PHI <tmp.52_119(36), j_99(56)>
<L127>:;
# ivtmp.33_106 = PHI <ivtmp.33_111(39), ivtmp.33_112(37)>
# j_108 = PHI <j_110(39), j_115(37)>
<L125>:;
tmp2[2].e.n[1][i_71][j_108] = 8;
j_110 = j_108 + 1;
ivtmp.33_111 = ivtmp.33_106 - 1;
if (ivtmp.33_111 != 0) goto <L124>; else goto <L129>;
<L124>:;
goto <bb 38> (<L125>);
<L129>:;
<L122>:;
i_45 = i_71 + 1;
ivtmp.32_1 = ivtmp.32_55 - 1;
if (ivtmp.32_1 != 0) goto <L113>; else goto <L114>;
<L113>:;
goto <bb 53> (<L80>);
<L115>:;
# ivtmp.31_8 = PHI <ivtmp.31_59(43), 4(62)>
# j_76 = PHI <j_51(43), 0(62)>
<L37>:;
D.2303_50 = tmp2[2].e.n[1][i_73][j_76];
if (D.2303_50 != 8) goto <L38>; else goto <L39>;
<L38>:;
abort ();
<L39>:;
j_51 = j_76 + 1;
ivtmp.31_59 = ivtmp.31_8 - 1;
if (ivtmp.31_59 != 0) goto <L115>; else goto <L41>;
<L41>:;
i_52 = i_73 + 1;
ivtmp.30_56 = ivtmp.30_12 - 1;
if (ivtmp.30_56 != 0) goto <L116>; else goto <L43>;
<L116>:;
goto <bb 62> (<L79>);
<L43>:;
return 0;
<L105>:;
# ivtmp.36_6 = PHI <8(50), ivtmp.36_10(27)>
# i_68 = PHI <0(50), i_32(27)>
<L82>:;
vect_cst_.61_135 = { 8, 8 };
D.2486_136 = i_68 * 32;
D.2487_137 = (<unnamed-signed:64>) D.2486_136;
base_off.64_138 = D.2487_137 + 10544;
D.2490_139 = base_off.64_138 + &tmp1;
vect_ptmp1.66_140 = (vector int *) D.2490_139;
vect_ptmp1.62_141 = vect_ptmp1.66_140;
goto <bb 25> (<L17>);
<L111>:;
# ivtmp.32_55 = PHI <4(52), ivtmp.32_1(42)>
# i_71 = PHI <0(52), i_45(42)>
<L80>:;
D.2433_75 = i_71 * 28;
D.2434_2 = (<unnamed-signed:64>) D.2433_75;
base_off.43_11 = D.2434_2 + 7104;
D.2437_83 = base_off.43_11 + &tmp2;
vect_ptmp2.45_84 = (vector int *) D.2437_83;
D.2439_85 = vect_ptmp2.45_84 & 7;
D.2440_86 = D.2439_85 >> 2;
D.2441_87 = 2 - D.2440_86;
D.2442_88 = (unsigned int) D.2441_87;
prolog_loop_niters.46_89 = D.2442_88 & 1;
if (prolog_loop_niters.46_89 == 0) goto <L120>; else goto <L118>;
# ivtmp.47_188 = PHI <0(53)>
# ivtmp.33_175 = PHI <4(53)>
# j_190 = PHI <0(53)>
<L118>:;
# ivtmp.47_101 = PHI <ivtmp.47_188(54), ivtmp.47_102(58)>
# ivtmp.33_90 = PHI <ivtmp.33_175(54), ivtmp.33_95(58)>
# j_92 = PHI <j_190(54), j_94(58)>
<L149>:;
tmp2[2].e.n[1][i_71][j_92] = 8;
j_94 = j_92 + 1;
ivtmp.33_95 = ivtmp.33_90 - 1;
ivtmp.47_102 = ivtmp.47_101 + 1;
if (ivtmp.47_102 < prolog_loop_niters.46_89) goto <L117>; else goto <L121>;
# j_100 = PHI <j_94(63)>
# ivtmp.33_97 = PHI <ivtmp.33_95(63)>
<L121>:;
if (prolog_loop_niters.46_89 == 4) goto <L122>; else goto <L120>;
# ivtmp.33_96 = PHI <ivtmp.33_97(55), 4(53)>
# j_99 = PHI <j_100(55), 0(53)>
<L120>:;
niters.48_103 = 4 - prolog_loop_niters.46_89;
bnd.49_104 = niters.48_103 >> 1;
ratio_mult_vf.50_105 = bnd.49_104 << 1;
if (ratio_mult_vf.50_105 == 0) goto <L127>; else goto <L131>;
<L131>:;
vect_cst_.53_120 = { 8, 8 };
D.2470_121 = i_71 * 28;
D.2471_122 = (<unnamed-signed:64>) D.2470_121;
D.2472_123 = prolog_loop_niters.46_89 * 4;
D.2473_124 = D.2471_122 + D.2472_123;
base_off.56_125 = D.2473_124 + 7104;
D.2476_126 = base_off.56_125 + &tmp2;
vect_ptmp2.58_127 = (vector int *) D.2476_126;
vect_ptmp2.54_128 = vect_ptmp2.58_127;
goto <bb 35> (<L31>);
<L117>:;
goto <bb 63> (<L149>);
<L108>:;
# ivtmp.34_36 = PHI <8(59), ivtmp.34_43(33)>
# i_70 = PHI <0(59), i_39(33)>
<L81>:;
goto <bb 29> (<L23>);
<L114>:;
# ivtmp.30_12 = PHI <4(61), ivtmp.30_56(48)>
# i_73 = PHI <0(61), i_52(48)>
<L79>:;
goto <bb 44> (<L37>);
}
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Call to arms: testsuite failures on various targets
[not found] <OF0D90E8B2.176B499E-ONC22572BD.00601B98-C22572BD.00649C26@LocalDomain>
@ 2007-04-15 19:14 ` Dorit Nuzman
2007-04-16 3:19 ` Tim Prince
0 siblings, 1 reply; 16+ messages in thread
From: Dorit Nuzman @ 2007-04-15 19:14 UTC (permalink / raw)
To: Dorit Nuzman; +Cc: fortran@gcc.gnu.org List, FX Coudert, gcc, tprince
[-- Attachment #1: Type: text/plain, Size: 6557 bytes --]
Thanks Tim for sending the dump files!
> for this one:
> > FAIL: gcc.dg/vect/pr30771.c scan-tree-dump-times vectorized 1 loops 1
>
> there should be { target vect_unpack } added to the check. i.e.:
> - /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } }
*/
> + /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect"
> { target vect_unpack } } } */
>
> for the rest:
>
> > FAIL: gcc.dg/vect/vect-iv-4.c scan-tree-dump-times vectorized 1 loops 1
this one is missing { target vect_pack_mod }
> > FAIL: gcc.dg/vect/vect-iv-9.c scan-tree-dump-times vectorized 1 loops 2
this one missing { target vect_int_mult }
> > FAIL: gcc.dg/vect/vect-reduc-dot-s16b.c scan-tree-dump-times
> > vectorized 1 loops 0
here we need to add ia64 to the list of targets in
'vect_widen_sum_hi_to_si' in target-support.exp
> > FAIL: gcc.dg/vect/vect-reduc-dot-u16b.c scan-tree-dump-times
> > vectorized 1 loops 1
missing { target vect_pack_mod } again
> > FAIL: gcc.dg/vect/vect-reduc-pattern-1a.c scan-tree-dump-times
> > vectorized 1 loops 0
add ia64 to 'vect_widen_sum_hi_to_si' in target-support.exp
> > FAIL: gcc.dg/vect/vect-reduc-pattern-1c.c scan-tree-dump-times
> > vectorized 1 loops 0
add ia64 to 'vect_widen_sum_qi_to_hi' in target-support.exp
> > FAIL: gcc.dg/vect/vect-reduc-pattern-2a.c scan-tree-dump-times
> > vectorized 1 loops 0
add ia64 to 'vect_widen_sum_hi_to_si' in target-support.exp
> > FAIL: gcc.dg/vect/vect-widen-mult-u16.c scan-tree-dump-times
> > vectorized 1 loops 1
missing { target vect_pack_mod }
> > FAIL: gcc.dg/vect/wrapv-vect-reduc-pattern-2c.c scan-tree-dump-times
> > vectorized 1 loops 0
add ia64 to 'vect_widen_sum_qi_to_hi' in target-support.exp
> > FAIL: gcc.dg/vect/no-section-anchors-vect-69.c scan-tree-dump-times
> > Alignment of access forced using peeling 3
> >
>
For this one - can you please send the dump file generated with
-fdump-tree-vect-details? (the files you sent did not contain the detailed
dump info). Specifically, on powerpc I see this:
Created dr for tmp1[2].e.n[1][i_79][j_68]
base_address: &tmp1
offset from base address: (<unnamed type>) (i_79 * 32)
constant offset from base address: 10544
base_object: tmp1[2].e.n
step: 4B
misalignment from base: 10544B
aligned to: 8
memtag: tmp1
...
/Develop/autovect-dn/gcc/gcc/testsuite/gcc.dg/vect/no-section-anchors-vect-69.c:69:
note: === vect_analyze_data_refs_alignment ===
/Develop/autovect-dn/gcc/gcc/testsuite/gcc.dg/vect/no-section-anchors-vect-69.c:69:
note: vect_compute_data_ref_alignment:
/Develop/autovect-dn/gcc/gcc/testsuite/gcc.dg/vect/no-section-anchors-vect-69.c:69:
note: Unknown alignment for access: tmp1
...
/Develop/autovect-dn/gcc/gcc/testsuite/gcc.dg/vect/no-section-anchors-vect-69.c:69:
note: Alignment of access forced using peeling.
/Develop/autovect-dn/gcc/gcc/testsuite/gcc.dg/vect/no-section-anchors-vect-69.c:69:
note: Peeling for alignment will be applied.
I'd like to compare that to what you get on ia64.
In the meantime - this patch includes the above suggested fixes for the
rest of the tests (tested on the vectorizer testcases on i686-pc-linux-gnu
and powerpc-linux, but really need to be tested on ia64):
dorit
(See attached file: ia64fixes.txt)
> I'll need to look closer. Could you please send me (offline) the .
> vect dump files (with -fdump-tree-vect-details) for these?
>
> thanks,
> dorit
>
>
> > === gcc Summary ===
> >
> > # of expected passes 42231
> > # of unexpected failures 23
> > # of unexpected successes 2
> > # of expected failures 155
> > # of unresolved testcases 2
> > # of untested testcases 28
> > # of unsupported tests 374
> > /home/tim/src/gcc-4.3-20070413/ia64/gcc/xgcc version 4.3.0 20070413
> > (experimental)
> >
> > === gfortran tests ===
> >
> >
> > Running target unix
> >
> > === gfortran Summary ===
> >
> > # of expected passes 17438
> > # of expected failures 13
> > # of unsupported tests 20
> > /home/tim/src/gcc-4.3-20070413/ia64/gcc/testsuite/gfortran/../..
> > /gfortran version 4.3.0 20070413 (experimental)
> >
> > === g++ tests ===
> >
> >
> > Running target unix
> > FAIL: g++.dg/tree-prof/indir-call-prof.C scan-tree-dump Indirect
> > call -> direct call.* AA transformation on insn
> > FAIL: g++.dg/tree-prof/indir-call-prof.C scan-tree-dump Indirect
> > call -> direct call.* AA transformation on insn
> > FAIL: g++.dg/tree-prof/indir-call-prof.C scan-tree-dump Indirect
> > call -> direct call.* AA transformation on insn
> > FAIL: g++.dg/tree-prof/indir-call-prof.C scan-tree-dump Indirect
> > call -> direct call.* AA transformation on insn
> > FAIL: g++.dg/tree-prof/indir-call-prof.C scan-tree-dump Indirect
> > call -> direct call.* AA transformation on insn
> > FAIL: g++.dg/tree-prof/indir-call-prof.C scan-tree-dump Indirect
> > call -> direct call.* AA transformation on insn
> > FAIL: g++.dg/tree-prof/indir-call-prof.C scan-tree-dump Indirect
> > call -> direct call.* AA transformation on insn
> >
> > === g++ Summary ===
> >
> > # of expected passes 13739
> > # of unexpected failures 7
> > # of expected failures 79
> > # of unsupported tests 119
> > /home/tim/src/gcc-4.3-20070413/ia64/gcc/testsuite/g++/../../g++
> > version 4.3.0 20070413 (experimental)
> >
> > === objc tests ===
> >
> >
> > Running target unix
> >
> > === objc Summary ===
> >
> > # of expected passes 1810
> > # of expected failures 7
> > # of unsupported tests 25
> > /home/tim/src/gcc-4.3-20070413/ia64/gcc/xgcc version 4.3.0 20070413
> > (experimental)
> >
> > === libgomp tests ===
> >
> >
> > Running target unix
> >
> > === libgomp Summary ===
> >
> > # of expected passes 1566
> > === libstdc++ tests ===
> >
> >
> > Running target unix
> > XPASS: 26_numerics/headers/cmath/c99_classification_macros_c.cc
> > (test for excess errors)
> > XPASS: 27_io/fpos/14320-1.cc execution test
> >
> > === libstdc++ Summary ===
> >
> > # of expected passes 4859
> > # of unexpected successes 2
> > # of expected failures 27
> >
> > Compiler version: 4.3.0 20070413 (experimental)
> > Platform: ia64-unknown-linux-gnu
> > configure flags: --enable-languages='c c++ fortran objc' --enable-
> > bootstrap --enable-maintainer-mode --disable-libmudflap --
> > prefix=/usr/local/gcc43
> > EOF
> > Mail -s "Results for 4.3.0 20070413 (experimental) testsuite on
> > ia64-unknown-linux-gnu" gcc-testresults@gcc.gnu.org &&
[-- Attachment #2: ia64fixes.txt --]
[-- Type: text/plain, Size: 3685 bytes --]
Index: gcc.dg/vect/vect-iv-9.c
===================================================================
--- gcc.dg/vect/vect-iv-9.c (revision 123694)
+++ gcc.dg/vect/vect-iv-9.c (working copy)
@@ -33,5 +33,6 @@
return 0;
}
-/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 2 "vect" } } */
+/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 2 "vect" { target vect_int_mult } } } */
+/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target {! vect_int_mult } } } } */
/* { dg-final { cleanup-tree-dump "vect" } } */
Index: gcc.dg/vect/vect-reduc-dot-u16b.c
===================================================================
--- gcc.dg/vect/vect-reduc-dot-u16b.c (revision 123694)
+++ gcc.dg/vect/vect-reduc-dot-u16b.c (working copy)
@@ -53,6 +53,6 @@
dot-product of unsigned shorts) and targets that support widening multiplication. */
/* The induction loop in main is vectorized. */
/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 2 "vect" { xfail *-*-* } } } */
-/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */
+/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_pack_mod } } } */
/* { dg-final { cleanup-tree-dump "vect" } } */
Index: gcc.dg/vect/vect-iv-4.c
===================================================================
--- gcc.dg/vect/vect-iv-4.c (revision 123694)
+++ gcc.dg/vect/vect-iv-4.c (working copy)
@@ -40,5 +40,5 @@
return main1 ();
}
-/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */
+/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_pack_mod } } } */
/* { dg-final { cleanup-tree-dump "vect" } } */
Index: gcc.dg/vect/vect-widen-mult-u16.c
===================================================================
--- gcc.dg/vect/vect-widen-mult-u16.c (revision 123694)
+++ gcc.dg/vect/vect-widen-mult-u16.c (working copy)
@@ -44,6 +44,6 @@
/*The induction loop is vectorized */
/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 2 "vect" { xfail *-*-* } } } */
-/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */
+/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_pack_mod } } } */
/* { dg-final { cleanup-tree-dump "vect" } } */
Index: lib/target-supports.exp
===================================================================
--- lib/target-supports.exp (revision 123694)
+++ lib/target-supports.exp (working copy)
@@ -1624,7 +1624,8 @@
verbose "check_effective_target_vect_widen_sum_hi_to_si: using cached result" 2
} else {
set et_vect_widen_sum_hi_to_si_saved [check_effective_target_vect_unpack]
- if { [istarget powerpc*-*-*] } {
+ if { [istarget powerpc*-*-*]
+ || [istarget ia64-*-*] } {
set et_vect_widen_sum_hi_to_si_saved 1
}
}
@@ -1646,7 +1647,8 @@
verbose "check_effective_target_vect_widen_sum_qi_to_hi: using cached result" 2
} else {
set et_vect_widen_sum_qi_to_hi_saved 0
- if { [check_effective_target_vect_unpack] } {
+ if { [check_effective_target_vect_unpack]
+ || [istarget ia64-*-*] } {
set et_vect_widen_sum_qi_to_hi_saved 1
}
}
Index: gcc.dg/vect/pr30771.c
===================================================================
--- gcc.dg/vect/pr30771.c (revision 123694)
+++ gcc.dg/vect/pr30771.c (working copy)
@@ -14,5 +14,5 @@
return 0;
}
-/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */
+/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_unpack } } } */
/* { dg-final { cleanup-tree-dump "vect" } } */
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Call to arms: testsuite failures on various targets
[not found] <no.id>
@ 2007-04-15 19:13 ` John David Anglin
0 siblings, 0 replies; 16+ messages in thread
From: John David Anglin @ 2007-04-15 19:13 UTC (permalink / raw)
To: John David Anglin; +Cc: gcc, fxcoudert
> * hppa64-hp-hpux11.11: many failures
Most of these are "Type/rank mismatch in argument":
FAIL: gfortran.dg/assumed_charlen_function_5.f90 -O (test for excess errors)
Excess errors:
/test/gnu/gcc/gcc/gcc/testsuite/gfortran.dg/assumed_charlen_function_5.f90:22: E
rror: Type/rank mismatch in argument 'charr' at (1)
/test/gnu/gcc/gcc/gcc/testsuite/gfortran.dg/assumed_charlen_function_5.f90:23: E
rror: Type/rank mismatch in argument 'charr' at (1)
In gfortran.dg/entry_1.f90:
Excess errors:
/test/gnu/gcc/gcc/gcc/testsuite/gfortran.dg/entry_1.f90:15: Error: Type/rank mis
match in argument 'p' at (1)
/test/gnu/gcc/gcc/gcc/testsuite/gfortran.dg/entry_1.f90:16: Error: Type/rank mis
match in argument 'p' at (1)
/test/gnu/gcc/gcc/gcc/testsuite/gfortran.dg/entry_1.f90:40: Fatal Error: Can't o
pen module file 'm.mod' for reading at (1): No such file or directory
Dave
--
J. David Anglin dave.anglin@nrc-cnrc.gc.ca
National Research Council of Canada (613) 990-0752 (FAX: 952-6602)
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Call to arms: testsuite failures on various targets
@ 2007-04-14 16:48 John David Anglin
0 siblings, 0 replies; 16+ messages in thread
From: John David Anglin @ 2007-04-14 16:48 UTC (permalink / raw)
To: gcc, fxcoudert
> * hppa-unknown-linux-gnu: gfortran.dg/cray_pointers_2.f90
Fails due to timeout (slow system?):
real 5m45.735s
user 1m33.506s
sys 4m11.716s
I should note that the compilation time doesn't seem consistent from
one run to the next. Here's the detailed breakdown:
GNU F95 version 4.3.0 20070413 (experimental) (hppa-linux)
compiled by GNU C version 4.3.0 20070413 (experimental).
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
options passed:
/home/dave/gnu/gcc-4.3/gcc/gcc/testsuite/gfortran.dg/cray_pointers_2.f90
-O2 -fcray-pointer -fbounds-check -fintrinsic-modules-path finclude
options enabled: -falign-loops -fargument-noalias-anything -fbounds-check
-fbranch-count-reg -fcaller-saves -fcommon -fcprop-registers
-fcrossjumping -fcse-follow-jumps -fdefer-pop -fdelayed-branch
-fdelete-null-pointer-checks -fearly-inlining
-feliminate-unused-debug-types -femit-class-debug-always
-fexpensive-optimizations -fforward-propagate Optimization -ffunction-cse
-fgcse -fgcse-lm -fguess-branch-probability -fident -fif-conversion
-fif-conversion2 -finline-functions-called-once -fipa-pure-const
-fipa-reference -fipa-type-escape -fivopts -fkeep-static-consts
-fleading-underscore -fmerge-constants -fmove-loop-invariants
-fomit-frame-pointer -foptimize-register-move -foptimize-sibling-calls
-fpeephole -fpeephole2 -freg-struct-return -fregmove -freorder-blocks
-freorder-functions -frerun-cse-after-loop -fsched-interblock -fsched-spec
-fsched-stalled-insns-dep -fschedule-insns -fschedule-insns2 -fshow-column
-fsigned-zeros -fsplit-ivs-in-unroller -fsplit-wide-types
-fstrict-aliasing -fstrict-overflow -fthread-jumps -ftoplevel-reorder
-ftrapping-math -ftree-ccp -ftree-ch -ftree-copy-prop -ftree-copyrename
-ftree-dce -ftree-dominator-opts -ftree-dse -ftree-fre -ftree-loop-im
-ftree-loop-ivcanon -ftree-loop-optimize -ftree-pre -ftree-salias
-ftree-scev-cprop -ftree-sink -ftree-sra -ftree-store-ccp
-ftree-store-copy-prop -ftree-ter -ftree-vect-loop-version -ftree-vrp
-funit-at-a-time -fvar-tracking -fzero-initialized-in-bss -mbig-switch
-mgas -mglibc -mno-space-regs
MAIN__ ptr1 ptr2 ptr3 ptr4 ptr5 ptr6 ptr7 {GC 5672k -> 3308k} ptr8 ptr9 ptr10 {GC 5831k -> 4786k} ptr11 ptr12 {GC 6696k -> 5917k} ptr13 parmtest parmptr parmpte intne realne chne ch8ne donothing
Analyzing compilation unit
{GC 7967k -> 7753k} {GC 10087k -> 9996k} {GC 13348k -> 13216k}Performing interprocedural optimizations
<visibility> <early_local_cleanups> {GC 17243k -> 13996k} {GC 18383k -> 14126k} {GC 18603k -> 14326k} <inline> <static-var> <pure-const> <type-escape-var>Assembling functions:
donothing ch8ne chne realne intne parmpte parmptr parmtest ptr13 ptr12 {GC 18629k -> 13729k} ptr11 ptr10 ptr9 {GC 17938k -> 9803k} ptr8 ptr7 ptr6 ptr5 {GC 12868k -> 6136k} ptr4 ptr3 {GC 8101k -> 4176k} ptr2 {GC 5482k -> 3057k} ptr1 MAIN__
Execution times (seconds)
garbage collection : 1.34 ( 2%) usr 0.02 ( 0%) sys 1.32 ( 1%) wall 0 kB ( 0%) ggc
callgraph construction: 0.50 ( 1%) usr 0.78 ( 1%) sys 1.29 ( 1%) wall 2582 kB ( 5%) ggc
callgraph optimization: 0.22 ( 0%) usr 0.02 ( 0%) sys 0.26 ( 0%) wall 850 kB ( 2%) ggc
ipa reference : 0.07 ( 0%) usr 0.01 ( 0%) sys 0.08 ( 0%) wall 0 kB ( 0%) ggc
ipa type escape : 0.11 ( 0%) usr 1.28 ( 1%) sys 1.39 ( 1%) wall 0 kB ( 0%) ggc
cfg cleanup : 0.09 ( 0%) usr 0.00 ( 0%) sys 0.12 ( 0%) wall 109 kB ( 0%) ggc
CFG verifier : 0.74 ( 1%) usr 0.00 ( 0%) sys 0.66 ( 0%) wall 0 kB ( 0%) ggc
trivially dead code : 0.11 ( 0%) usr 0.00 ( 0%) sys 0.13 ( 0%) wall 0 kB ( 0%) ggc
life analysis : 0.36 ( 1%) usr 0.00 ( 0%) sys 0.35 ( 0%) wall 490 kB ( 1%) ggc
life info update : 0.15 ( 0%) usr 0.00 ( 0%) sys 0.16 ( 0%) wall 0 kB ( 0%) ggc
alias analysis : 0.19 ( 0%) usr 0.01 ( 0%) sys 0.17 ( 0%) wall 993 kB ( 2%) ggc
register scan : 0.02 ( 0%) usr 0.00 ( 0%) sys 0.06 ( 0%) wall 0 kB ( 0%) ggc
rebuild jump labels : 0.08 ( 0%) usr 0.00 ( 0%) sys 0.03 ( 0%) wall 0 kB ( 0%) ggc
parser : 0.39 ( 1%) usr 0.01 ( 0%) sys 0.41 ( 0%) wall 5895 kB (11%) ggc
inline heuristics : 9.34 (17%) usr 28.11 (19%) sys 37.49 (18%) wall 20 kB ( 0%) ggc
tree gimplify : 0.45 ( 1%) usr 0.01 ( 0%) sys 0.46 ( 0%) wall 4217 kB ( 8%) ggc
tree eh : 0.02 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall 0 kB ( 0%) ggc
tree CFG construction : 0.06 ( 0%) usr 0.02 ( 0%) sys 0.04 ( 0%) wall 4980 kB ( 9%) ggc
tree CFG cleanup : 0.40 ( 1%) usr 0.00 ( 0%) sys 0.39 ( 0%) wall 9 kB ( 0%) ggc
tree VRP : 0.61 ( 1%) usr 0.07 ( 0%) sys 0.68 ( 0%) wall 1749 kB ( 3%) ggc
tree copy propagation : 0.24 ( 0%) usr 0.05 ( 0%) sys 0.27 ( 0%) wall 33 kB ( 0%) ggc
tree store copy prop : 0.05 ( 0%) usr 0.00 ( 0%) sys 0.04 ( 0%) wall 6 kB ( 0%) ggc
tree find ref. vars : 0.06 ( 0%) usr 0.00 ( 0%) sys 0.05 ( 0%) wall 305 kB ( 1%) ggc
tree PTA : 0.18 ( 0%) usr 0.00 ( 0%) sys 0.20 ( 0%) wall 182 kB ( 0%) ggc
tree alias analysis : 0.15 ( 0%) usr 0.26 ( 0%) sys 0.42 ( 0%) wall 224 kB ( 0%) ggc
tree memory partitioning: 0.03 ( 0%) usr 0.00 ( 0%) sys 0.02 ( 0%) wall 2 kB ( 0%) ggc
tree PHI insertion : 0.00 ( 0%) usr 0.00 ( 0%) sys 0.02 ( 0%) wall 43 kB ( 0%) ggc
tree SSA rewrite : 0.14 ( 0%) usr 0.00 ( 0%) sys 0.13 ( 0%) wall 1801 kB ( 3%) ggc
tree SSA other : 0.08 ( 0%) usr 0.08 ( 0%) sys 0.24 ( 0%) wall 0 kB ( 0%) ggc
tree SSA incremental : 0.20 ( 0%) usr 0.00 ( 0%) sys 0.26 ( 0%) wall 154 kB ( 0%) ggc
tree operand scan : 1.33 ( 2%) usr 0.54 ( 0%) sys 1.92 ( 1%) wall 1879 kB ( 3%) ggc
dominator optimization: 0.29 ( 1%) usr 0.03 ( 0%) sys 0.29 ( 0%) wall 910 kB ( 2%) ggc
tree STORE-CCP : 0.02 ( 0%) usr 0.00 ( 0%) sys 0.03 ( 0%) wall 18 kB ( 0%) ggc
tree CCP : 0.24 ( 0%) usr 0.01 ( 0%) sys 0.25 ( 0%) wall 166 kB ( 0%) ggc
tree PHI const/copy prop: 0.00 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall 0 kB ( 0%) ggc
tree reassociation : 0.03 ( 0%) usr 0.00 ( 0%) sys 0.02 ( 0%) wall 21 kB ( 0%) ggc
tree PRE : 0.23 ( 0%) usr 0.00 ( 0%) sys 0.29 ( 0%) wall 460 kB ( 1%) ggc
tree FRE : 0.23 ( 0%) usr 0.03 ( 0%) sys 0.27 ( 0%) wall 857 kB ( 2%) ggc
tree code sinking : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.03 ( 0%) wall 61 kB ( 0%) ggc
tree forward propagate: 0.05 ( 0%) usr 0.04 ( 0%) sys 0.07 ( 0%) wall 237 kB ( 0%) ggc
tree conservative DCE : 0.06 ( 0%) usr 0.00 ( 0%) sys 0.10 ( 0%) wall 0 kB ( 0%) ggc
tree aggressive DCE : 0.02 ( 0%) usr 0.00 ( 0%) sys 0.02 ( 0%) wall 0 kB ( 0%) ggc
tree loop bounds : 0.05 ( 0%) usr 0.00 ( 0%) sys 0.06 ( 0%) wall 301 kB ( 1%) ggc
loop invariant motion : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.03 ( 0%) wall 1 kB ( 0%) ggc
tree canonical iv : 0.02 ( 0%) usr 0.00 ( 0%) sys 0.02 ( 0%) wall 157 kB ( 0%) ggc
scev constant prop : 0.00 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall 36 kB ( 0%) ggc
complete unrolling : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.03 ( 0%) wall 114 kB ( 0%) ggc
tree iv optimization : 0.23 ( 0%) usr 0.01 ( 0%) sys 0.28 ( 0%) wall 1992 kB ( 4%) ggc
tree loop init : 0.04 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall 4 kB ( 0%) ggc
tree copy headers : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.02 ( 0%) wall 105 kB ( 0%) ggc
tree SSA uncprop : 0.00 ( 0%) usr 0.00 ( 0%) sys 0.02 ( 0%) wall 0 kB ( 0%) ggc
tree SSA to normal : 0.15 ( 0%) usr 0.01 ( 0%) sys 0.15 ( 0%) wall 623 kB ( 1%) ggc
tree rename SSA copies: 0.02 ( 0%) usr 0.00 ( 0%) sys 0.00 ( 0%) wall 0 kB ( 0%) ggc
tree SSA verifier : 3.39 ( 6%) usr 0.00 ( 0%) sys 3.65 ( 2%) wall 19 kB ( 0%) ggc
tree STMT verifier : 25.91 (47%) usr 115.67 (79%) sys 141.31 (70%) wall 0 kB ( 0%) ggc
callgraph verifier : 0.17 ( 0%) usr 0.00 ( 0%) sys 0.17 ( 0%) wall 387 kB ( 1%) ggc
dominance computation : 0.32 ( 1%) usr 0.00 ( 0%) sys 0.37 ( 0%) wall 0 kB ( 0%) ggc
expand : 0.85 ( 2%) usr 0.02 ( 0%) sys 0.77 ( 0%) wall 3951 kB ( 7%) ggc
lower subreg : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.04 ( 0%) wall 4 kB ( 0%) ggc
jump : 0.00 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall 0 kB ( 0%) ggc
forward prop : 0.37 ( 1%) usr 0.01 ( 0%) sys 0.36 ( 0%) wall 263 kB ( 0%) ggc
CSE : 0.32 ( 1%) usr 0.00 ( 0%) sys 0.31 ( 0%) wall 83 kB ( 0%) ggc
loop analysis : 0.25 ( 0%) usr 0.00 ( 0%) sys 0.27 ( 0%) wall 247 kB ( 0%) ggc
global CSE : 0.00 ( 0%) usr 0.01 ( 0%) sys 0.00 ( 0%) wall 0 kB ( 0%) ggc
CPROP 1 : 0.05 ( 0%) usr 0.00 ( 0%) sys 0.05 ( 0%) wall 210 kB ( 0%) ggc
PRE : 0.06 ( 0%) usr 0.00 ( 0%) sys 0.07 ( 0%) wall 232 kB ( 0%) ggc
CPROP 2 : 0.12 ( 0%) usr 0.00 ( 0%) sys 0.09 ( 0%) wall 338 kB ( 1%) ggc
bypass jumps : 0.09 ( 0%) usr 0.00 ( 0%) sys 0.09 ( 0%) wall 303 kB ( 1%) ggc
CSE 2 : 0.18 ( 0%) usr 0.00 ( 0%) sys 0.16 ( 0%) wall 33 kB ( 0%) ggc
branch prediction : 1.02 ( 2%) usr 0.02 ( 0%) sys 1.02 ( 1%) wall 10799 kB (20%) ggc
flow analysis : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.00 ( 0%) wall 0 kB ( 0%) ggc
combiner : 0.33 ( 1%) usr 0.00 ( 0%) sys 0.35 ( 0%) wall 1080 kB ( 2%) ggc
if-conversion : 0.01 ( 0%) usr 0.01 ( 0%) sys 0.01 ( 0%) wall 3 kB ( 0%) ggc
regmove : 0.07 ( 0%) usr 0.00 ( 0%) sys 0.06 ( 0%) wall 1 kB ( 0%) ggc
scheduling : 0.21 ( 0%) usr 0.00 ( 0%) sys 0.24 ( 0%) wall 238 kB ( 0%) ggc
local alloc : 0.16 ( 0%) usr 0.00 ( 0%) sys 0.17 ( 0%) wall 389 kB ( 1%) ggc
global alloc : 0.65 ( 1%) usr 0.00 ( 0%) sys 0.65 ( 0%) wall 669 kB ( 1%) ggc
reload CSE regs : 0.25 ( 0%) usr 0.00 ( 0%) sys 0.27 ( 0%) wall 519 kB ( 1%) ggc
flow 2 : 0.00 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall 86 kB ( 0%) ggc
if-conversion 2 : 0.02 ( 0%) usr 0.00 ( 0%) sys 0.02 ( 0%) wall 0 kB ( 0%) ggc
peephole 2 : 0.02 ( 0%) usr 0.00 ( 0%) sys 0.04 ( 0%) wall 26 kB ( 0%) ggc
rename registers : 0.29 ( 1%) usr 0.02 ( 0%) sys 0.29 ( 0%) wall 2 kB ( 0%) ggc
scheduling 2 : 0.23 ( 0%) usr 0.00 ( 0%) sys 0.23 ( 0%) wall 0 kB ( 0%) ggc
machine dep reorg : 0.00 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall 0 kB ( 0%) ggc
delay branch sched : 0.53 ( 1%) usr 0.00 ( 0%) sys 0.52 ( 0%) wall 984 kB ( 2%) ggc
reorder blocks : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.04 ( 0%) wall 150 kB ( 0%) ggc
final : 0.11 ( 0%) usr 0.01 ( 0%) sys 0.15 ( 0%) wall 24 kB ( 0%) ggc
TOTAL : 55.46 147.18 202.90 54308 kB
Extra diagnostic checks enabled; compiler may run slowly.
Configure with --disable-checking to disable checks.
real 3m22.949s
user 0m55.467s
sys 2m27.213s
Most of the time was consumed in the system in the "tree STMT verifier" pass.
Dave
--
J. David Anglin dave.anglin@nrc-cnrc.gc.ca
National Research Council of Canada (613) 990-0752 (FAX: 952-6602)
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: Call to arms: testsuite failures on various targets
@ 2007-04-13 13:22 Dominique Dhumieres
0 siblings, 0 replies; 16+ messages in thread
From: Dominique Dhumieres @ 2007-04-13 13:22 UTC (permalink / raw)
To: gcc
> * powerpc-apple-darwin8.5.0: gfortran.dg/edit_real_1.f90
I don't see these failures on my weekly snapshot build on OSX 10.3.9
(nor in a month old build on OSX 10.4.8 or 9, cannot remember).
Could it be related to 10.4.5 gcc failures gcc.dg/torture/builtin-pow-mpfr-1.c
and gcc.dg/torture/builtin-sin-mpfr-1.c I don't see either with my builds?
> Note2: I also omitted a couple of gfortran.dg/secnds.f failures; this testcase should be reworked
see that too now and then.
I have also done the following experiment with large_real_kind_2.F90:
(1) compiled with -S
(2) edited large_real_kind_2.s to add $LDBL128 where appropriate
(e.g., .indirect_symbol _expl$LDBL128)
(3) assembled the result
(4) linked the object
and the executable passed the tests. So it should not be too difficult
for someone who knows what to do to fix this part of the problem.
Making large_real_kind_form_io_2.f90 to works will probably requires
more work because, as far as I understand the problem, the corresponding
changes have to be done in libgfortran.
I don't have the knowledge, nor the time, to do the change myself,
but I can test patches.
Dominique
^ permalink raw reply [flat|nested] 16+ messages in thread
end of thread, other threads:[~2007-04-18 4:42 UTC | newest]
Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-04-12 21:35 Call to arms: testsuite failures on various targets FX Coudert
2007-04-12 21:50 ` FX Coudert
2007-04-13 0:31 ` Brooks Moses
2007-04-13 9:38 ` Jerry DeLisle
2007-04-13 12:31 ` Dave Korn
2007-04-13 19:04 ` Brooks Moses
2007-04-14 15:12 ` Tim Prince
2007-04-14 15:50 ` Dorit Nuzman
2007-04-14 18:17 ` Tim Prince
2007-04-14 18:50 ` Dorit Nuzman
2007-04-18 5:28 ` Kaveh R. GHAZI
2007-04-13 13:22 Dominique Dhumieres
2007-04-14 16:48 John David Anglin
[not found] <no.id>
2007-04-15 19:13 ` John David Anglin
[not found] <OF0D90E8B2.176B499E-ONC22572BD.00601B98-C22572BD.00649C26@LocalDomain>
2007-04-15 19:14 ` Dorit Nuzman
2007-04-16 3:19 ` Tim Prince
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).