diff options
author | Richard Guenther <rguenther@suse.de> | 2008-09-22 19:15:43 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2008-09-22 19:15:43 +0000 |
commit | ecb4e37b73d7649a447fe63f33dc20826fce0bb6 (patch) | |
tree | 011ef08c0c1e906fc44e085fd10886019e133ce7 /gcc/tree-ssa-pre.c | |
parent | 880f8ea3bd9ca8e4d1acf5083760da66b05fea59 (diff) | |
download | gcc-ecb4e37b73d7649a447fe63f33dc20826fce0bb6.zip gcc-ecb4e37b73d7649a447fe63f33dc20826fce0bb6.tar.gz gcc-ecb4e37b73d7649a447fe63f33dc20826fce0bb6.tar.bz2 |
re PR tree-optimization/37145 (XFAILs from PRE rewrite, SCCVN union optimization disabled)
2008-09-22 Richard Guenther <rguenther@suse.de>
PR tree-optimization/37145
* tree-ssa-sccvn.c (copy_reference_ops_from_ref): Re-enable
value-numbering union accesses with their offset and size only.
(visit_reference_op_load): Fix simplification of inserted conversions.
* tree-ssa-pre.c (find_or_generate_expression): Do not
recursively generate expressions if running FRE.
* gcc.c-torture/compile/20080922-1.c: New testcase.
* gcc.dg/tree-ssa/ssa-fre-7.c: Remove XFAIL.
* gcc.dg/tree-ssa/ssa-fre-8.c: Likewise.
* gcc.dg/tree-ssa/ssa-fre-9.c: Likewise.
From-SVN: r140562
Diffstat (limited to 'gcc/tree-ssa-pre.c')
-rw-r--r-- | gcc/tree-ssa-pre.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/gcc/tree-ssa-pre.c b/gcc/tree-ssa-pre.c index dd61349..cd344af 100644 --- a/gcc/tree-ssa-pre.c +++ b/gcc/tree-ssa-pre.c @@ -2730,8 +2730,9 @@ find_or_generate_expression (basic_block block, pre_expr expr, } /* If it's still NULL, it must be a complex expression, so generate - it recursively. */ - if (genop == NULL) + it recursively. Not so for FRE though. */ + if (genop == NULL + && !in_fre) { bitmap_set_t exprset; unsigned int lookfor = get_expr_value_id (expr); |