diff options
author | Richard Guenther <rguenther@suse.de> | 2011-02-01 14:36:00 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2011-02-01 14:36:00 +0000 |
commit | 34c1de7982c3f31890d013128902b6563a37a2fb (patch) | |
tree | 7ef85fd21f126a84b542c478214f84d009d326ba /gcc | |
parent | dd2804d247035f398e3f1e61c394fb7d54f37698 (diff) | |
download | gcc-34c1de7982c3f31890d013128902b6563a37a2fb.zip gcc-34c1de7982c3f31890d013128902b6563a37a2fb.tar.gz gcc-34c1de7982c3f31890d013128902b6563a37a2fb.tar.bz2 |
re PR tree-optimization/47555 (Huge memory usage when optimizing)
2011-02-01 Richard Guenther <rguenther@suse.de>
PR tree-optimization/47555
Revert
2010-07-15 Sebastian Pop <sebastian.pop@amd.com>
* params.def (PARAM_SCEV_MAX_EXPR_SIZE): Bump the value to 100.
* gcc.dg/pr47555.c: New testcase.
From-SVN: r169478
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 8 | ||||
-rw-r--r-- | gcc/params.def | 2 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/pr47555.c | 36 |
4 files changed, 50 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 27d06e7..8f43325 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +2011-02-01 Richard Guenther <rguenther@suse.de> + + PR tree-optimization/47555 + Revert + 2010-07-15 Sebastian Pop <sebastian.pop@amd.com> + + * params.def (PARAM_SCEV_MAX_EXPR_SIZE): Bump the value to 100. + 2011-02-01 Sebastien Bourdeauducq <sebastien@milkymist.org> PR gcc/46692 diff --git a/gcc/params.def b/gcc/params.def index 96dc858..3138bc2 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 8164cf4..d047f87 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,5 +1,10 @@ 2011-02-01 Richard Guenther <rguenther@suse.de> + PR tree-optimization/47555 + * gcc.dg/pr47555.c: New testcase. + +2011-02-01 Richard Guenther <rguenther@suse.de> + PR tree-optimization/47541 * g++.dg/torture/pr47541.C: New testcase. diff --git a/gcc/testsuite/gcc.dg/pr47555.c b/gcc/testsuite/gcc.dg/pr47555.c new file mode 100644 index 0000000..d652652 --- /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<line; x++) { + v = *ptrSrc32bits++; + BIT_2_RGB32 BIT_2_RGB32 BIT_2_RGB32 BIT_2_RGB32 BIT_2_RGB32 BIT_2_RGB32 BIT_2_RGB32 BIT_2_RGB32 + BIT_2_RGB32 BIT_2_RGB32 BIT_2_RGB32 BIT_2_RGB32 BIT_2_RGB32 BIT_2_RGB32 BIT_2_RGB32 BIT_2_RGB32 + BIT_2_RGB32 BIT_2_RGB32 BIT_2_RGB32 BIT_2_RGB32 BIT_2_RGB32 BIT_2_RGB32 BIT_2_RGB32 BIT_2_RGB32 + BIT_2_RGB32 BIT_2_RGB32 BIT_2_RGB32 BIT_2_RGB32 BIT_2_RGB32 BIT_2_RGB32 BIT_2_RGB32 BIT_2_RGB32 + } + + ptrSrc16bits=(unsigned short *)ptrSrc32bits; + v16 = *ptrSrc16bits++; + BIT_2_RGB16 BIT_2_RGB16 BIT_2_RGB16 BIT_2_RGB16 BIT_2_RGB16 BIT_2_RGB16 + BIT_2_RGB16 BIT_2_RGB16 BIT_2_RGB16 BIT_2_RGB16 BIT_2_RGB16 BIT_2_RGB16 + +} |