aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-loop-ivopts.c
diff options
context:
space:
mode:
authorRichard Guenther <rguenther@suse.de>2010-07-23 10:15:27 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2010-07-23 10:15:27 +0000
commit97a738765d907cf6798721fbdebfc2dd68f475ae (patch)
tree1e41ce3595db681d31e6feb2dc033ad9365be59e /gcc/tree-ssa-loop-ivopts.c
parent61b644c2ae3055e797ba6c4de28888565b667b35 (diff)
downloadgcc-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.c10
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)