diff options
author | Richard Guenther <rguenther@suse.de> | 2010-07-23 10:15:27 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2010-07-23 10:15:27 +0000 |
commit | 97a738765d907cf6798721fbdebfc2dd68f475ae (patch) | |
tree | 1e41ce3595db681d31e6feb2dc033ad9365be59e /gcc/tree-ssa-loop-ivopts.c | |
parent | 61b644c2ae3055e797ba6c4de28888565b667b35 (diff) | |
download | gcc-97a738765d907cf6798721fbdebfc2dd68f475ae.zip gcc-97a738765d907cf6798721fbdebfc2dd68f475ae.tar.gz gcc-97a738765d907cf6798721fbdebfc2dd68f475ae.tar.bz2 |
re PR lto/45037 (lto1 ICEs when linking cns_solve)
2010-07-23 Richard Guenther <rguenther@suse.de>
PR tree-optimization/45037
* tree-ssa-loop-ivopts.c (copy_ref_info): Handle NULL base.
From-SVN: r162451
Diffstat (limited to 'gcc/tree-ssa-loop-ivopts.c')
-rw-r--r-- | gcc/tree-ssa-loop-ivopts.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/gcc/tree-ssa-loop-ivopts.c b/gcc/tree-ssa-loop-ivopts.c index 5f2c6ae..c7d534b 100644 --- a/gcc/tree-ssa-loop-ivopts.c +++ b/gcc/tree-ssa-loop-ivopts.c @@ -5604,11 +5604,13 @@ copy_ref_info (tree new_ref, tree old_ref) && !SSA_NAME_PTR_INFO (new_ptr_base)) { tree base = get_base_address (old_ref); - if ((INDIRECT_REF_P (base) - || TREE_CODE (base) == MEM_REF) - && TREE_CODE (TREE_OPERAND (base, 0)) == SSA_NAME) + if (!base) + ; + else if ((INDIRECT_REF_P (base) + || TREE_CODE (base) == MEM_REF) + && TREE_CODE (TREE_OPERAND (base, 0)) == SSA_NAME) duplicate_ssa_name_ptr_info - (new_ptr_base, SSA_NAME_PTR_INFO (TREE_OPERAND (base, 0))); + (new_ptr_base, SSA_NAME_PTR_INFO (TREE_OPERAND (base, 0))); else if (TREE_CODE (base) == VAR_DECL || TREE_CODE (base) == PARM_DECL || TREE_CODE (base) == RESULT_DECL) |