Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@199433 138bc75d-0d04-0410-961f-82ee72b054a4
This patch is a consolodation of the hash_table patches to the
cxx-conversion branch for files under gcc/config.

Update various hash tables from htab_t to hash_table.
Modify types and calls to match.

* config/arm/arm.c'arm_libcall_uses_aapcs_base::libcall_htab

Fold libcall_eq and libcall_hash into new struct libcall_hasher.

* config/ia64/ia64.c'bundle_state_table

Fold bundle_state_hash and bundle_state_eq_p into new struct
bundle_state_hasher.

* config/mips/mips.c'mips_offset_table

Fold mips_lo_sum_offset_hash and mips_lo_sum_offset_eq into new
struct mips_lo_sum_offset_hasher.

In mips_reorg_process_insns, change call to for_each_rtx to pass
a pointer to the hash_table rather than a htab_t.  This change
requires then dereferencing that pointer in mips_record_lo_sum to
obtain the hash_table.

* config/sol2.c'solaris_comdat_htab

Fold comdat_hash and comdat_eq into new struct comdat_entry_hasher.

* config/i386/winnt.c'i386_pe_section_type_flags::htab

* config/i386/winnt.c'i386_find_on_wrapper_list::wrappers

Fold wrapper_strcmp into new struct wrapped_symbol_hasher.

Tested on x86_64.  Tested with config-list.mk.


Index: gcc/ChangeLog

2013-05-29  Lawrence Crowl  <crowl@google.com>

	* config/arm/t-arm: Update for below.

	* config/arm/arm.c (arm_libcall_uses_aapcs_base::libcall_htab):
	Change type to hash_table.  Update dependent calls and types.

	* config/i386/t-cygming: Update for below.

	* config/i386/t-interix: Update for below.

	* config/i386/winnt.c (i386_pe_section_type_flags::htab):
	Change type to hash_table.  Update dependent calls and types.
	(i386_find_on_wrapper_list::wrappers): Likewise.

	* config/ia64/t-ia64: Update for below.

	* config/ia64/ia64.c (bundle_state_table):
	Change type to hash_table.  Update dependent calls and types.

	* config/mips/mips.c (mips_reorg_process_insns::htab):
	Change type to hash_table.  Update dependent calls and types.

	* config/sol2.c (solaris_comdat_htab):
	Change type to hash_table.  Update dependent calls and types.

	* config/t-sol2: Update for above.




git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@199435 138bc75d-0d04-0410-961f-82ee72b054a4
	* gcc-interface/Makefile.in (arm% androideabi): Robustify.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@199436 138bc75d-0d04-0410-961f-82ee72b054a4
2013-05-30  Tobias Burnus  <burnus@net-b.de>

        PR fortran/57458
        * interface.c (compare_parameter): Update C1239/C1240 constraint
        check for assumed-rank/TS29113.

2013-05-30  Tobias Burnus  <burnus@net-b.de>

        PR fortran/57458
        * gfortran.dg/assumed_rank_13.f90: New.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@199437 138bc75d-0d04-0410-961f-82ee72b054a4
2013-05-30  Zhenqiang Chen  <zhenqiang.chen@linaro.org>

	* config/arm/arm.c (arm_add_cfa_adjust_cfa_note): New added.
	(arm_emit_multi_reg_pop): Add REG_CFA_ADJUST_CFA notes.
	(arm_emit_vfp_multi_reg_pop): Likewise.
	(thumb2_emit_ldrd_pop): Likewise.
	(arm_expand_epilogue): Add misc REG_CFA notes.
	(arm_unwind_emit): Skip REG_CFA_ADJUST_CFA and REG_CFA_RESTORE.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@199438 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog:
2013-05-30  Bernd Schmidt  <bernds@codesourcery.com>
	    Zhenqiang Chen  <zhenqiang.chen@linaro.org>

	* config/arm/arm-protos.h: Add and update function protos.
	* config/arm/arm.c (use_simple_return_p): New added.
	(thumb2_expand_return): Check simple_return flag.
	* config/arm/arm.md: Add simple_return and conditional simple_return.
	* config/arm/iterators.md: Add iterator for return and simple_return.

gcc/testsuite/ChangeLog:
2013-05-30  Zhenqiang Chen  <zhenqiang.chen@linaro.org>

	* gcc.dg/shrink-wrap-alloca.c: New added.
	* gcc.dg/shrink-wrap-pretend.c: New added.
	* gcc.dg/shrink-wrap-sibcall.c: New added.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@199439 138bc75d-0d04-0410-961f-82ee72b054a4
        Silvermont (SLM) architecture pipeline model, tuning and
        insn selection.
        * config.gcc: Add slm config options and target.

        * config/i386/slm.md: New.

        * config/i386/driver-i386.c (host_detect_local_cpu): Check movbe.

        * gcc/config/i386/i386-c.c (ix86_target_macros_internal):  New case
        PROCESSOR_SLM.
        (ix86_target_macros_internal): Likewise.

        * gcc/config/i386/i386.c (slm_cost): New cost.
        (m_SLM): New macro flag.
        (initial_ix86_tune_features): Set m_SLM.
        (x86_accumulate_outgoing_args): Likewise.
        (x86_arch_always_fancy_math_387): Likewise.
        (processor_target_table): Add slm cost.
        (cpu_names): Add slm cpu name.
        (x86_option_override_internal): Set SLM ISA.
        (ix86_issue_rate): New case PROCESSOR_SLM.
        (ia32_multipass_dfa_lookahead): Likewise.
        (fold_builtin_cpu): Add slm.

        * config/i386/i386.h (TARGET_SLM): New target macro.
        (target_cpu_default): Add TARGET_CPU_DEFAULT_slm.
        (processor_type): Add PROCESSOR_SLM.

        * config/i386/i386.md (cpu): Add new value "slm".
        (slm.md): Include slm.md.

        * libgcc/config/i386/cpuinfo.c (INTEL_SLM): New enum value.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@199444 138bc75d-0d04-0410-961f-82ee72b054a4
