[autovect] [patch] complete-unrolling pass before the vectorizer

Revital1 Eres ERES@il.ibm.com
Thu Mar 22 15:45:00 GMT 2007


Hello,

The new patch is attached.  A new flag was added to control complete
unrolling pass (-ftree-complete-unroll).  It is unset in the vectorizer
testsuite.

The addition of the new passes causes more testcases to PASS which
changes the gcc summary report.

It is caused due to a testcase like the following; which passes for every
dump file that is produces, because more are produced we get more PASSes.

/home/eres/build_lim_certification/new_build/gcc/xgcc
-B/home/eres/build_lim_certification/new_build/gcc/  -w  -O2   -DMASK=2
-x c -da -fdump-tree-all -fdump-noaddr -fno-show-column -c  -O2 -o
/home/eres/build_lim_certification/new_build/gcc/testsuite/gcc/dump-noaddr.o
/home/eres/build_lim_certification/gcc/gcc/testsuite/gcc.c-torture/unsorted/dump-noaddr.c
(timeout = 300) PASS: gcc.c-torture/unsorted/dump-noaddr.c,
-O2   -DMASK=2 -x c -da -fdump-tree-all -fdump-noaddr
PASS: gcc.c-torture/unsorted/dump-noaddr.c.001t.tu,  -O2  comparison
PASS: gcc.c-torture/unsorted/dump-noaddr.c.003t.original,  -O2  comparison
PASS: gcc.c-torture/unsorted/dump-noaddr.c.004t.gimple,  -O2  comparison

We have four more passes; their are eight different runs like that ( -O0,
-O1, -O2, -O3,
-O3 -fomit-frame-pointer -funroll-loops,  -O3 -fomit-frame-pointer
-funroll-all-loops -finline-functions, -O3 -g, -Os), which explains 32
more testcases that pass.

                              === gcc tests ===
@@ -170,14 +170,14 @@

                === gcc Summary ===

-# of expected passes           43835
+# of expected passes           43867
 # of unexpected failures       68

Bootstrap and tested on PPC. OK for autovect branch?

Thanks,
Revital



2007-03-22  Revital Eres  <eres@il.ibm.com>

        * passes.c (init_optimization_passes): move complete-unrolling
          pass before the vectorizer and add constant propagation,
          store-ccp, dse and dce passes after it.
        * common.opt (-ftree-complete-unroll): Add the new flag.
        * doc/invoke.texi (-ftree-complete-unroll): Document it.
        * testsuite/gcc.dg/vect/vect.exp: Add fno-tree-complete-unroll
          to the default options of the vect testsuite.
        * tree-ssa-loop.c (gate_tree_complete_unroll): Add
          -ftree-complete-unroll flag to the gate.
        * testsuite/gcc.dg/tree-ssa/20030917-1.c: Fix dump file number.
        * testsuite/gcc.dg/tree-ssa/ssa-ccp-1.c: Likewise.
        * testsuite/gcc.dg/tree-ssa/pr21574.c: Likewise.
        * testsuite/gcc.dg/tree-ssa/20030917-3.c: Likewise.
        * testsuite/gcc.dg/tree-ssa/ssa-ccp-3.c: Likewise.
        * testsuite/gcc.dg/tree-ssa/pr14841.c: Likewise.
        * testsuite/gcc.dg/tree-ssa/20030731-2.c: Likewise.
        * testsuite/gcc.dg/tree-ssa/20040721-1.c: Likewise.
        * testsuite/gcc.dg/pr23911.c: Likewise.

(See attached file: passes_patch_22_3.txt)
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: passes_patch_22_3.txt
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20070322/80120ee3/attachment.txt>


More information about the Gcc-patches mailing list