aboutsummaryrefslogtreecommitdiff
path: root/gcc/except.c
diff options
context:
space:
mode:
authorRichard Guenther <rguenther@suse.de>2009-04-04 09:34:32 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2009-04-04 09:34:32 +0000
commitaa7069aa9faf250b01c10bb7c2c442d329c0bab8 (patch)
tree9008d47a69f8bfcbddab1535dfb7516d4a030aff /gcc/except.c
parentcd15ad3e604aaa74991b72dcbf74ab61fe2fc9c4 (diff)
downloadgcc-aa7069aa9faf250b01c10bb7c2c442d329c0bab8.zip
gcc-aa7069aa9faf250b01c10bb7c2c442d329c0bab8.tar.gz
gcc-aa7069aa9faf250b01c10bb7c2c442d329c0bab8.tar.bz2
re PR c++/8781 (Pessimization of C++ (functional) code)
2009-04-04 Richard Guenther <rguenther@suse.de> PR tree-optimization/8781 PR tree-optimization/37892 * tree-ssa-sccvn.h (vn_reference_fold_indirect): Declare. * tree-ssa-sccvn.c (vn_reference_fold_indirect): New function. (valueize_refs): Call it for *& valueizations. (shared_reference_ops_from_ref): Rename to ... (valueize_shared_reference_ops_from_ref): ... this and valueize. (shared_reference_ops_from_call): Rename to ... (valueize_shared_reference_ops_from_call): ... this and valueize. (vn_reference_lookup): Update. (visit_reference_op_call): Likewise. * tree-ssa-pre.c (phi_translate_1): Fold *&. (eliminate): Value-replace the call address in call statements. * g++.dg/tree-ssa/pr8781.C: New testcase. * gcc.dg/tree-ssa/ssa-pre-25.c: Likewise. From-SVN: r145533
Diffstat (limited to 'gcc/except.c')
0 files changed, 0 insertions, 0 deletions