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
This commit is contained in:
parent
fabb00fcc5
commit
c1c5a431b5
@ -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
|
||||
|
@ -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;
|
||||
|
25
gcc/testsuite/gcc.dg/var-expand1.c
Normal file
25
gcc/testsuite/gcc.dg/var-expand1.c
Normal file
@ -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*" } } */
|
Loading…
Reference in New Issue
Block a user