2013-05-30  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/54189
	* resolve.c (check_assumed_size_reference): Check for e->ref.


2013-05-30  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/54189
	* gfortran.dg/assumed_size_1.f90: New.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@199445 138bc75d-0d04-0410-961f-82ee72b054a4
        PR rtl-optimization/57439
        * postreload.c (move2add_valid_value_p): Check that we have
        a zero subreg_regno_offset when accessing the register in
        the requested mode.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@199449 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/testsuite/

	* g++.dg/cpp0x/alias-decl-debug-0.C: Add aarch64*-*-* to the
	dg-skip-if "No stabs".


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@199452 138bc75d-0d04-0410-961f-82ee72b054a4
AArch64 - Support BFI instruction and insv pattern

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@199454 138bc75d-0d04-0410-961f-82ee72b054a4
	PR c++/52377
	* class.c (common_enclosing_class): New.
	* cp-tree.h: Declare it.
	* init.c (sort_mem_initializers): Don't splice out a union member
	with an NSDMI.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@199455 138bc75d-0d04-0410-961f-82ee72b054a4
	PR c++/57404
	* cp-lang.c (cp_classify_record): Handle structs without
	TYPE_LANG_SPECIFIC.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@199456 138bc75d-0d04-0410-961f-82ee72b054a4
2013-05-30  Vladimir Makarov  <vmakarov@redhat.com>

	* target.def (register_usage_leveling_p): New hook.
	* targhooks.c (default_register_usage_leveling_p): New.
	* targhooks.h (default_register_usage_leveling_p): New prototype.
	* lra-assigns.c (register_usage_leveling_p): Use the hook.
	* doc/tm.texi.in (TARGET_REGISTER_USAGE_LEVELING_P): New hook.
	* doc/tm.texi: Update.
	* config/i386/i386.c (TARGET_REGISTER_USAGE_LEVELING_P): Define.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@199459 138bc75d-0d04-0410-961f-82ee72b054a4

       * rtlanal.c (tablejump_p): Expect table and label to be adjacent.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@199460 138bc75d-0d04-0410-961f-82ee72b054a4
2013-05-30  Tobias Burnus  <burnus@net-b.de>
            Thomas Koenig  <tkoenig@gcc.gnu.org>

        PR middle-end/57073
        * tree-ssa-math-opts.c (execute_cse_sincos): Optimize
        powi (-1.0, k) to (k & 1) ? -1.0 : 1.0.

2013-05-30  Tobias Burnus  <burnus@net-b.de>

        PR middle-end/57073
        * gfortran.dg/power_6.f90: New.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@199461 138bc75d-0d04-0410-961f-82ee72b054a4
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@199464 138bc75d-0d04-0410-961f-82ee72b054a4
* config/rl78/rl78.md (mulqi3,mulhi3): New define_expands.
(mulqi3_rl78,mulhi3_rl78,mulhi3_g13): New define_insns.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@199469 138bc75d-0d04-0410-961f-82ee72b054a4
2013-05-31  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/54190
	PR fortran/57217
	* gfortran.h (gfc_terminal_width): Remove prototype.
	* error.c (get_terminal_width): Moved here from misc.c. Renamed.
	Try to determine terminal width from environment variable.
	* interface.c (compare_type, compare_rank): New functions. Fix assumed
	type/rank handling.
	(compare_type_rank, check_dummy_characteristics,
	check_result_characteristics, gfc_compare_interfaces): Use them.
	(symbol_rank): Slightly modified and moved.
	* misc.c (gfc_terminal_width): Moved to error.c.


2013-05-31  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/54190
	PR fortran/57217
	* gfortran.dg/dummy_procedure_5.f90: Modified error message.
	* gfortran.dg/interface_26.f90: Ditto.
	* gfortran.dg/proc_ptr_11.f90: Ditto.
	* gfortran.dg/proc_ptr_15.f90: Ditto.
	* gfortran.dg/proc_ptr_comp_20.f90: Ditto.
	* gfortran.dg/proc_ptr_comp_33.f90: Ditto.
	* gfortran.dg/proc_ptr_result_5.f90: Ditto.
	* gfortran.dg/typebound_override_1.f90: Ditto.
	* gfortran.dg/typebound_override_4.f90: Ditto.
	* gfortran.dg/typebound_proc_6.f03: Ditto.
	* gfortran.dg/assumed_type_7.f90: New test.
	* gfortran.dg/typebound_override_5.f90: New test.
	* gfortran.dg/typebound_override_6.f90: New test.
	* gfortran.dg/typebound_override_7.f90: New test.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@199475 138bc75d-0d04-0410-961f-82ee72b054a4
2013-05-31  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/57478
	PR tree-optimization/57453
	* tree-vect-slp.c (vect_bb_slp_scalar_cost): Uses in PHI nodes
	are life as well.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@199476 138bc75d-0d04-0410-961f-82ee72b054a4