[PATCH] Fix PR45037
Richard Guenther
rguenther@suse.de
Fri Jul 23 10:14:00 GMT 2010
We need to watch out for NULL result from get_base_address
(a CONST_DECL in our case).
Bootstrapped and tested on x86_64-unknown-linux-gnu, applied.
Richard.
2010-07-23 Richard Guenther <rguenther@suse.de>
PR tree-optimization/45037
* tree-ssa-loop-ivopts.c (copy_ref_info): Handle NULL base.
Index: gcc/tree-ssa-loop-ivopts.c
===================================================================
*** gcc/tree-ssa-loop-ivopts.c (revision 162448)
--- gcc/tree-ssa-loop-ivopts.c (working copy)
*************** copy_ref_info (tree new_ref, tree old_re
*** 5604,5614 ****
&& !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)
duplicate_ssa_name_ptr_info
! (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)
--- 5604,5616 ----
&& !SSA_NAME_PTR_INFO (new_ptr_base))
{
tree base = get_base_address (old_ref);
! 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)));
else if (TREE_CODE (base) == VAR_DECL
|| TREE_CODE (base) == PARM_DECL
|| TREE_CODE (base) == RESULT_DECL)
More information about the Gcc-patches
mailing list