1. 26 Oct, 2009 16 commits
    • extend.texi (Named Address Spaces): New section. · 09e881c9
      2009-10-26  Ben Elliston  <bje@au.ibm.com>
      	    Michael Meissner  <meissner@linux.vnet.ibm.com>
      	    Ulrich Weigand  <uweigand@de.ibm.com>
      
      	* doc/extend.texi (Named Address Spaces): New section.
      	* coretypes.h (addr_space_t): New type.
      	(ADDR_SPACE_GENERIC): New define.
      	(ADDR_SPACE_GENERIC_P): New macro.
      
      	* doc/tm.texi (Named Address Spaces): New section.
      	(TARGET_ADDR_SPACE_LEGITIMATE_ADDRESS_P): Document.
      	(TARGET_ADDR_SPACE_LEGITIMIZE_ADDRESS): Document.
      	(TARGET_ADDR_SPACE_SUBSET_P): Document.
      	(TARGET_ADDR_SPACE_CONVERT): Document.
      	* target.h (struct gcc_target): Add addr_space substructure.
      	* target-def.h (TARGET_ADDR_SPACE_LEGITIMATE_ADDRESS_P): Define.
      	(TARGET_ADDR_SPACE_LEGITIMIZE_ADDRESS): Likewise.
      	(TARGET_ADDR_SPACE_SUBSET_P): Likewise.
      	(TARGET_ADDR_SPACE_CONVERT): Likewise.
      	(TARGET_ADDR_SPACE_HOOKS): Likewise.
      	(TARGET_INITIALIZER): Initialize addr_space hooks.
      	* targhooks.c (default_addr_space_legitimate_address_p): New function.
      	(default_addr_space_legitimize_address): Likewise.
      	(default_addr_space_subset_p): Likewise.
      	(default_addr_space_convert): Likewise.
      	* targhooks.h (default_addr_space_legitimate_address_p): Add prototype.
      	(default_addr_space_legitimize_address): Likewise.
      	(default_addr_space_subset_p): Likewise.
      	(default_addr_space_convert): Likewise.
      
      	* doc/rtl.texi (MEM_ADDR_SPACE): Document.
      	* rtl.h (mem_attrs): Add ADDRSPACE memory attribute.
      	(MEM_ADDR_SPACE): New macro.
      	* emit-rtl.c (get_mem_attrs): Add ADDRSPACE argument and set
      	address space memory attribute.
      	(mem_attrs_htab_hash): Handle address space memory attribute.
      	(mem_attrs_htab_eq): Likewise.
      	(set_mem_attributes_minus_bitpos): Likewise.
      	(set_mem_alias_set): Likewise.
      	(set_mem_align): Likewise.
      	(set_mem_expr): Likewise.
      	(set_mem_offset): Likewise.
      	(set_mem_size): Likewise.
      	(adjust_address_1): Likewise.
      	(offset_address): Likewise.
      	(widen_memoy_address): Likewise.
      	(get_spill_slot_decl): Likewise.
      	(set_mem_attrs_for_spill): Likewise.
      	(set_mem_addr_space): New function.
      	* emit-rtl.h (set_mem_addr_space): Add prototype.
      	* print-rtl.c (print_rtx): Print address space memory attribute.
      	* expr.c (expand_assignment): Set address space memory attribute
      	of generated MEM RTXes as appropriate.
      	(expand_expr_real_1): Likewise.
      	* cfgexpand.c (expand_debug_expr): Likewise.
      	* tree-ssa-loop-ivopts.c (produce_memory_decl_rtl): Likewise.
      
      	* tree.h (struct tree_base): Add address_space bitfield.  Reduce
      	size of "spare" bitfield.
      	(TYPE_ADDR_SPACE): New macro.
      	(ENCODE_QUAL_ADDR_SPACE): Likewise.
      	(DECODE_QUAL_ADDR_SPACE): Likewise.
      	(CLEAR_QUAL_ADDR_SPACE): Likewise.
      	(KEEP_QUAL_ADDR_SPACE): Likewise.
      	(TYPE_QUALS): Encode type address space.
      	(TYPE_QUALS_NO_ADDR_SPACE): New macro.
      	* tree.c (set_type_quals): Set type address space.
      	(build_array_type): Inherit array address space from element type.
      	* print-tree.c (print_node_brief): Print type address space.
      	(print_node): Likewise.
      	* tree-pretty-print.c (dump_generic_node): Likewise.
      
      	* explow.c (memory_address): Rename to ...
      	(memory_address_addr_space): ... this.  Add ADDRSPACE argument.
      	Use address-space aware variants of memory address routines.
      	* recog.c (memory_address_p): Rename to ...
      	(memory_address_addr_space_p): ... this.  Add ADDSPACE argument.
      	Use address-space aware variants of memory address routines.
      	(offsettable_address_p): Rename to ...
      	(offsettable_address_addr_space_p): ... this.  Add ADDRSPACE argument.
      	Use address-space aware variants of memory address routines.
      	* reload.c (strict_memory_address_p): Rename to ...
      	(strict_memory_address_addr_space_p): ... this.  Add ADDSPACE argument.
      	Use address-space aware variants of memory address routines.
      	(maybe_memory_address_p): Rename to ...
      	(maybe_memory_address_addr_space_p): ... this.  Add ADDSPACE argument.
      	Use address-space aware variants of memory address routines.
      	* expr.h (memory_address_addr_space): Add prototype.
      	(memory_address): Define as macro.
      	* recog.h (memory_address_addr_space_p): Add prototype.
      	(memory_address_p): Define as macro.
      	(offsettable_address_addr_space_p): Add prototype.
      	(offsettable_address_p): Define as macro.
      	(strict_memory_address_addr_space_p): Add prototype.
      	(strict_memory_address_p): Define as macro.
      
      	* combine.c (find_split_point): Use address-space aware variants
      	of memory address routines.
      	* emit-rtl.c (operand_subword): Likewise.
      	(change_address_1): Likewise.
      	(adjust_address_1): Likewise.
      	(offset_address): Likewise.
      	* expr.c (emit_move_insn): Likewise.
      	(expand_assignment): Likewise.
      	(expand_expr_real_1): Likewise.
      	* recog.c (verify_changes): Likewise.
      	(general_operand): Likewise.
      	(offsettable_memref_p): Likewise.
      	(offsettable_nonstrict_memref_p): Likewise.
      	(constrain_operands): Likewise.
      	* reload.c (get_secondary_mem): Likewise.
      	(find_reloads_toplev): Likewise.
      	(find_reloads_address): Likewise.
      	(find_reloads_subreg_address): Likewise.
      	* reload1.c (reload): Likewise.
      	* rtlhooks.c (gen_lowpart_if_possible): Likewise.
      	* rtl.h (address_cost): Add ADDRSPACE argument.
      	* rtlanal.c (address_cost): Add ADDRSPACE argument.  Use address-space
      	aware variant of memory address routines.
      	* loop-invariant.c (create_new_invariant): Update address_cost call.
      	* tree-ssa-loop-ivopts.c (computation_cost): Likewise.
      	* fwprop.c (should_replace_address): Add ADDRSPACE argument.
      	Use address-space aware variant of memory address routines.
      	(propagate_rtx_1): Update call to should_replace_address.
      	* tree-flow.h (multiplier_allowed_in_address_p): Add ADDRSPACE
      	argument.
      	* tree-ssa-loop-ivopts.c (multiplier_allowed_in_address_p): Add
      	ADDRSPACE argument.  Use per-address-space instead of global cache.
      	Use address-space aware variant of memory address routines.
      	(get_address_cost): Likewise.
      	(get_computation_cost_at): Update calls.
      	* tree-ssa-address.c (valid_mem_ref_p): Add ADDRSPACE argument.
      	Use address-space aware variant of memory address routines.
      	(create_mem_ref_raw): Update call to valid_mem_ref_p.
      	(most_expensive_mult_to_index): Update call to
      	multiplier_allowed_in_address_p.
      
      	* dwarf2out.c (modified_type_die): Output DW_AT_address_class
      	attribute to indicate named address spaces.
      
      	* varasm.c (get_variable_section): DECLs in named address spaces
      	cannot be "common".
      
      	* reload.c (find_reloads_address): Do not use LEGITIMIZE_RELOAD_ADDRESS
      	for addresses in a non-generic address space.
      
      	* expr.c (emit_block_move_hints): Do not use libcalls for
      	memory in non-generic address spaces.
      	(clear_storage_hints): Likewise.
      	(expand_assignment): Likewise.
      
      	* fold-const.c (operand_equal_p): Expressions refering to different
      	address spaces are not equivalent.
      
      	* rtl.c (rtx_equal_p_cb): MEMs refering to different address
      	spaces are not equivalent.
      	(rtx_equal_p): Likewise.
      	* cse.c (exp_equiv_p): Likewise.
      	* jump.c (rtx_renumbered_equal_p): Likewise.
      	* reload.c (operands_match_p): Likewise.
      
      	* alias.c (nonoverlapping_memrefs_p): MEMs refering to different
      	address spaces may alias.
      	(true_dependence): Likewise.
      	(canon_true_dependence): Likewise.
      	(write_dependence_p): Likewise.
      
      	* dse.c (canon_address): Handle named address spaces.
      	* ifcvt.c (noce_try_cmove_arith): Likewise.
      
      	* tree.def (ADDR_SPACE_CONVERT_EXPR): New tree code.
      	* expr.c (expand_expr_real_2): Expand ADDR_SPACE_CONVERT_EXPR.
      	* convert.c (convert_to_pointer): Generate ADDR_SPACE_CONVERT_EXPR
      	to handle conversions between different address spaces.
      	* fold-const.c (fold_convert_loc): Likewise.
      	(fold_unary_loc): Handle ADDR_SPACE_CONVERT_EXPR.
      	* tree-pretty-print.c (dump_generic_node): Likewise.
      	* gimple-pretty-print.c (dump_unary_rhs): Likewise.
      	* tree-cfg.c (verify_gimple_assign_unary): Likewise.
      	* tree-inline.c (estimate_operator_cost): Likewise.
      	* tree-ssa.c (useless_type_conversion_p): Conversions between pointers
      	to different address spaces are not useless.
      
      Co-Authored-By: Michael Meissner <meissner@linux.vnet.ibm.com>
      Co-Authored-By: Ulrich Weigand <uweigand@de.ibm.com>
      
      From-SVN: r153572
      Ben Elliston committed
    • re PR libstdc++/38923 (symbol versioning disabled due to non-portable sed script) · 89c74f4a
      	PR libstdc++/38923
      	* acinclude.m4 (GLIBCXX_CHECK_LINKER_FEATURES): Avoid using too many
      	*s.  Accept ld version without text in ()s.
      	* configure: Regenerated.
      
      	* acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid using too many
      	*s.  Accept ld version without text in ()s.
      	* configure: Regenerated.
      
      From-SVN: r153570
      Jakub Jelinek committed
    • re PR bootstrap/41345 (bootstrap comparison failure with --disable-checking) · 7752e522
      	PR bootstrap/41345
      	* cfgcleanup.c (trivially_empty_bb_p): New function.
      	(try_optimize_bb): Use it instead of checking BB_HEAD == BB_END.
      
      	* gcc.dg/pr41345.c: New test.
      
      From-SVN: r153569
      Jakub Jelinek committed
    • re PR debug/41828 (DW_AT_name should not be present for anonymous aggregates) · bde2d108
      	PR debug/41828
      	* cp-lang.c (cxx_dwarf_name): Return NULL instead of
      	<anonymous ...> for anonymous aggregate names.
      
      	* dwarf2out.c (add_pubname, add_pubtype, generic_parameter_die,
      	add_name_and_src_coords_attributes, gen_namespace_die,
      	dwarf2out_set_name): Handle dwarf2_name returning NULL.
      
      	* g++.dg/debug/dwarf2/anonname1.C: New test.
      
      From-SVN: r153568
      Jakub Jelinek committed
    • PR c++/38796, Core issue 906 · 20f2653e
      	PR c++/38796, Core issue 906
      gcc/cp
      	* cp-tree.h (DECL_DEFAULTED_OUTSIDE_CLASS_P): New.
      	(DECL_DEFAULTED_IN_CLASS_P): New.
      	* class.c (user_provided_p): Non-static.
      	(check_methods): Use it.
      	(check_bases_and_members): Check defaulted fns.
      	(defaultable_fn_p): Move and rename to...
      	* method.c (defaultable_fn_check): ...this.
      	(defaulted_late_check): New.
      	* pt.c (tsubst_decl): Call it.
      	* decl2.c (grokfield): Adjust.
      	* decl.c (cp_finish_decl): Adjust.
      	(grok_special_member_properties): Use user_provided_p.
      libstdc++-v3
      	* include/std/future (~Future_result_base): Default outside class
      	body.
      	* include/std/system_error (error_category()): Likewise.
      	* libsupc++/nested_exception.h (nested_exception): Remove
      	exception specifications from defaulted methods.
      
      From-SVN: r153565
      Jason Merrill committed
    • re PR c++/41785 ([C++0x] ICE on canonical types with variadic templates and CRTP) · f96d6fd0
      Fix PR c++/41785
      
      gcc/cp/ChangeLog:
      
      	PR c++/41785
      	* pt.c (template_args_equal): Handle comparison of
      	an ARGUMENT_PACK_SELECT node with the arguments node it selects into.
      	* cp-tree.def: Fix a typo in the description of TYPE_PACK_EXPANSION.
      
      gcc/testsuite/ChangeLog:
      	PR c++/41785
      	* gcc/testsuite/g++.dg/cpp0x/variadic96.C: New test.
      
      From-SVN: r153564
      Dodji Seketeli committed
    • MAINTAINERS: Add myself as a maintainer for the RX port. · 65a324b4
              * MAINTAINERS: Add myself as a maintainer for the RX port.
      
      gcc
              * config.gcc: Add support for RX target.
              * config/rx: New directory.
              * config/rx/constraints.md: New file.
              * config/rx/predicates.md: New file.
              * config/rx/rx.c: New file.
              * config/rx/rx.h: New file.
              * config/rx/rx.md: New file.
              * config/rx/rx.opt: New file.
              * config/rx/rx-protos.h: New file.
              * config/rx/t-rx: New file.
              * doc/extend.texi: Document RX function attributes.
              * doc/invoke.texi: Document RX specific command line options.
              * doc/contrib.texi: Document RX contribution.
              * doc/md.texi: Document RX constraints.
              * doc/install.texi: Document RX support.
      
      libgcc
              * config.host: Add support for RX target.
              * config/rx: New directory.
              * config/rx/rx-abi-functions.c: New file. Supplementary
              functions for libgcc to support the RX ABI.
              * config/rx/rx-abi.h: New file.  Supplementary header file for
              libgcc RX ABI functions.
              * config/rx/t-rx: New file: Makefile fragment for building
              libgcc for the RX.
      
      gcc/testsuite
              * lib/target-supports.exp (check_profiling_available):
              Profiling is not, currently, available for the RX port.
              (check_effective_target_hard_float): Add support for RX
              target.
              * gcc.target/rx: New directory.
              * gcc.target/rx/builtins.c: New test file.
              * gcc.target/rx/interrupts.c: New test file.
              * gcc.target/rx/rx-abi-function-tests.c: New test file.
              * gcc.target/rx/zero-width-bitfield.c: New test file.
              * gcc.target/rx/i272091.c: New test file.
              * gcc.target/rx/packed-struct.c: New test file.
              * gcc.target/rx/rx.exp: New file: Drives RX tests.
      
      From-SVN: r153557
      Nick Clifton committed
    • configure.ac: Use AM_MAINTAINER_MODE. · 03428d41
      2009-10-26  Richard Guenther  <rguenther@suse.de>
      
      	* configure.ac: Use AM_MAINTAINER_MODE.
      	* acinclude.m4: Remove.
      	* configure: Re-generate.
      	* Makefile.in: Likewise.
      	* aclocal.m4: Likewise.
      
      From-SVN: r153556
      Richard Guenther committed
    • 20091014-1_0.c: Replace -shared with -r -nostlib. · 3dd1bb6a
      2009-10-26  Andrew Pinski  <pinskia@gcc.gnu.org>
      
              * gcc.dg/lto/20091014-1_0.c: Replace -shared with -r -nostlib.
              * gcc.dg/lto/20091016-1_0.c: Likewise.
              * gcc.dg/lto/20090206-1_0.c: Likewise.
              * gcc.dg/lto/20081120-1_0.c: Likewise.
              * gcc.dg/lto/20081120-2_0.c: Likewise.
              * gcc.dg/lto/20090116_0.c: Likewise.
              * gcc.dg/lto/20081126_0.c: Likewise.
              * gcc.dg/lto/20091013-1_0.c: Likewise.
              * gcc.dg/lto/20081212-1_0.c: Likewise.
              * gcc.dg/lto/20091015-1_0.c: Likewise.
              * gcc.dg/lto/20090126-1_0.c: Likewise.
              * gcc.dg/lto/20090126-2_0.c: Likewise.
              * gcc.dg/lto/20091020-1_0.c: Likewise.
              * gcc.dg/lto/20091020-2_0.c: Likewise.
              * gcc.dg/lto/20081204-1_0.c: Likewise.
              * gcc.dg/lto/20081204-2_0.c: Likewise.
              * gcc.dg/lto/20081224_0.c: Likewise.
              * gcc.dg/lto/20090219_0.c: Likewise.
      
      From-SVN: r153555
      Andrew Pinski committed
    • re PR c++/41020 (Can't declare an extern "C" friend of a builtin function) · a0ff8620
      Fix PR c++/41020
      
      gcc/cp/ChangeLog:
      
      	PR c++/41020
      	* decl.c (decls_match): Use DECL_IS_BUILTIN instead of
      	DECL_BUILT_IN.
      
      gcc/testsuite/ChangeLog:
      	PR c++/41020
      	* g++.dg/lookup/extern-c-redecl2.C: New test.
      	* g++.dg/lookup/extern-c-redecl3.C: Likewise.
      	* g++.dg/lookup/extern-c-redecl4.C: Likewise.
      	* g++.dg/lookup/extern-c-redecl5.C: Likewise.
      
      From-SVN: r153552
      Dodji Seketeli committed
    • re PR tree-optimization/41783 (r151561 (PRE fix) regresses zeusmp) · 84280917
      	PR tree-optimization/41783
      	* tree-ssa-alias.c (get_continuation_for_phi): Export, add a special
      	case for simple diamonds
      	* tree-ssa-alias.h (get_continuation_for_phi): Declare.
      	* tree-ssa-pre.c (translate_vuse_through_block): Add same_valid
      	argument, use alias oracle to skip some vdefs.
      	(phi_translate_1): Change call to above, don't allocate new
      	value ids if they can stay the same.
      	(compute_avail): Allow vuse walking when looking up references.
      
      testsuite/
      	* gcc.dg/pr41783.c: New test.
      	* gcc.dg/tree-ssa/ssa-pre-23.c: Adjust.
      	* gcc.dg/tree-ssa/ssa-pre-24.c: Don't xfail anymore.
      	* gcc.dg/tree-ssa/ssa-pre-27.c: New test.
      
      From-SVN: r153551
      Michael Matz committed
    • re PR tree-optimization/41826 (invalid read in get_constraint_for_ptr_offset) · bd02b3a0
      2009-10-26  Richard Guenther  <rguenther@suse.de>
      
      	PR tree-optimization/41826
      	* tree-ssa-structalias.c (get_constraint_for_ptr_offset): Avoid
      	access to re-allocated vector fields.
      
      From-SVN: r153550
      Richard Guenther committed
    • graphite-sese-to-poly.c (check_poly_representation): Fix compile without checking. · b77a0698
      2009-10-26  Richard Guenther  <rguenther@suse.de>
      
      	* graphite-sese-to-poly.c (check_poly_representation): Fix
      	compile without checking.
      
      From-SVN: r153549
      Richard Guenther committed
    • MAINTAINERS (Write After Approval): Update my e-mail address. · 22e5d3dc
      2009-10-26  Johannes Singler <singler@kit.edu>
      
              * MAINTAINERS (Write After Approval): Update my e-mail address.
      
      From-SVN: r153548
      Johannes Singler committed
    • re PR fortran/41714 ([OOP] ALLOCATE SOURCE= does not properly copy the value from SOURCE) · 60f5ed26
      2009-10-26  Janus Weil  <janus@gcc.gnu.org>
      
      	PR fortran/41714
      	* gimple.h (tree_annotate_all_with_location): Remove prototype.
      	* gimplify.c (tree_should_carry_location_p,
      	tree_annotate_one_with_location,tree_annotate_all_with_location):
      	Remove obsolete functions.
      
      
      2009-10-26  Janus Weil  <janus@gcc.gnu.org>
      
      	PR fortran/41714
      	* trans.c (gfc_trans_code): Remove call to
      	'tree_annotate_all_with_location'. Location should already be set.
      	* trans-openmp.c (gfc_trans_omp_workshare): Ditto.
      	* trans-stmt.c (gfc_trans_allocate): Do correct data initialization for
      	CLASS variables with SOURCE tag, plus some cleanup.
      
      
      2009-10-26  Janus Weil  <janus@gcc.gnu.org>
      
      	PR fortran/41714
      	* gfortran.dg/class_allocate_4.f03: New test.
      
      From-SVN: r153547
      Janus Weil committed
    • Daily bump. · b0418319
      From-SVN: r153546
      GCC Administrator committed
  2. 25 Oct, 2009 6 commits
  3. 24 Oct, 2009 10 commits
  4. 23 Oct, 2009 8 commits