1. 28 Oct, 2009 10 commits
  2. 27 Oct, 2009 26 commits
    • Allow no-capture lambdas to convert to function pointer. · b77068f2
      	* semantics.c (maybe_add_lambda_conv_op): New.
      	* parser.c (cp_parser_lambda_expression): Call it.
      	(cp_parser_lambda_declarator_opt): Make op() static if
      	no captures.
      	* mangle.c (write_closure_type_name): Adjust.
      	* semantics.c (finish_this_expr): Adjust.
      	* decl.c (grok_op_properties): Allow it.
      	* call.c (build_user_type_conversion_1): Handle static conversion op.
      	(build_op_call): And op().
      
      From-SVN: r153617
      Jason Merrill committed
    • decl.c (purpose_member_field): New static function. · 73d28034
      	* gcc-interface/decl.c (purpose_member_field): New static function.
      	(annotate_rep): Use it instead of purpose_member.
      
      From-SVN: r153616
      Eric Botcazou committed
    • re PR c++/41819 (ICE with try/catch and -fno-exceptions) · b7da9fd4
              PR c++/41819
              * tree-eh.c (eh_region_may_contain_throw_map): Rename from
              eh_region_may_contain_throw; update users.
              (eh_region_may_contain_throw): New function.
              (lower_catch): Check flag_exceptions before creating exception region.
              (lower_eh_filter, lower_eh_must_not_throw): Likewise.
              (lower_cleanup): Tidy existing flag_exceptions check to match.
      
      From-SVN: r153615
      Richard Henderson committed
    • raise-gcc (db_region_for): Use _Unwind_GetIPInfo instead of _Unwind_GetIP if… · df66d165
      raise-gcc (db_region_for): Use _Unwind_GetIPInfo instead of _Unwind_GetIP if HAVE_GETIPINFO is defined.
      
      	* raise-gcc (db_region_for): Use _Unwind_GetIPInfo instead of
      	_Unwind_GetIP if HAVE_GETIPINFO is defined.
      	(db_action_for): Likewise.
      
      From-SVN: r153613
      Eric Botcazou committed
    • re PR lto/41652 (LTO plugin misconfiguration) · 4c0f4b0b
      2009-10-27  Dmitry Gorbachev  <d.g.gorbachev@gmail.com>
      
      	PR lto/41652
      	* configure.ac: Call AC_SYS_LARGEFILE before AC_OUTPUT.
      	* configure: Regenerate.
      
      From-SVN: r153610
      Dmitry Gorbachev committed
    • mingw32.h (CHECK_EXECUTE_STACK_ENABLED): New macro. · 41ca8d08
      2009-10-27  Kai Tietz <kai.tietz@onevision.com>
      
              PR/41799
              * config/i386/mingw32.h (CHECK_EXECUTE_STACK_ENABLED): New macro.
              * config/i386/mingw.opt: Add fset-stack-executable.
              * config/i386/i386.c (ix86_trampoline_init): Make call to
              emit_library_call conditional, if CHECK_EXECUTE_STACK_ENABLED is
              defined and its value is not zero.
              * doc/invoke.texi
      
      From-SVN: r153606
      Kai Tietz committed
    • ChangeLog: Fix formatting. · 2c9062e2
      	* ChangeLog: Fix formatting.
      	* testsuite/ChangeLog: Ditto.
      
      From-SVN: r153604
      Uros Bizjak committed
    • tree-ssa-structalias.c (find_func_aliases): In IPA mode handle calls to… · 5c245b95
      tree-ssa-structalias.c (find_func_aliases): In IPA mode handle calls to externally visible functions like in regular mode.
      
      2009-10-27  Richard Guenther  <rguenther@suse.de>
      
      	* tree-ssa-structalias.c (find_func_aliases): In IPA mode
      	handle calls to externally visible functions like in regular mode.
      	(create_variable_info_for): Do not create function infos here.
      	(have_alias_info): Remove write-only variable.
      	(solve_constraints): New function split out from common code
      	in compute_points_to_sets and ipa_pta_execute.
      	(compute_points_to_sets): Adjust.
      	(ipa_pta_execute): Likewise.  Handle clones and externally visible
      	functions like in non-IPA mode.
      
      	* gcc.dg/torture/ipa-pta-1.c: Adjust testcase.
      
      From-SVN: r153600
      Richard Guenther committed
    • re PR c/41842 (ICE on invalid variable length array declaration) · 06302a02
      	PR c/41842
      	* c-typeck.c (convert_arguments): Return -1 if any of the arguments is
      	error_mark_node.
      
      	* gcc.dg/pr41842.c: New test.
      
      From-SVN: r153599
      Jakub Jelinek committed
    • tree-complex.c (expand_complex_div_wide): Check for INTEGER_CST, not… · b57d8e6f
      tree-complex.c (expand_complex_div_wide): Check for INTEGER_CST, not TREE_CONSTANT on comparison folding result.
      
      2009-10-27  Richard Guenther  <rguenther@suse.de>
      
      	* tree-complex.c (expand_complex_div_wide): Check for
      	INTEGER_CST, not TREE_CONSTANT on comparison folding result.
      
      From-SVN: r153598
      Richard Guenther committed
    • s-fileio.adb, [...]: Minor reformatting · 65a07a30
      2009-10-27  Robert Dewar  <dewar@adacore.com>
      
      	* s-fileio.adb, s-fileio.ads, sem_util.adb, sem_warn.adb,
      	sem_warn.ads: Minor reformatting
      
      From-SVN: r153597
      Robert Dewar committed
    • Minor doc updates. · 3d9d6c8e
      From-SVN: r153596
      Arnaud Charlet committed
    • sem_warn.adb, [...]: Minor reformatting. · 27cdc66a
      2009-10-27  Robert Dewar  <dewar@adacore.com>
      
      	* sem_warn.adb, sem_util.adb, sem_util.ads: Minor reformatting. Add
      	comments.
      
      From-SVN: r153595
      Robert Dewar committed
    • [multiple changes] · 76b84bf0
      2009-10-27  Robert Dewar  <dewar@adacore.com>
      
      	* s-os_lib.ads, s-os_lib.adb, prj-err.adb, makeutl.adb: Minor
      	reformatting.
      
      2009-10-27  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem.util.ads, sem_util.adb (Denotes_Same_Object,
      	Denotes_Same_Prefix): New functions to detect overlap between actuals
      	that are not by-copy in a call, when one of them is in-out.
      	* sem_warn.ads, sem_warn.adb (Warn_On_Overlapping_Actuals): New
      	procedure,  called on a subprogram call to warn when an in-out actual
      	that is not by-copy overlaps with another actual, thus leadind to
      	potentially dangerous aliasing in the body of the called subprogram.
      	Currently the warning is under control of the -gnatX switch.
      	* sem_res.adb (resolve_call): call Warn_On_Overlapping_Actuals.
      
      From-SVN: r153594
      Arnaud Charlet committed
    • [multiple changes] · 0c0c6f49
      2009-10-27  Thomas Quinot  <quinot@adacore.com>
      
      	* sem_ch12.adb (Install_Formal_Packages): Do not omit installation of
      	visible entities when the formal package doesn't have a box.
      
      	* checks.adb: Minor reformatting.
      
      2009-10-27  Vincent Celier  <celier@adacore.com>
      
      	* prj-part.adb (Parse): Catch exception Types.Unrecoverable_Error and
      	set Project to Empty_Node.
      
      2009-10-27  Robert Dewar  <dewar@adacore.com>
      
      	* gnatbind.adb: Minor reformatting
      
      From-SVN: r153593
      Arnaud Charlet committed
    • [multiple changes] · fdfcc663
      2009-10-27  Vincent Celier  <celier@adacore.com>
      
      	* makeutl.adb (Check_Source_Info_In_ALI): Do not recompile if a subunit
      	from the runtime is found, except if gnatmake switch -a is used and this
      	subunit cannot be found.
      
      2009-10-27  Ed Schonberg  <schonberg@adacore.com>
      
      	* gnatbind.adb (gnatbind): When the -R option is selected, list subunits
      	as well, for tools that need the complete closure of the main program.
      
      2009-10-27  Sergey Rybin  <rybin@adacore.com>
      
      	* gnat_ugn.texi: Minor updates.
      
      2009-10-27  Emmanuel Briot  <briot@adacore.com>
      
      	* prj-tree.adb (Free): Fix memory leak.
      
      2009-10-27  Vasiliy Fofanov  <fofanov@adacore.com>
      
      	* adaint.c, s-os_lib.adb (__gnat_create_output_file_new): New function
      	that ensures the file that is created is new. Use this function to make
      	sure there is no race condition if several processes are creating temp
      	files concurrently.
      
      	* s-os_lib.ads: Update comment.
      
      2009-10-27  Thomas Quinot  <quinot@adacore.com>
      
      	* sem_ch12.adb: Minor reformatting
      
      2009-10-27  Javier Miranda  <miranda@adacore.com>
      
      	* exp_ch4.ads (Integer_Promotion_Possible): New subprogram.
      	* exp_ch4.adb (Integer_Promotion_Possible): New subprogram.
      	(Expand_N_Type_Conversion): Replace code that checks if the integer
      	promotion of the operands is possible by a call to the new function
      	Integer_Promotion_Possible. Minor reformating because an enclosing
      	block is now not needed.
      	* checks.adb (Apply_Arithmetic_Overflow_Check): Add missing check to
      	see if the integer promotion is possible; in such case the runtime
      	checks are not generated.
      
      From-SVN: r153592
      Arnaud Charlet committed
    • [multiple changes] · 477b99b6
      2009-10-27  Arnaud Charlet  <charlet@adacore.com>
      
      	* exp_aggr.adb: Fix comment.
      
      2009-10-27  Emmanuel Briot  <briot@adacore.com>
      
      	* prj-err.adb (Error_Msg): take into account continuation lines when
      	computing whether we have a warning.
      
      2009-10-27  Vasiliy Fofanov  <fofanov@adacore.com>
      
      	* make.adb, s-os_lib.adb, s-os_lib.ads (Create_Temp_Output_File): New
      	routine that is designed to create temp file descriptor specifically
      	for redirecting an output stream.
      
      From-SVN: r153591
      Arnaud Charlet committed
    • Fix PR40648 -- Fix misaligned store vectorizer patch · 673beced
      From-SVN: r153590
      Revital Eres committed
    • re PR lto/41821 (ICE in LTO when linking) · b23dc2c0
      2009-10-27  Richard Guenther  <rguenther@suse.de>
      
      	PR lto/41821
      	* gimple.c (gimple_types_compatible_p): Handle OFFSET_TYPE.
      
      From-SVN: r153589
      Richard Guenther committed
    • re PR bootstrap/41451 (Bootstrap failure with fold checking) · b8b39401
      	PR bootstrap/41451
      	* fold-const.c (fold_binary_loc): Do not call
      	protected_set_expr_location.
      
      From-SVN: r153588
      Aldy Hernandez committed
    • re PR c++/41020 (Can't declare an extern "C" friend of a builtin function) · 583d1147
      	PR c++/41020
      	* g++.dg/lookup/extern-c-redecl5.C: Fix up regexp.
      
      From-SVN: r153587
      Jakub Jelinek committed
    • Fix nits · 7e06c3d6
      From-SVN: r153586
      Eric Botcazou committed
    • target.h (have_conditional_execution): Add a new target hook function. · 2929029c
      	* target.h (have_conditional_execution): Add a new target hook function.
      	* target-def.h (TARGET_HAVE_CONDITIONAL_EXECUTION): Likewise.
      	* targhooks.h (default_have_conditional_execution): Likewise.
      	* targhooks.c (default_have_conditional_execution): Likewise.
      	* doc/tm.texi (TARGET_HAVE_CONDITIONAL_EXECUTION): Document it.
      	* config/arm/arm.c (TARGET_HAVE_CONDITIONAL_EXECUTION): Define it.
      	(arm_have_conditional_execution): New function.
      	* ifcvt.c (noce_process_if_block, find_if_header,
      	cond_exec_find_if_block, dead_or_predicable): Change the usage of macro
      	HAVE_conditional_execution to a target hook call.
      	* recog.c (peephole2_optimize): Likewise.
      	* sched-rgn.c (add_branch_dependences): Likewise.
      	* final.c (asm_insn_count, final_scan_insn): Likewise.
      	* bb-reorder.c (HAVE_conditional_execution): Remove it.
      
      From-SVN: r153584
      Wei Guozhi committed
    • chrono (duration<>::duration(const duration<>&)): Fix per the straightforward resolution of DR 974. · 9c67ec22
      2009-10-26  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* include/std/chrono (duration<>::duration(const duration<>&)): Fix
      	per the straightforward resolution of DR 974.
      	* testsuite/20_util/duration/cons/dr974.cc: Add.
      
      From-SVN: r153581
      Paolo Carlini committed
    • Daily bump. · 42302b85
      From-SVN: r153580
      GCC Administrator committed
  3. 26 Oct, 2009 4 commits
    • ea.exp: New file. · 2b8b9f74
      2009-10-26  Ben Elliston  <bje@au.ibm.com>
      	    Michael Meissner  <meissner@linux.vnet.ibm.com>
      	    Ulrich Weigand  <uweigand@de.ibm.com>
      
      	* gcc.target/spu/ea/ea.exp: New file.
      	* gcc.target/spu/ea/cache1.c: Likewise.
      	* gcc.target/spu/ea/cast1.c: Likewise.
      	* gcc.target/spu/ea/cast2.c: Likewise.
      	* gcc.target/spu/ea/compile1.c: Likewise.
      	* gcc.target/spu/ea/compile2.c: Likewise.
      	* gcc.target/spu/ea/cppdefine.c: Likewise.
      	* gcc.target/spu/ea/errors1.c: Likewise.
      	* gcc.target/spu/ea/errors2.c: Likewise.
      	* gcc.target/spu/ea/execute1.c: Likewise.
      	* gcc.target/spu/ea/execute2.c: Likewise.
      	* gcc.target/spu/ea/execute3.c: Likewise.
      	* gcc.target/spu/ea/ops1.c: Likewise.
      	* gcc.target/spu/ea/ops2.c: Likewise.
      	* gcc.target/spu/ea/options1.c: Likewise.
      	* gcc.target/spu/ea/test-sizes.c: Likewise.
      
      Co-Authored-By: Michael Meissner <meissner@linux.vnet.ibm.com>
      Co-Authored-By: Ulrich Weigand <uweigand@de.ibm.com>
      
      From-SVN: r153576
      Ben Elliston committed
    • config.gcc (spu-*-elf*): Add spu_cache.h to extra_headers. · 299456f3
      2009-10-26  Ben Elliston  <bje@au.ibm.com>
      	    Michael Meissner  <meissner@linux.vnet.ibm.com>
      	    Ulrich Weigand  <uweigand@de.ibm.com>
      
      	* config.gcc (spu-*-elf*): Add spu_cache.h to extra_headers.
      	* config/spu/spu_cache.h: New file.
      
      	* config/spu/cachemgr.c: New file.
      	* config/spu/cache.S: New file.
      
      	* config/spu/spu.h (ASM_OUTPUT_SYMBOL_REF): Define.
      	(ADDR_SPACE_EA): Define.
      	(TARGET_ADDR_SPACE_KEYWORDS): Define.
      	* config/spu/spu.c (EAmode): New macro.
      	(TARGET_ADDR_SPACE_POINTER_MODE): Define.
      	(TARGET_ADDR_SPACE_ADDRESS_MODE): Likewise.
      	(TARGET_ADDR_SPACE_LEGITIMATE_ADDRESS_P): Likewise.
      	(TARGET_ADDR_SPACE_LEGITIMIZE_ADDRESS): Likewise.
      	(TARGET_ADDR_SPACE_SUBSET_P): Likewise.
      	(TARGET_ADDR_SPACE_CONVERT): Likewise.
      	(TARGET_ASM_SELECT_SECTION): Likewise.
      	(TARGET_ASM_UNIQUE_SECTION): Likewise.
      	(TARGET_ASM_UNALIGNED_SI_OP): Likewise.
      	(TARGET_ASM_ALIGNED_DI_OP): Likewise.
      	(ea_symbol_ref): New function.
      	(spu_legitimate_constant_p): Handle __ea qualified addresses.
      	(spu_addr_space_legitimate_address_p): New function.
      	(spu_addr_space_legitimize_address): Likewise.
      	(cache_fetch): New global.
      	(cache_fetch_dirty): Likewise.
      	(ea_alias_set): Likewise.
      	(ea_load_store): New function.
      	(ea_load_store_inline): Likewise.
      	(expand_ea_mem): Likewise.
      	(spu_expand_mov): Handle __ea qualified memory references.
      	(spu_addr_space_pointer_mode): New function.
      	(spu_addr_space_address_mode): Likewise.
      	(spu_addr_space_subset_p): Likewise.
      	(spu_addr_space_convert): Likewise.
      	(spu_section_type_flags): Handle "._ea" section.
      	(spu_select_section): New function.
      	(spu_unique_section): Likewise.
      	* config/spu/spu-c.c (spu_cpu_cpp_builtins): Support __EA32__
      	and __EA64__ predefined macros.
      	* config/spu/spu-elf.h (LIB_SPEC): Handle -mcache-size= and
      	-matomic-updates switches.
      
      	* config/spu/t-spu-elf (MULTILIB_OPTIONS): Define.
      	(EXTRA_MULTILIB_PARTS): Add libgcc_cachemgr.a,
      	libgcc_cachemgr_nonatomic.a, libgcc_cache8k.a, libgcc_cache16k.a,
      	libgcc_cache32k.a, libgcc_cache64k.a, libgcc_cache128k.a.
      	($(T)cachemgr.o, $(T)cachemgr_nonatomic.o): New target.
      	($(T)cache8k.o, $(T)cache16k.o, $(T)cache32k.o, $(T)cache64k.o,
      	$(T)cache128k.o): Likewise.
      	($(T)libgcc_%.a): Likewise.
      
      	* config/spu/spu.h (TARGET_DEFAULT): Add MASK_ADDRESS_SPACE_CONVERSION.
      	* config/spu/spu.opt (-mea32/-mea64): Add switches.
      	(-maddress-space-conversion): Likewise.
      	(-mcache-size=): Likewise.
      	(-matomic-updates): Likewise.
      	* doc/invoke.texi (-mea32/-mea64): Document.
      	(-maddress-space-conversion): Likewise.
      	(-mcache-size=): Likewise.
      	(-matomic-updates): Likewise.
      
      Co-Authored-By: Michael Meissner <meissner@linux.vnet.ibm.com>
      Co-Authored-By: Ulrich Weigand <uweigand@de.ibm.com>
      
      From-SVN: r153575
      Ben Elliston committed
    • tm.texi (TARGET_ADDR_SPACE_KEYWORDS): Document. · 36c5e70a
      2009-10-26  Ben Elliston  <bje@au.ibm.com>
      	    Michael Meissner  <meissner@linux.vnet.ibm.com>
      	    Ulrich Weigand  <uweigand@de.ibm.com>
      
      	* doc/tm.texi (TARGET_ADDR_SPACE_KEYWORDS): Document.
      
      	* c-common.c (c_common_reswords): If TARGET_ADDR_SPACE_KEYWORDS is
      	defined, add the named address space keywords.
      	(c_addr_space_name): New function.
      	(complete_array_type): Preserve named address space.
      	(handle_mode_attribute): Use targetm.addr_space.valid_pointer_mode
      	instead of targetm.valid_pointer_mode.
      
      	* c-common.h (enum rid): Add RID_ADDR_SPACE_0 .. RID_ADDR_SPACE_15,
      	RID_FIRST_ADDR_SPACE and RID_LAST_ADDR_SPACE.
      	(ADDR_SPACE_KEYWORD): New macro.
      	(c_addr_space_name): Add prototype.
      
      	* c-tree.h (struct c_declspecs): Add address_space member.
      	(declspecs_add_addrspace): Add prototype.
      
      	* c-pretty-print.c (pp_c_type_qualifier_list): Handle address spaces.
      
      	* c-parser.c (c_parse_init): Add assertion.
      	(typedef enum c_id_kind): Add C_ID_ADDRSPACE.
      	(c_lex_one_token): Handle address space keywords.
      	(c_token_starts_typename): Likewise.
      	(c_token_starts_declspecs): Likewise.
      	(c_parser_declspecs): Likewise.
      	(c_parser_postfix_expression_after_paren_type): Diagnose compound
      	literal within function qualified with named address space.
      
      	* c-decl.c (diagnose_mismatched_decls): Diagnose conflicting named
      	address space qualifiers.
      	(shadow_tag_warned): Warn about useless address space qualifiers.
      	(quals_from_declspecs): Handle address space qualifiers.
      	(grokdeclarator): Likewise.
      	(build_null_declspecs): Likewise.
      	(declspecs_add_addrspace): New function.
      
      	* c-typeck.c (addr_space_superset): New function.
      	(qualify_type): Handle named address spaces.
      	(composite_type): Likewise.
      	(common_pointer_type): Likewise.
      	(comp_target_types): Likewise.
      	(build_conditional_expr): Likewise.
      	(handle_warn_cast_qual): Likewise.
      	(build_c_cast): Likewise.
      	(convert_for_assignment): Likewise.
      	(build_binary_op): Likewise.
      	(pointer_diff): Handle named address spaces.  Use intermediate
      	integer type of sufficient size if required.
      
      Co-Authored-By: Michael Meissner <meissner@linux.vnet.ibm.com>
      Co-Authored-By: Ulrich Weigand <uweigand@de.ibm.com>
      
      From-SVN: r153574
      Ben Elliston committed
    • tm.texi (TARGET_ADDR_SPACE_POINTER_MODE): Document. · d4ebfa65
      2009-10-26  Ben Elliston  <bje@au.ibm.com>
      	    Michael Meissner  <meissner@linux.vnet.ibm.com>
      	    Ulrich Weigand  <uweigand@de.ibm.com>
      
      	* doc/tm.texi (TARGET_ADDR_SPACE_POINTER_MODE): Document.
      	(TARGET_ADDR_SPACE_ADDRESS_MODE): Likewise.
      	(TARGET_ADDR_SPACE_VALID_POINTER_MODE): Likewise.
      
      	* target.h (struct target_def): Add pointer_mode, address_mode,
      	and valid_pointer_mode to addr_space substructure.
      	* target-def.h (TARGET_ADDR_SPACE_POINTER_MODE): Define.
      	(TARGET_ADDR_SPACE_ADDRESS_MODE): Likewise.
      	(TARGET_ADDR_SPACE_VALID_POINTER_MODE): Likewise.
      	(TARGET_ADDR_SPACE_HOOKS): Add them.
      	* targhooks.c (target_default_pointer_address_modes_p): New function.
      	* target.h (target_default_pointer_address_modes_p): Add prototype.
      	* targhooks.c (default_addr_space_pointer_mode): New function.
      	(default_addr_space_address_mode): Likewise.
      	(default_addr_space_valid_pointer_mode): Likewise.
      	* targhooks.h (default_addr_space_pointer_mode): Add prototype.
      	(default_addr_space_address_mode): Likewise.
      	(default_addr_space_valid_pointer_mode): Likewise.
      	* output.h (default_valid_pointer_mode): Move to ...
      	* targhooks.h (default_valid_pointer_mode): ... here.
      	* varasm.c (default_valid_pointer_mode): Move to ...
      	* targhooks.c (default_valid_pointer_mode): ... here.
      
      	* varasm.c (output_constant): Use targetm.addr_space.valid_pointer_mode
      	instead of targetm.valid_pointer_mode.
      
      	* fold-const.c (fit_double_type): Use int_or_pointer_precision.
      	* tree.c (integer_pow2p): Likewise.
      	(tree_log2): Likewise.
      	(tree_floor_log2): Likewise.
      	(signed_or_unsigned_type_for): Support pointer type of different size.
      	(int_or_pointer_precision): New function.
      	* tree.h (int_or_pointer_precision): Add prototype.
      	* stor-layout.c (layout_type): Set TYPE_PRECISION for offset types.
      	* varasm.c (initializer_constant_valid_p): Use TYPE_PRECISION of
      	incoming pointer type instead of POINTER_SIZE.
      
      	* tree.c (build_pointer_type): Use appropriate pointer mode
      	instead of ptr_mode.
      	(build_reference_type): Likewise.
      	* expr.c (store_expr): Likewise.
      	(expand_expr_addr_expr): Likewise.
      	* tree-vect-data-refs.c (vect_create_data_ref_ptr): Likewise.
      	* cfgexpand.c (expand_debug_expr): Likewise.
      	
      	* auto-inc-dec.c: Include "target.h".
      	(try_merge): Use appropriate address mode instead of Pmode.
      	(find_inc): Likewise.
      	* combine.c (find_split_point): Likewise.
      	* cselib.c (cselib_record_sets): Likewise.
      	* dse.c (replace_inc_dec): Likewise.
      	(canon_address): Likewise.
      	* var-tracking.c (replace_expr_with_values): Likewise.
      	(count_uses): Likewise.
      	(add_uses): Likewise.
      	(add_stores): Likewise.
      	* emit-rtl.c: Include "target.h".
      	(adjust_address_1): Use appropriate address mode instead of Pmode.
      	(offset_address): Likewise.
      	* explow.c (break_out_memory_refs): Likewise.
      	(memory_address_addr_space): Likewise.
      	(promote_mode): Likewise.
      	* expr.c (move_by_pieces): Likewise.
      	(emit_block_move_via_loop): Likewise.
      	(store_by_pieces): Likewise.
      	(store_by_pieces_1): Likewise.
      	(expand_assignment): Likewise.
      	(store_constructor): Likewise.
      	(expand_expr_addr_expr): Likewise.
      	(expand_expr_real_1): Likewise.
      	* cfgexpand.c (expand_debug_expr): Likewise.
      	* ifcvt.c (noce_try_cmove_arith): Likewise.
      	* regcprop.c (kill_autoinc_value): Likewise.
      	* regmove.c (try_auto_increment): Likewise.
      	* reload.c (find_reloads): Likewise.
      	(find_reloads_address): Likewise.
      	(find_reloads_address_1): Likewise.
      	* sched-deps.c: Include "target.h".
      	(sched_analyze_1): Use appropriate address mode instead of Pmode.
      	(sched_analyze_2): Likewise.
      	* sel-sched-dump.c: Include "target.h".
      	(debug_mem_addr_value): Use appropriate address mode instead of Pmode.
      	* stor-layout.c (layout_type): Likewise.
      	* tree-ssa-loop-ivopts.c (produce_memory_decl_rtl): Likewise.
      	(multiplier_allowed_in_address_p): Likewise.
      	(get_address_cost): Likewise.
      	* varasm.c (make_decl_rtl): Likewise.
      	
      	* expr.c (expand_assignment): Always convert offsets to appropriate
      	address mode.
      	(store_expr): Likewise.
      	(store_constructor): Likewise.
      	(expand_expr_real_1): Likewise.
      
      	* reload.h (form_sum): Add MODE argument.
      	* reload.c (form_sum): Add MODE argument, use it instead of Pmode.
      	Update recursive calls.
      	(subst_indexed_address): Update calls to form_sum.
      	
      	* tree-flow.h (addr_for_mem_ref): Add ADDRSPACE argument.
      	* tree-ssa-address.c: Include "target.h".
      	(templates): Replace by ...
      	(mem_addr_template_list): ... this new vector.
      	(TEMPL_IDX): Handle address space numbers.
      	(gen_addr_rtx): Add address mode argument, use it instead of Pmode.
      	(addr_for_mem_ref): Add ADDRSPACE argument.  Use per-address-space
      	instead of global cache.  Update call to gen_addr_rtx.
      	(valid_mem_ref_p): Update call to addr_for_mem_ref.
      	* expr.c (expand_expr_real_1): Update call to addr_for_mem_ref.
      	
      	* rtl.h (convert_memory_address_addr_space): Add prototype.
      	(convert_memory_address): Define as macro.
      	* explow.c (convert_memory_address): Rename to ...
      	(convert_memory_address_addr_space): ... this.  Add ADDRSPACE argument.
      	Use appropriate pointer and address modes instead of ptr_mode / Pmode.
      	Update recursive calls.
      	(memory_address_addr_space): Call convert_memory_address_addr_space.
      	* expmed.c (make_tree): Likewise.
      	* expr.c (expand_assignment): Likewise.
      	(expand_expr_addr_expr_1): Likewise.  Also, add ADDRSPACE argument.
      	(expand_expr_addr_expr): Likewise.  Also, update call.
      
      	* alias.c (find_base_value): Guard pointer size optimizations.
      	(find_base_term): Likewise.
      	* rtlanal.c (nonzero_bits1): Likewise.
      	(num_sign_bit_copies1): Likewise.
      	* simplify-rtx.c (simplify_unary_operation_1): Likewise.
      
      	* Makefile.in (tree-ssa-address.o): Add $(TARGET_H) dependency.
      	(emit-rtl.o): Likewise.
      	(auto-inc-dec.o): Likewise.
      	(sched-deps.o): Likewise.
      
      Co-Authored-By: Michael Meissner <meissner@linux.vnet.ibm.com>
      Co-Authored-By: Ulrich Weigand <uweigand@de.ibm.com>
      
      From-SVN: r153573
      Ben Elliston committed