From 34c1de7982c3f31890d013128902b6563a37a2fb Mon Sep 17 00:00:00 2001 From: Richard Guenther Date: Tue, 1 Feb 2011 14:36:00 +0000 Subject: [PATCH] re PR tree-optimization/47555 (Huge memory usage when optimizing) 2011-02-01 Richard Guenther PR tree-optimization/47555 Revert 2010-07-15 Sebastian Pop * params.def (PARAM_SCEV_MAX_EXPR_SIZE): Bump the value to 100. * gcc.dg/pr47555.c: New testcase. From-SVN: r169478 --- gcc/ChangeLog | 8 ++++++++ gcc/params.def | 2 +- gcc/testsuite/ChangeLog | 5 +++++ gcc/testsuite/gcc.dg/pr47555.c | 36 ++++++++++++++++++++++++++++++++++ 4 files changed, 50 insertions(+), 1 deletion(-) create mode 100644 gcc/testsuite/gcc.dg/pr47555.c diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 27d06e785ab..8f43325b6e7 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +2011-02-01 Richard Guenther + + PR tree-optimization/47555 + Revert + 2010-07-15 Sebastian Pop + + * params.def (PARAM_SCEV_MAX_EXPR_SIZE): Bump the value to 100. + 2011-02-01 Sebastien Bourdeauducq PR gcc/46692 diff --git a/gcc/params.def b/gcc/params.def index 96dc858cf82..3138bc22cd7 100644 --- a/gcc/params.def +++ b/gcc/params.def @@ -481,7 +481,7 @@ DEFPARAM(PARAM_IV_ALWAYS_PRUNE_CAND_SET_BOUND, DEFPARAM(PARAM_SCEV_MAX_EXPR_SIZE, "scev-max-expr-size", "Bound on size of expressions used in the scalar evolutions analyzer", - 100, 0, 0) + 20, 0, 0) DEFPARAM(PARAM_OMEGA_MAX_VARS, "omega-max-vars", diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 8164cf4c198..d047f874911 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2011-02-01 Richard Guenther + + PR tree-optimization/47555 + * gcc.dg/pr47555.c: New testcase. + 2011-02-01 Richard Guenther PR tree-optimization/47541 diff --git a/gcc/testsuite/gcc.dg/pr47555.c b/gcc/testsuite/gcc.dg/pr47555.c new file mode 100644 index 00000000000..d65265274f9 --- /dev/null +++ b/gcc/testsuite/gcc.dg/pr47555.c @@ -0,0 +1,36 @@ +/* { dg-do compile } */ +/* { dg-options "-O2" } */ + +#define FILL_BACK *ptrRGB++=0; *ptrRGB++=0; *ptrRGB++=0; + + +void uncompact(unsigned char* ptrRGB, const unsigned int* ptrSrc, const unsigned char* ptrRGBcompact, int line, int nbPixLeft) +{ + +#define BIT_2_RGB32 \ + if ((v & 0x00000001)){ nbPixLeft--; *ptrRGB++ = *ptrRGBcompact++; *ptrRGB++ = *ptrRGBcompact++; *ptrRGB++ = *ptrRGBcompact++; } \ + else{ FILL_BACK } \ + v >>= 1; +#define BIT_2_RGB16 \ + if ((v16 & 0x0001)){ nbPixLeft--; *ptrRGB++ = *ptrRGBcompact++; *ptrRGB++ = *ptrRGBcompact++; *ptrRGB++ = *ptrRGBcompact++; } \ + else{ FILL_BACK } \ + v16 >>= 1; + + int x; + unsigned int v, *ptrSrc32bits=(unsigned int*)ptrSrc; + unsigned short v16,*ptrSrc16bits; + + for(x=0; x