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>
|
2007-03-04 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
|
||||||
|
|
||||||
PR other/30465
|
PR other/30465
|
||||||
|
@ -1588,7 +1588,15 @@ analyze_insn_to_expand_var (struct loop *loop, rtx insn)
|
|||||||
|| FLOAT_MODE_P (mode2))
|
|| FLOAT_MODE_P (mode2))
|
||||||
&& !flag_unsafe_math_optimizations)
|
&& !flag_unsafe_math_optimizations)
|
||||||
return NULL;
|
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. */
|
/* Record the accumulator to expand. */
|
||||||
ves = XNEW (struct var_to_expand);
|
ves = XNEW (struct var_to_expand);
|
||||||
ves->insn = insn;
|
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