2007-06-14  Andrew Pinski  <andrew_pinski@playstation.sony.com>

	Merge mainline, revision 125733

2007-06-14  Andrew Pinski  <andrew_pinski@playstation.sony.com>

	* tree-vrp.c (compare_values_warnv): Fix spelling/grammer
	mistakes
	(extract_range_from_binary_expr): Likewise.
	* doc/c-tree.texi (POINTER_PLUS_EXPR): Likewise.
	* tree-ssa-loop-niter.c (assert_loop_rolls_lt): Add vertical
	whitespace.
	* tree-pretty-print.c (op_symbol_code <case POINTER_PLUS_EXPR>):
	Change print out to "+".
	* tree-scalar-evolution.c (instantiate_parameters_1):
	Use chrec_type instead of TREE_TYPE.
	* builtins.c (expand_builtin_strcat): Fix vertical whitespace.
	(std_expand_builtin_va_start): Fix whitespace.
	(fold_builtin_strstr): Use size_int instead of build_int_cst (sizetype.
	(fold_builtin_strchr): Likewise.
	(fold_builtin_strrchr): Likewise.
	(fold_builtin_strpbrk): Likewise.
	* fold-const.c (try_move_mult_to_index): Fix spelling/grammer
	mistakes.
	(fold_to_nonsharp_ineq_using_bound): Merge the two ifs at the end.
	(fold_binary): Fix spelling/grammer mistakes.
	* tree-ssa-ccp.c (maybe_fold_stmt_addition): Assert that only
	a POINTER_PLUS_EXPR is passed in.
	* tree-ssa-loop-ivopts.c (determine_base_object):
	Fix spelling/grammer mistakes.
	* expr.c (expand_expr_real_1): Likewise.
	* tree-data-ref.c (split_constant_offset): Likewise.
	* c-typeck.c (build_unary_op): Use fold_convert instead of convert
	for converting to sizetype.
	* tree.def (POINTER_PLUS_EXPR): Fix comment.
	* tree-ssa-forwprop.c (forward_propagate_addr_expr_1):
	Fix spelling/grammer mistakes.
	(phiprop_insert_phi): Likewise.
	* c-common.c (pointer_int_sum): Remove FIXME about
	POINTER_MINUS_EXPR.

2007-06-13  Andrew Pinski  <andrew_pinski@playstation.sony.com>

	* expr.c (expand_expr_real_1 <case POINTER_PLUS_EXPR>): Remove assert
	for checking the modes of the operands are the same.

2007-06-12  Andrew Pinski  <andrew_pinski@playstation.sony.com>

	* config/sparc/sparc.c (sparc_gimplify_va_arg): Use POINTER_PLUS_EXPR
	instead of PLUS_EXPR when the operand was a pointer.  Don't create a
	BIT_AND_EXPR for pointer types.

2007-06-12  Andrew Pinski  <andrew_pinski@playstation.sony.com>

	* config/mips/mips.c (mips_va_start): Use POINTER_PLUS_EXPR
	for pointers.
	(mips_gimplify_va_arg_expr): Likewise.
	Don't create BIT_AND_EXPR in a pointer type.

2007-06-12  Andrew Pinski  <andrew_pinski@playstation.sony.com>

	Merge mainline, revision 125658 

2007-06-11  Andrew Pinski  <andrew_pinski@playstation.sony.com>

	Merge mainline, revision 125611

2007-06-07  Andrew Pinski  <andrew_pinski@playstation.sony.com>

	* matrix-reorg.c (collect_data_for_malloc_call): Stmt
	will now only be either INDIRECT_REF and POINTER_PLUS_EXPR.
	Offset only holds something for PLUS_EXPR.
	(ssa_accessed_in_tree): Handle POINTER_PLUS_EXPR just as
	a PLUS_EXPR.
	(analyze_transpose): POINTER_PLUS_EXPR will only show up now
	and not PLUS_EXPR.
	(analyze_accesses_for_modify_stmt): Likewise.
	Remove comment about the type being integral type as it is
	wrong now.
	(analyze_matrix_accesses): Handle POINTER_PLUS_EXPR as
	PLUS_EXPR.
	(transform_access_sites): POINTER_PLUS_EXPR will only show up now
	and not PLUS_EXPR.
	Correct the type which the artimentic is done in (is now
	sizetype).
	Reindent one loop.

2007-06-07  Andrew Pinski  <andrew_pinski@playstation.sony.com>

	* config/ia64/ia64.c (ia64_gimplify_va_arg): Use
	POINTER_PLUS_EXPR for pointers and create the
	BIT_AND_EXPR in sizetype.
	* config/s390/s390.c (s390_va_start): Use POINTER_PLUS_EXPR
	for pointers instead of PLUS_EXPR.
	(s390_gimplify_va_arg): Likewise.

2007-06-07  Andrew Pinski  <andrew_pinski@playstation.sony.com>

	* config/frv/frv.c (frv_expand_builtin_va_start): Use sizetype
	with make_tree, instead of a pointer type.
	* config/pa/pa.c (reloc_needed): Handle POINTER_PLUS_EXPR
	as PLUS_EXPR/MINUS_EXPR.
	(hppa_gimplify_va_arg_expr): Don't create MINUS_EXPR or
	PLUS_EXPR for pointers, instead use POINTER_PLUS_EXPR.
	Don't use BIT_AND_EXPR on a pointer type, convert the
	expression to sizetype first.

2007-06-06  Andrew Pinski  <andrew_pinski@playstation.sony.com>

	* tree-ssa-forwprop.c
	(forward_propagate_addr_into_variable_array_index):
	Don't expect a statement for the size 1 case.
	Use the offset variable for the size 1 case.
	Look through use-def chains to find the mutliply
	for the non size 1 case.
	(forward_propagate_addr_expr_1): Call
	forward_propagate_addr_into_variable_array_index with
	the SSA_NAME instead of the statement.

2007-06-06  Andrew Pinski  <andrew_pinski@playstation.sony.com>

	PR tree-opt/32225
	* tree-scalar-evolution.c (follow_ssa_edge_in_rhs <case
	POINTER_PLUS_EXPR>): Do not change type_rhs.
	(follow_ssa_edge_in_rhs <case POINTER_PLUS_EXPR, case PLUS_EXPR>):
	Use the code of the orginal expression instead of just PLUS_EXPR.
	Also use type_rhs where TREE_TYPE (rhs) was used (reverting back
	to the trunk).

2007-06-03  Andrew Pinski  <andrew_pinski@playstation.sony.com>

	* tree-predcom.c (ref_at_iteration): If we have a pointer
	type do the multiplication in sizetype.

2007-06-01  Andrew Pinski  <andrew_pinski@playstation.sony.com>

	Merge mainline, revision 125285

2007-05-31  Andrew Pinski  <andrew_pinski@playstation.sony.com>

	* tree-vrp.c (extract_range_from_binary_expr): Handle
	MIN_EXPR/MAX_EXPR for pointers type.

	PR tree-opt/32167
	* tree-chrec.c (chrec_fold_plus): When either
	operand is zero, convert the other operand.

2007-05-30  Andrew Pinski  <andrew_pinski@playstation.sony.com>

	* builtins.c (std_expand_builtin_va_start): Use
	sizetype for the call to make_tree and then convert
	to the pointer type.

2007-05-30  Andrew Pinski  <andrew_pinski@playstation.sony.com>

	PR tree-op/32145
	* tree-vrp.c (extract_range_from_assert): Create
	POINTER_PLUS_EXPR for pointer types.

	PR tree-opt/32144
	* tree-chrec.c (chrec_fold_plus_poly_poly): If the
	first chrec is a pointer type, then the second should
	be sizetype and not the first's type.	

2007-05-28  Andrew Pinski  <andrew_pinski@playstation.sony.com>

	* fold-const.c (try_move_mult_to_index):
	Say why we strip the nops.
	(fold_unary <case NOP_EXPR>): Remove
	TODO as we cannot get that case.
	* tree-chrec.c (chrec_fold_plus):
	Cleanup the code to chose which
	tree code is used.
	(chrec_convert_rhs): Add comment on
	why the increment is sizetype for
	pointers.
	* tree-mudflap.c (mf_xform_derefs_1):
	Use size_int instead of build_int_cst.
	* tree-ssa-loop-prefetch.c (issue_prefetch_ref): Likewise.

2007-05-21  Andrew Pinski  <andrew_pinski@playstation.sony.com>

	PR tree-opt/32015
	* tree.c (build2_stat): Make sure that
	MULT_EXPR is not used with pointers.
	* tree-chrec.c (chrec_apply): Use chrec_convert_rhs
	on the argument x instead of chrec_convert.

2007-05-20  Kaz Kojima  <kkojima@gcc.gnu.org>

	* config/sh/sh.c (sh_va_start): Call make_tree with sizetype
	and convert its result to a pointer type.  Use POINTER_PLUS_EXPR
	for the pointer additions and also use size_int for the offsets.
	(sh_gimplify_va_arg_expr): Use POINTER_PLUS_EXPR for the pointer
	additions and also use size_int for the offsets.  Perform
	BIT_AND_EXPR on sizetype arguments.

2007-05-15  Andrew Pinski  <andrew_pinski@playstation.sony.com>

	* tree-ssa-forwprop (forward_propagate_addr_into_variable_array_index):
	Don't expect there to be a cast for the index as that
	does not exist anymore.
	(forward_propagate_addr_expr_1): Check for
	POINTER_PLUS_EXPR instead of PLUS_EXPR.
	Don't check for the first operand of the
	POINTER_PLUS_EXPR was the index as it
	cannot be.

2007-05-15  Richard Guenther  <rguenther@suse.de>

	* config/i386/i386.c (ix86_gimplify_va_arg): Use POINTER_PLUS_EXPR,
	perform BIT_AND_EXPR on sizetype arguments.

2007-05-15  Andrew Pinski  <andrew_pinski@playstation.sony.com>

	* config/rs6000/rs6000.c (rs6000_va_start): Use POINTER_PLUS_EXPR
	instead of PLUS_EXPR for pointer addition.
	(rs6000_va_start): Likewise.
	Also use sizetype for the offset.
	* tree-stdarg.c (va_list_counter_bump): Check for PLUS_EXPR
	and POINTER_PLUS_EXPR.
	(check_va_list_escapes): Likewise.

2007-05-14  Andrew Pinski  <andrew_pinski@playstation.sony.com>

	* config/i386/i386.c (ix86_va_start): Use POINTER_PLUS_EXPR
	for the pointer addition and also use size_int/sizetype
	for the offset.
	(ix86_gimplify_va_arg): Likewise.

2007-05-14  Andrew Pinski  <andrew_pinski@playstation.sony.com>

	Merge mainline, revision 124657
	* tree-data-ref.c (split_constant_offset): Handle
	POINTER_PLUS_EXPR
	exactly the same as PLUS_EXPR/MINUS_EXPR except for the offset
	needs to be calcuated using PLUS_EXPR instead of
	POINTER_PLUS_EXPR.
	* builtins.c (fold_builtin_memchr): Use POINTER_PLUS_EXPR
	instead of PLUS_EXPR for adding to a pointer.

2006-05-15  Zdenek Dvorak <dvorakz@suse.cz>

	* tree-ssa-loop-ivopts.c (determine_base_object): Abort for PLUS_EXPR
	in pointer type.

2007-05-12  Andrew Pinski  <andrew_pinski@playstation.sony.com>

	* tree-ssa-address.c (tree_mem_ref_addr): When adding
	the offset to the base, use POINTER_PLUS_EXPR.

2007-05-12  Andrew Pinski  <andrew_pinski@playstation.sony.com>

	* expr.c (expand_expr_addr_expr_1): Call expand_expr
	for the offset with the modifier as EXPAND_INITIALIZER
	if the modifier is EXPAND_INITIALIZER.
	(expand_expr_real_1 <case INTEGER_CST>): Don't force to
	a register if we had an overflow.

2007-05-10  Andrew Pinski  <andrew_pinski@playstation.sony.com>

	Merge mainline, revision 124602.

	* fold-const.c  (extract_array_ref): Make sure the offset
	is converted to sizetype.
	(try_move_mult_to_index): Strip the NOPs from the offset.
	(fold_binary <case POINTER_PLUS_EXPR>): Convert the second
	operand to sizetype before calling try_move_mult_to_index.
	* tree-ssa-loop-niter.c (number_of_iterations_lt_to_ne):
	For pointer types, use sizetype when
	creating MINUS_EXPR/PLUS_EXPRs.
	* tree-ssa-ccp.c (maybe_fold_stmt_indirect): Make sure
	the offset is converted to sizetype.

2007-05-11  Andrew Pinski  <andrew_pinski@playstation.sony.com>

	* config/spu/spu.c (spu_va_start): Create POINTER_PLUS_EXPR
	instead of PLUS_EXPR when doing addition on pointer
	types.  Use sizetype for the second operand.
	(spu_gimplify_va_arg_expr): Likewise.
	* tree-ssa.c (tree_ssa_useless_type_conversion_1):
	Convert the MIN/MAX of the inner type to the outer
	type before comparing them.

2007-05-09  Andrew Pinski  <andrew_pinski@playstation.sony.com>
	    Zdenek Dvorak  <dvorakz@suse.cz>

	* fold-const.c  (fold_to_nonsharp_ineq_using_bound): Don't
	use a pointer type for MINUS_EXPR.
	(fold_binary <case MINUS_EXPR>): Fold (PTR0 p+ A) - (PTR1 p+ B)
	into (PTR0 - PTR1) + (A - B). Fold (PTR0 p+ A) - PTR1 into
	(PTR0 - PTR1) + A iff (PTR0 - PTR1) simplifies.
	* tree-chrec.c (chrec_fold_plus_poly_poly): For
	POINTER_PLUS_EXPR, use a different right hand side type.
	Handle POINTER_PLUS_EXPR like PLUS_EXPR.
	(chrec_fold_plus_1): Likewise.
	(convert_affine_scev): Likewise.
	(chrec_convert_aggressive): Likewise.
	(chrec_fold_plus): For pointer types, use POINTER_PLUS_EXPR
	instead of PLUS_EXPR.
	(reset_evolution_in_loop): For pointer types, the new_evol
	should be sizetype.
	(chrec_convert_rhs): New function.
	* tree-chrec.h (chrec_convert_rhs): New prototype.
	(build_polynomial_chrec): For pointer types, the right hand
	side should be sizetype and not the same as the left hand side.
	* tree-scalar-evolution.c (add_to_evolution_1): Convert the
	increment using chrec_convert_rhs instead of chrec_convert.
	(follow_ssa_edge_in_rhs): Handle POINTER_PLUS_EXPR like
	PLUS_EXPR except for the right hand side's type will be
	sizetype.
	(interpret_rhs_modify_stmt): Handle POINTER_PLUS_EXPR.
	(fold_used_pointer_cast): Kill.
	(pointer_offset_p): Kill.
	(fold_used_pointer): Kill.
	(pointer_used_p): Kill.
	(analyze_scalar_evolution_1 <case GIMPLE_MODIFY_STMT>): Don't
	call fold_used_pointer.
	(instantiate_parameters_1): Convert the increment
	using chrec_convert_rhs instead of chrec_convert.
	Handle POINTER_PLUS_EXPR as PLUS_EXPR.
	* tree-ssa-loop-niter.c (split_to_var_and_offset): Handle
	POINTER_PLUS_EXPR as PLUS_EXPR.
	(assert_loop_rolls_lt): For pointer types, use sizetype when
	creating MINUS_EXPR/PLUS_EXPRs.
	(number_of_iterations_le): Likewise.
	(expand_simple_operations): POINTER_PLUS_EXPR are simple also.
	(derive_constant_upper_bound): Handle POINTER_PLUS_EXPR just
	like PLUS_EXPR and MINUS_EXPR.
	* tree-data-ref.c (analyze_offset_expr): Likewise.
	(address_analysis): Handle POINTER_PLUS_EXPR as PLUS_EXPR.
	(analyze_offset): Handle POINTER_PLUS_EXPR also.
	(create_data_ref): Convert the increment
	using chrec_convert_rhs instead of chrec_convert.
	* tree-vect-transform.c (vect_update_ivs_after_vectorizer):
	For pointer types, create POINTER_PLUS_EXPR instead of
	PLUS_EXPR and also create MULT_EXPR in sizetype.

2007-05-07  Andrew Pinski  <andrew_pinski@playstation.sony.com>

	* builtins.c (std_gimplify_va_arg_expr): Use fold_build2 for
	the creating of POINTER_PLUS_EXPR.  For the BIT_AND_EXPR, cast
	the operands to sizetype first and then cast the BIT_AND_EXPR
	back to the pointer type.
	* tree-ssa-address.c (create_mem_ref): Create A
	POINTER_PLUS_EXPR for one case.
	* tree.c (const_hash_1): Handle POINTER_PLUS_EXPR same as
	PLUS_EXPR.
	(compare_constant): Likewise.
	(copy_constant): Likewise.
	(compute_reloc_for_constant): Likewise.
	(output_addressed_constants): Likewise.

2007-05-07  Andrew Pinski  <andrew_pinski@playstation.sony.com>

	* tree.def (POINTER_PLUS_EXPR): The second operand
	is of type sizetype and not ssizetype.
	* doc/c-tree.texi (POINTER_PLUS_EXPR): Document.

2007-05-06  Andrew Pinski  <andrew_pinski@playstation.sony.com>

	* tree-mudflap.c (mf_xform_derefs_1 <case BIT_FIELD_REF>):
	Add a conversion of ofs to sizetype.
	(mf_decl_eligible_p): Reformat for length issues.
	(mf_xform_derefs_1): Likewise.

2007-05-06  Andrew Pinski  <andrew_pinski@playstation.sony.com>

	* tree.c (build2_stat): Check to make sure the
	second operand is compatiable with sizetype.

2007-05-06  Andrew Pinski  <andrew_pinski@playstation.sony.com>

	* tree-cfg.c (verify_expr): Change error
	message about sizetype to be correct.

2007-05-06  Andrew Pinski  <andrew_pinski@playstation.sony.com>

	Merge mainline, revision 124478.
	* fold-const.c (fold_unary): Handle for (T1)(X op Y),
	only p+ as that is the only as that can be handled for
	binary operators now.  Add a TODO for non pointer type
	op's.
	* gimplifier.c (gimplify_expr): Don't special case
	PLUS_EXPR.  Special case POINTER_PLUS_EXPR instead,
	remove check for pointer type as it will always be
	a pointer type now.

2007-05-04  Andrew Pinski  <andrew_pinski@playstation.sony.com>

	* tree-vrp.c (extract_range_from_binary_expr): Handle
	POINTER_PLUS_EXPRs.  Assert POINTER_PLUS_EXPR is
	the only expression for pointer types.
	* tree-vect-transform.c (vect_gen_niters_for_prolog_loop):
	Add a cast when creating byte_misalign.

2007-05-04  Andrew Pinski  <andrew_pinski@playstation.sony.com>

	* fold-const.c (fold_binary <case POINTER_PLUS_EXPR>);
	Add comment on why you get INT +p INT.
	(fold_binary <case PLUS_EXPR>): Add folding of PTR+INT into
	PTR p+ INT.
	* dwarf2out.c (loc_descriptor_from_tree_1):
	Handle POINT_PLUS_EXPR as a PLUS_EXPR.

2007-05-04  Andrew Pinski  <andrew_pinski@playstation.sony.com>

	* tree-vrp.c  (compare_values_warnv): Convert val2 to
	the type of val1.
	* fold-const.c (extract_array_ref): Look for
	POINTER_PLUS_EXPR instead of PLUS_EXPR's.
	* tree-ssa-ccp.c (maybe_fold_stmt_indirect): Likewise.

2007-05-02  Andrew Pinski  <andrew_pinski@playstation.sony.com>

	* c-format.c (check_format_arg): Handle POINTER_PLUS_EXPR
	instead of PLUS_EXPR of pointer types.

2007-05-02  Andrew Pinski  <andrew_pinski@playstation.sony.com>

	* fold-const.c (try_move_mult_to_index): Remove code argument
	and replace all uses with PLUS_EXPR.
	(fold_binary <case POINTER_PLUS_EXR>): Remove code argument.
	(fold_binary <case PLUS_EXPR>): Don't call try_move_mult_to_index.
	(fold_binary <case MINUS_EXPR>): Likewise.
	* tree-ssa-ccp.c (maybe_fold_stmt_indirect): Remove subtraction
	case as it is always addition now.
	(fold_stmt_r): Don't handle PLUS_EXPR/MINUS_EXPR specially.
	Handle POINTER_PLUS_EXPR like PLUS_EXPR was handled before.

2007-05-01  Andrew Pinski  <andrew_pinski@playstation.sony.com>

	Merge mainline, revision 124343.
	* tree-vect-transform.c (bump_vector_ptr): Create a POINTER_PLUS_EXPR
	instead of PLUS_EXPR for the pointer increment statement.
	* expr.c (expand_expr_real_1): Add FIXME/assert for the unhandle case
	where the modes of the two operands are different.

2007-02-25  Andrew Pinski  <andrew_pinski@playstation.sony.com>

	Merge mainline, revision 122323.

2006-12-14  Zdenek Dvorak <dvorakz@suse.cz>

	Merge mainline, revision 119860.

2006-11-23  Andrew Pinski  <andrew_pinski@playstation.sony.com>

	* tree.def (POINTER_PLUS_EXPR): New tree code.
	* tree-pretty-print.c (dump_generic_node): Handle
	POINTER_PLUS_EXPR.
	(op_prio): Likewise.
	(op_symbol_1): Likewise.
	* optabs.c (optab_for_tree_code): Likewise.
	* tree-ssa-loop-manip.c (create_iv): Handle pointer base
	specially.
	* tree-tailcall.c (process_assignment): Mention
	POINTER_PLUS_EXPR in a TODO comment.
	* tree.c (build2_stat): Assert when trying to use PLUS_EXPR or 
	MINUS_EXPR with a pointer. Also assert for POINTER_PLUS_EXPR
	not used with a pointer and an integer type.
	*  tree-scalar-evolution.c (fold_used_pointer): Mention
	POINTER_PLUS_EXPR is what this needs to handle.
	* builtins.c (get_pointer_alignment): Handle POINTER_PLUS_EXPR
	instead of PLUS_EXPR.
	(expand_builtin_strcat): Create a POINTER_PLUS_EXPR instead of
	PLUS_EXPR for pointers.
	(std_gimplify_va_arg_expr): Likewise.
	(fold_builtin_memory_op): Likewise.
	(fold_builtin_strstr): Likewise.
	(fold_builtin_strchr): Likewise.
	(fold_builtin_strrchr): Likewise.
	(fold_builtin_strpbrk): Likewise.
	(expand_builtin_memory_chk): Likewise.
	(fold_builtin_memory_chk): Likewise.
	* fold-const.c (build_range_check): Handle pointer types
	specially.
	(fold_to_nonsharp_ineq_using_bound): Likewise.
	(fold_binary): Handle simple POINTER_PLUS_EXPR cases.
	(tree_expr_nonnegative_p): Handle POINTER_PLUS_EXPR.
	(tree_expr_nonzero_p): Likewise.
	(fold_indirect_ref_1): Look at POINTER_PLUS_EXPR instead
	of PLUS_EXPR for the complex expression folding.
	* tree-ssa-loop-ivopts.c (determine_base_object): Handle
	POINTER_PLUS_EXPR.
	(tree_to_aff_combination): Likewise.
	(force_expr_to_var_cost): Likewise.
	(force_expr_to_var_cost): Likewise. Create a POINTER_PLUS_EXPR
	instead of PLUS_EXPR for pointers.
	* c-format.c (check_format_arg): Mention this should be handling
	POINTER_PLUS_EXPR.
	* tree-stdarg.c (va_list_counter_bump): Handle POINTER_PLUS_EXPR
	instead of PLUS_EXPR.
	(check_va_list_escapes): Likewise.
	(check_all_va_list_escapes): Likewise.
	* expr.c (expand_expr_real_1): Handle POINTER_PLUS_EXPR.
	(string_constant): Likewise.
	* tree-ssa-address.c (add_to_parts): Create a POINTER_PLUS_EXPR
	instead of PLUS_EXPR for pointers.
	(most_expensive_mult_to_index): Likewise.
	(addr_to_parts): Use the correct type for the index.
	* c-typeck.c (build_unary_op): For pointers create the increment
	as a sizetype. Create a POINTER_PLUS_EXPR instead of PLUS_EXPR
	for pointers.
	* gimplify.c (gimplify_self_mod_expr): Create a
	POINTER_PLUS_EXPR instead of PLUS_EXPR for pointers.
	(gimplify_omp_atomic_fetch_op): Handle POINTER_PLUS_EXPR.
	* tree-mudflap.c (mf_xform_derefs_1): Create a
	POINTER_PLUS_EXPR instead of PLUS_EXPR for pointers.
	* tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Add a
	note this should be handling POINTER_PLUS_EXPR.
	* varasm.c (initializer_constant_valid_p): Handle
	POINTER_PLUS_EXPR.
	* tree-ssa-loop-prefetch.c (idx_analyze_ref):  Handle
	POINTER_PLUS_EXPR instead of PLUS_EXPR.
	(issue_prefetch_ref): Create a POINTER_PLUS_EXPR instead
	of PLUS_EXPR for pointers.
	* tree-vect-transform.c (vect_create_addr_base_for_vector_ref):
	Likewise.
	* tree-inline.c (estimate_num_insns_1): Handle
	POINTER_PLUS_EXPR.
	* tree-object-size.c (plus_expr_object_size): Handle
	POINTER_PLUS_EXPR instead of PLUS_EXPR.  Removing all the extra
	code which is trying to figure out which side is a pointer and 
	is the index.
	(check_for_plus_in_loops_1): Likewise.
	(check_for_plus_in_loops): Likewise.
	* c-common.c (pointer_int_sum): Create a
	POINTER_PLUS_EXPR instead of PLUS_EXPR for pointers.
	* tree-ssa-structalias.c (handle_ptr_arith): Handle
	only POINTER_PLUS_EXPR.  Removing all the extra
	code which is trying to figure out which side is a pointer and 
	is the index.
	* tree-cfg.c (verify_expr): Add extra checking for pointers and
	PLUS_EXPR and MINUS_EXPR.
	Also add checking to make sure the operands of POINTER_PLUS_EXPR
	are correct.


Copyright (C) 2006-2007 Free Software Foundation, Inc.

Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.
