diff options
author | Revital Eres <eres@il.ibm.com> | 2007-03-05 09:28:23 +0000 |
---|---|---|
committer | Victor Kaplansky <victork@gcc.gnu.org> | 2007-03-05 09:28:23 +0000 |
commit | c1c5a431b52c85d485b65756d3ecce60875bee1e (patch) | |
tree | 3d53c4d5a7981f6057785806b09346640723b223 | |
parent | fabb00fcc59439d49025abb561b7411c53f34764 (diff) | |
download | gcc-c1c5a431b52c85d485b65756d3ecce60875bee1e.zip gcc-c1c5a431b52c85d485b65756d3ecce60875bee1e.tar.gz gcc-c1c5a431b52c85d485b65756d3ecce60875bee1e.tar.bz2 |
var-expand1.c: New test.
2007-03-05 Revital Eres <eres@il.ibm.com>
* gcc.dg/var-expand1.c: New test.
* loop-unroll.c (analyze_insn_to_expand_var): Add dump info
when an accumulator is expanded.
From-SVN: r122543
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/loop-unroll.c | 10 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/var-expand1.c | 25 |
3 files changed, 40 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 47b83c8..5b125fd 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2007-03-05 Revital Eres <eres@il.ibm.com> + + * gcc.dg/var-expand1.c: New test. + * loop-unroll.c (analyze_insn_to_expand_var): Add dump info + when an accumulator is expanded. + 2007-03-04 Manuel Lopez-Ibanez <manu@gcc.gnu.org> PR other/30465 diff --git a/gcc/loop-unroll.c b/gcc/loop-unroll.c index 63eebed..8fb69b8 100644 --- a/gcc/loop-unroll.c +++ b/gcc/loop-unroll.c @@ -1588,7 +1588,15 @@ analyze_insn_to_expand_var (struct loop *loop, rtx insn) || FLOAT_MODE_P (mode2)) && !flag_unsafe_math_optimizations) return NULL; - + + if (dump_file) + { + fprintf (dump_file, + "\n;; Expanding Accumulator "); + print_rtl (dump_file, dest); + fprintf (dump_file, "\n"); + } + /* Record the accumulator to expand. */ ves = XNEW (struct var_to_expand); ves->insn = insn; diff --git a/gcc/testsuite/gcc.dg/var-expand1.c b/gcc/testsuite/gcc.dg/var-expand1.c new file mode 100644 index 0000000..3bb44e0 --- /dev/null +++ b/gcc/testsuite/gcc.dg/var-expand1.c @@ -0,0 +1,25 @@ +/* { dg-do compile } */ +/* { dg-options "-O2 -funroll-loops --fast-math -fvariable-expansion-in-unroller -dL" } */ + +extern void abort (void); + +float array[10] = { 1,2,3,4,5,6,7,8,9,10 }; + +int foo (int n) +{ + unsigned i; + float accum = 1.0; + + for (i = 0; i < n; i++) + accum += array[i]; + + return accum; +} + +int main (void) +{ + return foo (10); +} + +/* { dg-final { scan-rtl-dump "Expanding Accumulator" "loop2_unroll" } } */ +/* { dg-final { cleanup-rtl-dump "loop*" } } */
\ No newline at end of file |