Message ID | 20121121134709.E7CF13BABA@mailhost.lps.ens.fr |
---|---|
State | New |
Headers | show |
> FAIL: gcc.dg/graphite/interchange-8.c scan-tree-dump-times graphite "will be interchanged" 2 > FAIL: gcc.dg/graphite/pr42530.c (internal compiler error) > FAIL: gcc.dg/graphite/pr42530.c (test for excess errors) > FAIL: gcc.dg/tree-ssa/cunroll-1.c scan-tree-dump cunrolli "Unrolled loop 1 completely .duplicated 2 times.." > FAIL: gcc.dg/tree-ssa/cunroll-1.c scan-tree-dump cunrolli "Last iteration exit edge was proved true." > FAIL: gcc.dg/tree-ssa/cunroll-3.c scan-tree-dump cunrolli "Unrolled loop 1 completely .duplicated 1 times.." > FAIL: gcc.dg/tree-ssa/loop-36.c scan-tree-dump-not dce2 "c.array" > FAIL: gcc.dg/tree-ssa/loop-37.c scan-tree-dump-not optimized "my_array" > FAIL: gcc.dg/tree-ssa/pr21829.c scan-tree-dump-not optimized "if \\(" > FAIL: libgomp.fortran/reduction2.f90 -O3 -fomit-frame-pointer execution test > FAIL: libgomp.fortran/reduction2.f90 -O3 -fomit-frame-pointer -funroll-loops execution test > FAIL: libgomp.fortran/reduction2.f90 -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions execution test > FAIL: libgomp.fortran/reduction2.f90 -O3 -g execution test > FAIL: libgomp.fortran/reduction2.f90 -O3 -fomit-frame-pointer execution test > FAIL: libgomp.fortran/reduction2.f90 -O3 -fomit-frame-pointer -funroll-loops execution test > FAIL: libgomp.fortran/reduction2.f90 -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions execution test > FAIL: libgomp.fortran/reduction2.f90 -O3 -g execution test Yep, problem here is the *2/3 heuristic in estimated unroller body size. I am back to internet access, so I will look into it today or tomorrow. Honza > > for both -m32 and -m64 + > > FAIL: gcc.dg/tree-ssa/loadpre6.c scan-tree-dump-times pre "Insertions: 2" 1 > > with -m32. > > Dominique
--- ../_clean/gcc/tree-ssa-loop-ivcanon.c 2012-11-18 11:27:28.000000000 +0100 +++ gcc/tree-ssa-loop-ivcanon.c 2012-11-20 16:27:07.000000000 +0100 @@ -641,9 +641,10 @@ try_unroll_loop_completely (struct loop enum unroll_level ul, HOST_WIDE_INT maxiter) { - unsigned HOST_WIDE_INT n_unroll, ninsns, max_unroll, unr_insns; + unsigned HOST_WIDE_INT ninsns, max_unroll, unr_insns; gimple cond; struct loop_size size; + unsigned HOST_WIDE_INT n_unroll = 0; bool n_unroll_found = false; edge edge_to_cancel = NULL; int num = loop->num;