aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2011-07-21tree-ssa-forwprop.c (combine_conversions): Return whether we have to run ↵Richard Guenther2-12/+24
cfg-cleanup. 2011-07-21 Richard Guenther <rguenther@suse.de> * tree-ssa-forwprop.c (combine_conversions): Return whether we have to run cfg-cleanup. Properly remove dead stmts. (ssa_forward_propagate_and_combine): Adjust. From-SVN: r176561
2011-07-21mutex (timed_mutex, [...]): Update to use steady_clock instead of ↵Paolo Carlini3-2/+11
monotonic_clock. 2011-07-21 Paolo Carlini <paolo.carlini@oracle.com> * include/std/mutex (timed_mutex, recursive_timed_mutex): Update to use steady_clock instead of monotonic_clock. * config/abi/pre/gnu.ver: Export steady_clock::now. From-SVN: r176560
2011-07-21regcprop.c (maybe_mode_change): Check HARD_REGNO_MODE_OK.Richard Sandiford2-4/+7
gcc/ * regcprop.c (maybe_mode_change): Check HARD_REGNO_MODE_OK. From-SVN: r176558
2011-07-21tree-ssa-propagate.c (substitute_and_fold): Use do_dce flag to deside...Kai Tietz2-4/+17
2011-07-21 Kai Tietz <ktietz@redhat.com> * tree-ssa-propagate.c (substitute_and_fold): Use do_dce flag to deside, if BB's statements are scanned in last to first, or first to last order. From-SVN: r176556
2011-07-21* config/avr/avr.c (avr_rtx_costs): Set cost of CONST, LABEL_REF to 0.Georg-Johann Lay2-2/+6
From-SVN: r176554
2011-07-21pr32912-2.c: Skip for AVR.Georg-Johann Lay3-0/+7
* gcc.dg/pr32912-2.c: Skip for AVR. * gcc.dg/pr44674.c: Add dg-require-profiling. From-SVN: r176553
2011-07-21array (array::at, [...]): Mark constexpr.Benjamin Kosnik3-7/+49
2011-07-20 Benjamin Kosnik <bkoz@redhat.com> Daniel Krugler <daniel.kruegler@googlemail.com> * include/std/array (array::at, array::operator[]): Mark constexpr. * testsuite/23_containers/array/requirements/ constexpr_element_access.cc: Add. Co-Authored-By: Daniel Krugler <daniel.kruegler@googlemail.com> From-SVN: r176550
2011-07-21chrono: (system_clock::is_steady): Update to N3291 from is_monotonic.Benjamin Kosnik11-37/+122
2011-07-20 Benjamin Kosnik <bkoz@redhat.com> Daniel Krugler <daniel.kruegler@googlemail.com> * include/std/chrono: (system_clock::is_steady): Update to N3291 from is_monotonic. (time_point): Add constexpr to nonmember arithmetic operators. * src/chrono.cc: Modify for above. * src/compatibility-c++0x.cc: Same. * testsuite/20_util/time_point/nonmember/constexpr.cc: New. * testsuite/20_util/time_point/1.cc: Modify. * testsuite/20_util/system_clock/constexpr_data.cc: Modify. * testsuite/20_util/system_clock/1.cc: Modify. * testsuite/20_util/monotonic_clock/constexpr_data.cc: Move to... * testsuite/20_util/steady_clock/constexpr_data.cc: ...here. * testsuite/30_threads/condition_variable/members/2.cc: Modify. * testsuite/30_threads/condition_variable_any/members/2.cc: Modify. From-SVN: r176549
2011-07-21Daily bump.GCC Administrator1-1/+1
From-SVN: r176548
2011-07-20Handle address output and call patterns for x32.H.J. Lu6-17/+65
2011-07-20 H.J. Lu <hongjiu.lu@intel.com> Uros Bizjak <ubizjak@gmail.com> Richard Henderson <rth@redhat.com> * config/i386/constraints.md (w): New. * config/i386/i386.c (ix86_output_addr_vec_elt): Check TARGET_LP64 instead of TARGET_64BIT for ASM_QUAD. * config/i386/i386.h (CASE_VECTOR_MODE): Check TARGET_LP64 instead of TARGET_64BIT. * config/i386/i386.md (indirect_jump): Replace nonimmediate_operand with indirect_branch_operand. (*indirect_jump): Likewise. Replace constraint "m" with "w". (tablejump): Replace nonimmediate_operand with indirect_branch_operand. Convert operand 0 to Pmode for x32 if not PIC. (*tablejump_1): Replace nonimmediate_operand with indirect_branch_operand. Replace constraint "m" with "w". (*call_vzeroupper): Replace constraint "m" with "w". (*call): Likewise. (*call_rex64_ms_sysv_vzeroupper): Likewise. (*call_rex64_ms_sysv): Likewise. (*call_value_vzeroupper): Likewise. (*call_value): Likewise. (*call_value_rex64_ms_sysv_vzeroupper): Likewise. (*call_value_rex64_ms_sysv): Likewise. (set_got_offset_rex64): Check TARGET_LP64 instead of TARGET_64BIT. * config/i386/predicates.md (indirect_branch_operand): New. (call_insn_operand): Support x32. Co-Authored-By: Richard Henderson <rth@redhat.com> Co-Authored-By: Uros Bizjak <ubizjak@gmail.com> From-SVN: r176539
2011-07-20params.def (PARAM_MAX_VARTRACK_EXPR_DEPTH): Default to 12.Michael Eager2-1/+5
From-SVN: r176538
2011-07-20Dump basic_block flags.Richard Henderson3-44/+31
From-SVN: r176537
2011-07-20i386.c (ix86_decompose_address): Allow only subregs of DImode hard registers ↵Uros Bizjak2-24/+39
in index. * config/i386/i386.c (ix86_decompose_address): Allow only subregs of DImode hard registers in index. (ix86_legitimate_address_p): Allow subregs of base and index to span more than a word. Assert that subregs of base and index satisfy register_no_elim_operand predicates. Reject addresses where base and index have different modes. From-SVN: r176536
2011-07-20config.gcc (mips*-*-linux*): Remove redundant tm_file entry.Robert Millan2-1/+5
gcc/ 2011-07-20 Robert Millan <rmh@gnu.org> * config.gcc (mips*-*-linux*): Remove redundant tm_file entry. From-SVN: r176535
2011-07-20bb-reorder.c (fix_crossing_conditional_branches): Fix crash by removing ↵Ulrich Weigand2-1/+5
now-unnecessary assignment. * bb-reorder.c (fix_crossing_conditional_branches): Fix crash by removing now-unnecessary assignment. From-SVN: r176533
2011-07-20parser.c (cp_parser_initializer_list): Handle C99 .id= and [N]= designated ↵Jason Merrill5-11/+83
initializer syntax. * parser.c (cp_parser_initializer_list): Handle C99 .id= and [N]= designated initializer syntax. * decl.c (check_array_designated_initializer): Add index parm. (maybe_deduce_size_from_array_init): Pass it. (reshape_init_array_1): Likewise. From-SVN: r176530
2011-07-20system_error: Use noexcept.Paolo Carlini8-75/+92
2011-07-20 Paolo Carlini <paolo.carlini@oracle.com> * include/std/system_error: Use noexcept. * src/system_error.cc: Likewise. * testsuite/19_diagnostics/error_condition/modifiers/39881.cc: Adjust. * testsuite/19_diagnostics/error_condition/cons/39881.cc: Likewise. * testsuite/19_diagnostics/error_code/modifiers/39882.cc: Likewise. * testsuite/19_diagnostics/error_code/cons/39882.cc: Likewise. * testsuite/util/testsuite_error.h: Likewise. * include/std/system_error (error_code::error_code(_ErrorCodeEnum)): Use enable_if on template parameter default. (error_condition::error_condition(_ErrorConditionEnum)): Likewise. From-SVN: r176529
2011-07-20emit-rtl.c (set_mem_attributes_minus_bitpos): Restore setting memory address ↵Ulrich Weigand2-0/+6
space to the type's address space. * emit-rtl.c (set_mem_attributes_minus_bitpos): Restore setting memory address space to the type's address space. From-SVN: r176528
2011-07-20re PR target/36467 ([avr] Missed optimization with pointer arithmetic and mul*)Georg-Johann Lay4-11/+402
PR target/36467 PR target/49687 * config/avr/avr.md (mulhi3): Use register_or_s9_operand for operand2 and expand appropriately if there is a CONST_INT in operand2. (usmulqihi3): New insn. (*sumulqihi3): New insn. (*osmulqihi3): New insn. (*oumulqihi3): New insn. (*muluqihi3.uconst): New insn_and_split. (*muluqihi3.sconst): New insn_and_split. (*mulsqihi3.sconst): New insn_and_split. (*mulsqihi3.uconst): New insn_and_split. (*mulsqihi3.oconst): New insn_and_split. (*ashifthi3.signx.const): New insn_and_split. (*ashifthi3.signx.const7): New insn_and_split. (*ashifthi3.zerox.const): New insn_and_split. (mulsqihi3): New insn. (muluqihi3): New insn. (muloqihi3): New insn. * config/avr/predicates.md (const_2_to_7_operand): New. (const_2_to_6_operand): New. (u8_operand): New. (s8_operand): New. (o8_operand): New. (s9_operand): New. (register_or_s9_operand): New. From-SVN: r176527
2011-07-20builtins.c (fold_builtin_expect): See through the cast from ↵Kai Tietz2-12/+19
truthvalue_type_node to long. 2011-07-20 Kai Tietz <ktietz@redhat.com> * builtins.c (fold_builtin_expect): See through the cast from truthvalue_type_node to long. From-SVN: r176526
2011-07-20Allow 4 operand FMAs on power7Michael Meissner7-58/+181
From-SVN: r176522
2011-07-20Makefile.tpl (POSTSTAGE1_CONFIGURE_FLAGS): Add libsupc++ to link directories.David Edelsohn3-2/+14
* Makefile.tpl (POSTSTAGE1_CONFIGURE_FLAGS): Add libsupc++ to link directories. * Makefile.in: Rebuild. From-SVN: r176521
2011-07-20stdc++.h: Add scoped_allocator.Ed Smith-Rowland2-1/+6
2011-07-20 Ed Smith-Rowland <3dw4rd@verizon.net> * include/precompiled/stdc++.h: Add scoped_allocator. From-SVN: r176520
2011-07-20bitset (operator[]): Make constexpr.Benjamin Kosnik3-8/+52
2011-07-20 Benjamin Kosnik <bkoz@redhat.com> * include/std/bitset (operator[]): Make constexpr. * testsuite/23_containers/bitset/operations/constexpr.cc: New. From-SVN: r176519
2011-07-20genrecog.c (make_insn_sequence): Correct position numbering when filtering ↵Sandra Loosemore2-1/+6
out match_scratch and match_dup. 2011-07-20 Sandra Loosemore <sandra@codesourcery.com> gcc/ * genrecog.c (make_insn_sequence): Correct position numbering when filtering out match_scratch and match_dup. From-SVN: r176518
2011-07-20tree-ssa-forwprop.c (remove_prop_source_from_use): Robustify against already ↵Richard Guenther3-33/+52
removed statements. 2011-07-20 Richard Guenther <rguenther@suse.de> * tree-ssa-forwprop.c (remove_prop_source_from_use): Robustify against already removed statements. (forward_propagate_into_comparison): Remove dead defining stmts. (forward_propagate_into_gimple_cond): Likewise. (forward_propagate_into_cond): Simplify. (ssa_forward_propagate_and_combine): Handle changed cfg from forward_propagate_into_comparison. * tree-ssa-phiopt.c (conditional_replacement): Use proper locations for newly built statements. From-SVN: r176517
2011-07-20* config/avr/avr.c (avr_rtx_costs): Set cost of SYMBOL_REF to 0.Georg-Johann Lay2-2/+6
From-SVN: r176516
2011-07-20changelog tweakJason Merrill1-0/+2
From-SVN: r176514
2011-07-20PR c++/6709 (DR 743)Jason Merrill8-49/+185
PR c++/6709 (DR 743) PR c++/42603 (DR 950) gcc/cp/ * parser.c (token_is_decltype, cp_lexer_next_token_is_decltype): New. (cp_parser_nested_name_specifier_opt): Allow decltype. (cp_parser_qualifying_entity): Likewise. (cp_parser_decltype): Replace source tokens with CPP_DECLTYPE. (cp_parser_simple_type_specifier): Handle decltype as scope. (cp_parser_base_specifier): Allow decltype. (cp_parser_base_clause): Don't crash on null base. * parser.h (CPP_KEYWORD, CPP_TEMPLATE_ID): Move to c-common.h. (CPP_NESTED_NAME_SPECIFIER, N_CP_TTYPES): Likewise. gcc/c-family/ * c-common.h (CPP_KEYWORD, CPP_TEMPLATE_ID): Move from cp/parser.h. (CPP_NESTED_NAME_SPECIFIER, N_CP_TTYPES): Likewise. (CPP_DECLTYPE): New. * c-common.c (c_parse_error): Handle CPP_DECLTYPE. From-SVN: r176513
2011-07-20re PR bootstrap/49787 (--enable-languages=c doesn't work)Ian Lance Taylor3-104/+124
PR bootstrap/49787 * configure.ac: Move --enable-bootstrap handling earlier in file. If --enable-bootstrap and either --enable-build-with-cxx or --enable-build-poststage1-with-cxx, enable C++ automatically. * configure: Rebuild. From-SVN: r176512
2011-07-20s390.c (s390_class_max_nregs): Fix return type.Andreas Krebbel3-2/+7
2011-07-20 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> * config/s390/s390.c (s390_class_max_nregs): Fix return type. * config/s390/s390-protos.h (s390_class_max_nregs): Likewise. From-SVN: r176511
2011-07-20re PR middle-end/18908 (Missed folding opportunities with bools)Richard Biener1-3/+1
2011-07-20 Richard Guenther <rguenther@suse.de> PR middle-end/18908 * tree.c (integer_all_onesp): Use TYPE_PRECISION, not mode precision. * tree-ssa-forwprop.c (simplify_bitwise_binary): Remove bogus ADDR_EXPR folding. Canonicalize X ^ ~0 as ~X. * gcc.dg/tree-ssa/pr18908.c: New testcase. * gcc.dg/tree-ssa/bitwise-sink.c: Adjust. From-SVN: r176510
2011-07-20re PR middle-end/18908 (Missed folding opportunities with bools)Richard Guenther5-32/+34
2011-07-20 Richard Guenther <rguenther@suse.de> PR middle-end/18908 * tree.c (integer_all_onesp): Use TYPE_PRECISION, not mode precision. * tree-ssa-forwprop.c (simplify_bitwise_binary): Remove bogus ADDR_EXPR folding. Canonicalize X ^ ~0 as ~X. * gcc.dg/tree-ssa/pr18908.c: New testcase. * gcc.dg/tree-ssa/bitwise-sink.c: Adjust. From-SVN: r176508
2011-07-20frv.c (frv_register_move_cost): Define explicitly costs for subclasses of ↵Vladimir Makarov2-0/+33
GR_REGS. 2011-07-20 Vladimir Makarov <vmakarov@redhat.com> * config/frv/frv.c (frv_register_move_cost): Define explicitly costs for subclasses of GR_REGS. From-SVN: r176507
2011-07-20re PR target/49780 ([x32] internal compiler error: in create_mem_ref, at ↵Uros Bizjak3-10/+24
tree-ssa-address.c:806) PR target/49780 * config/i386/predicates.md (no_seg_addres_operand): No more special. * config/i386/i386.c (ix86_decompose_address): Allow only subregs of DImode hard registers in base. (ix86_legitimate_address_p): Allow SImode and DImode base and index registers. From-SVN: r176506
2011-07-20tree-ssa-structalias.c (new_var_info): Allocate oldsolution lazily.Richard Guenther2-11/+26
2011-07-20 Richard Guenther <rguenther@suse.de> * tree-ssa-structalias.c (new_var_info): Allocate oldsolution lazily. (unify_nodes): Deal with that. (solve_graph): Likewise. From-SVN: r176505
2011-07-20safe_local_iterator.h (_Safe_local_iterator<>:: _Safe_local_iterator(const ↵Paolo Carlini2-1/+7
_Iterator&, size_type, const _Sequence*)): Fix typo. 2011-07-20 Paolo Carlini <paolo.carlini@oracle.com> * include/debug/safe_local_iterator.h (_Safe_local_iterator<>:: _Safe_local_iterator(const _Iterator&, size_type, const _Sequence*)): Fix typo. From-SVN: r176500
2011-07-20arm.c (arm_canonicalize_comparison): Add case to canonicalize left operand ↵Chung-Lin Tang5-0/+53
from ZERO_EXTEND to AND. 2011-07-20 Chung-Lin Tang <cltang@codesourcery.com> * config/arm/arm.c (arm_canonicalize_comparison): Add case to canonicalize left operand from ZERO_EXTEND to AND. testsuite/ * gcc.target/arm/combine-movs.c: New. * gcc.target/arm/unsigned-extend-2.c: New. From-SVN: r176495
2011-07-20Daily bump.GCC Administrator1-1/+1
From-SVN: r176494
2011-07-20target.def (class_max_nregs): New hook.Anatoly Sokolov32-124/+147
* target.def (class_max_nregs): New hook. * doc/tm.texi.in (TARGET_CLASS_MAX_NREGS): Document. * doc/tm.texi: Regenerate. * targhooks.c (default_class_max_nregs): New function. * targhooks.h (default_class_max_nregs): Declare. * ira.h (target_ira): Change type x_ira_reg_class_max_nregs and x_ira_reg_class_min_nregs arrays to unsigned char. * ira.c (setup_reg_class_nregs): Use TARGET_CLASS_MAX_NREGS target hook instead of CLASS_MAX_NREGS macro. * reginfo.c (restore_register_info): Ditto. * ira-conflicts.c (process_regs_for_copy): Use ira_reg_class_max_nregs array instead of CLASS_MAX_NREGS macro. Change type rclass and aclass vars to reg_class_t. * ira-costs.c (record_reg_classes): Use ira_reg_class_max_nregs array instead of CLASS_MAX_NREGS macro. Change type rclass var to reg_class_t. * reload.c (combine_reloads, find_reloads, find_reloads_address_1): Use ira_reg_class_max_nregs array instead of CLASS_MAX_NREGS macro. * config/i386/i386.h (CLASS_MAX_NREGS): Remove. * config/i386/i386.c (ix86_class_max_nregs): New function. (ix86_register_move_cost): Use TARGET_CLASS_MAX_NREGS target hook instead of CLASS_MAX_NREGS macro. (TARGET_CLASS_MAX_NREGS): Define. * config/avr/avr.h (CLASS_MAX_NREGS): Remove. * config/avr/avr-protos.h (class_max_nregs): Remove declaration. * config/avr/avr.c (class_max_nregs): Remove function. * config/alpha/alpha.h (CLASS_MAX_NREGS): Remove. * config/spu/spu.h (CLASS_MAX_NREGS): Remove. * config/mep/mep.h (CLASS_MAX_NREGS): Remove. * config/m32r/m32r.h (CLASS_MAX_NREGS): Remove. * config/microblaze/microblaze.h (CLASS_MAX_NREGS): Remove. * config/xtensa/xtensa.h (CLASS_MAX_NREGS): Remove. * config/stormy16/stormy16.h (CLASS_MAX_NREGS): Remove. * config/lm32/lm32.h (CLASS_MAX_NREGS): Remove. * config/moxie/moxie.h (CLASS_MAX_NREGS): Remove. * config/iq2000/iq2000.h (CLASS_MAX_NREGS): Remove. * config/mn10300/mn10300.h (CLASS_MAX_NREGS): Remove. * config/score/score.h (CLASS_MAX_NREGS): Remove. * config/vax/vax.h (CLASS_MAX_NREGS): Remove. * config/h8300/h8300.h (CLASS_MAX_NREGS): Remove. * config/v850/v850.h (CLASS_MAX_NREGS): Remove. From-SVN: r176490
2011-07-19cif-code.def (OVERWRITABLE): Fix typo and move around.Eric Botcazou3-21/+27
* cif-code.def (OVERWRITABLE): Fix typo and move around. (TARGET_OPTIMIZATION_MISMATCH): Delete. (EH_PERSONALITY): Fix typo. (NON_CALL_EXCEPTIONS): Fix message. (OPTIMIZATION_MISMATCH): Adjust message. * ipa-inline.c (can_inline_edge_p): Use CIF_OPTIMIZATION_MISMATCH. From-SVN: r176488
2011-07-19safe_unordered_base.h, [...]: New, support for unordered sequence safe local ↵François Dumont38-190/+2519
iterators. 2011-07-19 François Dumont <francois.cppdevs@free.fr> * include/debug/safe_unordered_base.h, safe_unordered_sequence.h, safe_unordered_sequence.tcc, safe_local_iterator.h, safe_local_iterator.tcc: New, support for unordered sequence safe local iterators. * include/Makefile.am: Add previous files. * include/Makefile.in: Regenerate. * include/debug/unordered_map, unordered_set: Implement _Safe_unordered_sequence and expose _Safe_local_iterator. * include/debug/safe_iterator.h, safe_iterator.tcc: Refactor _Safe_iterator::_M_get_distance static method to expose it as __get_distance function and use it in _Safe_local_iterator type. * include/debug/formatter.h: Add __msg_local_iter_compare_bad _Debug_msg_id enum entry to notify invalid comparison between local iterators from different buckets. Add _Parameter constructor from _Safe_local_iterator. * include/debug/functions.h: Add __valid_range overload for _Safe_local_iterator. * src/debug.cc: Add _Safe_unordered_sequence_base and _Safe_local_iterator_base methods implementations. * config/abi/pre/gnu.ver: Add export of some _Safe_unordered_sequence_base and _Safe_local_iterator_base methods. * testsuite/util/debug/checks.h: Add use_invalid_iterator function to simulate use of a singular iterator. * testsuite/util/debug/unordered_checks.h: New, several functions to simulate classic invalid usage of unordered sequence local iterators. * testsuite/23_containers/unordered_map/debug/ use_erased_local_iterator_neg.cc, invalid_local_iterator_range_neg.cc, use_invalid_local_iterator_neg.cc, use_invalid_iterator_neg.cc, invalid_local_iterator_compare_neg.cc: New. * testsuite/23_containers/unordered_multimap/debug/ use_erased_local_iterator_neg.cc, invalid_local_iterator_range_neg.cc, use_invalid_local_iterator_neg.cc, use_invalid_iterator_neg.cc, invalid_local_iterator_compare_neg.cc: New. * testsuite/23_containers/unordered_set/debug/ use_erased_local_iterator_neg.cc, invalid_local_iterator_range_neg.cc, use_invalid_local_iterator_neg.cc, use_invalid_iterator_neg.cc, invalid_local_iterator_compare_neg.cc: New. * testsuite/23_containers/unordered_multiset/debug/ use_erased_local_iterator_neg.cc, invalid_local_iterator_range_neg.cc, use_invalid_local_iterator_neg.cc, use_invalid_iterator_neg.cc, invalid_local_iterator_compare_neg.cc: New. From-SVN: r176487
2011-07-19configure.ac: Add --enable-build-poststage1-with-cxx.Ian Lance Taylor7-21/+113
./: * configure.ac: Add --enable-build-poststage1-with-cxx. If set, make C++ a boot_language. Set and substitute POSTSTAGE1_CONFIGURE_FLAGS. * Makefile.tpl (POSTSTAGE1_CONFIGURE_FLAGS): New variable. (STAGE[+id+]_CONFIGURE_FLAGS): Add $(POSTSTAGE1_CONFIGURE_FLAGS). * configure, Makefile.in: Rebuild. gcc/: * doc/install.texi (Configuration): Document --enable-build-poststage1-with-cxx. From-SVN: r176480
2011-07-19gnu-user.h: Copy from linux.h.Robert Millan6-164/+231
gcc/ 2011-07-19 Robert Millan <rmh@gnu.org> * config/mips/gnu-user.h: Copy from linux.h. Update comments. (GLIBC_DYNAMIC_LINKER): Remove. * config/mips/gnu-user64.h: Copy from linux64.h. Update comments. (GLIBC_DYNAMIC_LINKER32, GLIBC_DYNAMIC_LINKER64) (GLIBC_DYNAMIC_LINKERN32, UCLIBC_DYNAMIC_LINKERN32) (BIONIC_DYNAMIC_LINKERN32, GNU_USER_DYNAMIC_LINKERN32): Remove. (LINK_SPEC): Use GNU_USER_DYNAMIC_LINKER32, GNU_USER_DYNAMIC_LINKER64 and GNU_USER_LINK_EMULATIONN32. * config/mips/linux.h: Remove everything except for ... (GLIBC_DYNAMIC_LINKER): ... this macro. * config/mips/linux64.h: Remove everything except for ... (GLIBC_DYNAMIC_LINKER32, GLIBC_DYNAMIC_LINKER64) (GLIBC_DYNAMIC_LINKERN32, UCLIBC_DYNAMIC_LINKERN32) (BIONIC_DYNAMIC_LINKERN32): ... these macros. (GNU_USER_LINK_EMULATION32, GNU_USER_LINK_EMULATION64) (GNU_USER_LINK_EMULATIONN32): New macros. * config.gcc (mips64*-*-linux* | mipsisa64*-*-linux* | mips-*-linux*): Use the new headers. From-SVN: r176479
2011-07-19rtl.h (mem_attrs): Turn offset and size fields into HOST_WIDE_INTs.Richard Sandiford3-64/+124
gcc/ * rtl.h (mem_attrs): Turn offset and size fields into HOST_WIDE_INTs. Add offset_known_p and size_known_p fields. (MEM_OFFSET_KNOWN_P): Update accordingly. (MEM_OFFSET, MEM_SIZE_KNOWN_P, MEM_SIZE): Likewise. * emit-rtl.c (mem_attrs_htab_hash): Update after mem_attrs changes. (mem_attrs_eq_p, set_mem_attributes_minus_bitpos, set_mem_offset) (clear_mem_offset, set_mem_size, clear_mem_size, change_address) (adjust_address_1, widen_memory_access, set_mem_attrs_for_spill) (init_emit_regs): Likewise. From-SVN: r176478
2011-07-19rtl.texi (MEM_OFFSET_KNOWN_P): Document.Richard Sandiford15-86/+142
gcc/ * doc/rtl.texi (MEM_OFFSET_KNOWN_P): Document. (MEM_OFFSET): Change from returning an rtx to returning a HOST_WIDE_INT. * rtl.h (MEM_OFFSET_KNOWN_P): New macro. (MEM_OFFSET): Return a HOST_WIDE_INT rather than an rtx. * emit-rtl.h (set_mem_offset): Take a HOST_WIDE_INT rather than an rtx. (clear_mem_offset): Declare. * alias.c (ao_ref_from_mem): Adjust uses of MEM_OFFSET, using MEM_OFFSET_KNOWN_P to test whether the offset is known, and MEM_OFFSET to get a HOST_WIDE_INT offset. (nonoverlapping_memrefs_p): Likewise. Adjust calls to... (adjust_offset_for_component_ref): Take a bool "known_p" parameter and a HOST_WIDE_INT "offset" parameter. * builtins.c (get_memory_rtx): As for ao_ref_from_mem. Adjust calls to set_mem_offset, passing a HOST_WIDE_INT rather than an rtx. Use clear_mem_offset to clear the offset. * cfgcleanup.c (merge_memattrs): Likewise. * dwarf2out.c (tls_mem_loc_descriptor): Likewise. * function.c (assign_parm_find_stack_rtl): Likewise. (assign_parm_setup_stack): Likewise. * print-rtl.c (print_rtx): Likewise. * reload.c (find_reloads_subreg_address): Likewise. * simplify-rtx.c (delegitimize_mem_from_attrs): Likewise. * var-tracking.c (INT_MEM_OFFSET): Likewise. * emit-rtl.c (set_reg_attrs_from_value): Likewise. (get_mem_align_offset): Likewise. (set_mem_offset): Take a HOST_WIDE_INT rather than an rtx. (clear_mem_offset): New function. * config/mips/mips.c (r10k_safe_mem_expr_p): Take a HOST_WIDE_INT offset rather than an rtx. Assume both the expressio and offset are available. (r10k_needs_protection_p_1): Update accordingly, checking the expression and offset availability here instead. From-SVN: r176477
2011-07-19rtl.texi (MEM_SIZE_KNOWN_P): Document.Richard Sandiford28-107/+171
gcc/ * doc/rtl.texi (MEM_SIZE_KNOWN_P): Document. (MEM_SIZE): Change from returning an rtx to returning a HOST_WIDE_INT. * rtl.h (MEM_SIZE_KNOWN_P): New macro. (MEM_SIZE): Return a HOST_WIDE_INT rather than an rtx. * emit-rtl.h (set_mem_size): Take a HOST_WIDE_INT rather than an rtx. (clear_mem_size): Declare. * emit-rtl.c (set_mem_size): Take a HOST_WIDE_INT rather than an rtx. (clear_mem_size): New function. * alias.c (ao_ref_from_mem): Adjust uses of MEM_SIZE, using MEM_SIZE_KNOWN_P to test whether the size is known, and MEM_SIZE to get a HOST_WIDE_INT size. Adjust calls to set_mem_size, passing a HOST_WIDE_INT rather than an rtx. Use clear_mem_size to clear the size. (nonoverlapping_memrefs_p): Likewise. * builtins.c (get_memory_rtx, expand_builtin_memcmp): Likewise. (expand_builtin_init_trampoline): Likewise. * calls.c (compute_argument_addresses): Likewise. * cfgcleanup.c (merge_memattrs): Likewise. * dce.c (find_call_stack_args): Likewise. * dse.c (record_store, scan_insn): Likewise. * dwarf2out.c (dw_sra_loc_expr): Likewise. * expr.c (emit_block_move_hints): Likewise. * function.c (assign_parm_find_stack_rtl): Likewise. * print-rtl.c (print_rtx): Likewise. * reload.c (find_reloads_subreg_address): Likewise. * rtlanal.c (may_trap_p_1): Likewise. * var-tracking.c (track_expr_p): Likewise. * varasm.c (assemble_trampoline_template): Likewise. * config/arm/arm.c (arm_print_operand): Likewise. * config/h8300/h8300.c (h8sx_emit_movmd): Likewise. * config/i386/i386.c (expand_movmem_via_rep_mov): Likewise. (expand_setmem_via_rep_stos, expand_constant_movmem_prologue) (expand_constant_setmem_prologue): Likewise. * config/mips/mips.c (mips_get_unaligned_mem): Likewise. * config/rs6000/rs6000.c (expand_block_move): Likewise. (adjacent_mem_locations): Likewise. * config/s390/s390.c (s390_expand_setmem): Likewise. (s390_expand_insv): Likewise. * config/s390/s390.md (*extzv<mode>, *extv<mode>): Likewise. (*extendqi<mode>2_short_displ): Likewise. * config/sh/sh.c (expand_block_move): Likewise. * config/sh/sh.md (extv, extzv): Likewise. From-SVN: r176476
2011-07-19emit-rtl.c (mem_attrs_eq_p): New function, split out from...Richard Sandiford2-186/+206
gcc/ * emit-rtl.c (mem_attrs_eq_p): New function, split out from... (mem_attrs_htab_eq): ...here. (find_mem_attrs): Replace with... (set_mem_attrs): ...this function. Take a mem_attrs structure rather than individual fields. (set_mem_attributes_minus_bitpos, set_mem_alias_set) (set_mem_addr_space, set_mem_align, set_mem_expr, set_mem_offset) (set_mem_size, change_address, adjust_address_1, offset_address) (widen_memory_access, get_spill_slot_decl, set_mem_attrs_for_spill): Update accordingly. From-SVN: r176475
2011-07-19gcc/Richard Sandiford3-53/+103
* rtl.h (MEM_ALIAS_SET, MEM_EXPR, MEM_OFFSET, MEM_ADDR_SPACE) (MEM_SIZE, MEM_ALIGN): Redefine in terms of get_mem_attrs. Provide a dummy definition of MEM_ADDR_SPACE for generators. (target_rtl): Add x_mode_mem_attrs. (mode_mem_attrs): New macro. (get_mem_attrs): New function. * emit-rtl.c (get_mem_attrs): Rename to... (find_mem_attrs): ...this. (set_mem_attributes_minus_bitpos, set_mem_alias_set) (set_mem_addr_space, set_mem_align, set_mem_expr, set_mem_offset) (set_mem_size, change_address, adjust_address_1, offset_address) (widen_memory_access, get_spill_slot_decl, set_mem_attrs_for_spill): Update accordingly. (init_emit_regs): Initialize mode_mem_attrs. From-SVN: r176474
2011-07-19re PR c++/49785 ([C++0x] ICE in coerce_template_parms)Jason Merrill4-9/+50
PR c++/49785 * pt.c (coerce_template_parms): Handle non-pack after pack. From-SVN: r176472