Commit graph

118078 commits

Author SHA1 Message Date
Oleg Endo
be8cbce158 re PR target/51244 ([SH] Inefficient conditional branch and code around T bit)
PR target/51244
	* config/sh/sh.md (mov_neg_si_t): Move to Scc instructions section.
	Use t_reg_operand predicate.  Add split for negated case.
	(ashrsi2_31): Pass get_t_reg_rtx to gen_mov_neg_si_t.
	* config/sh/sh.c (expand_ashiftrt): Likewise.

	PR target/51244
	* gcc.target/sh/pr51244-4.c: New.

From-SVN: r189953
2012-07-30 06:46:36 +00:00
Oleg Endo
be82afe609 re PR target/54089 ([SH] Refactor shift patterns)
PR target/54089
	* config/sh/sh.md (ashlsi3_d): Invoke gen_shifty_op directly instead
	of trying to emit ashlsi3_n.

From-SVN: r189952
2012-07-30 06:43:20 +00:00
Laurynas Biveinis
c0fd34971d gengtype.c (adjust_field_type): Diagnose duplicate "length" option applications and option being applied to...
gcc:
2012-07-27  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
	    Steven Bosscher  <steven@gcc.gnu.org>

	* gengtype.c (adjust_field_type): Diagnose duplicate "length"
	option applications and option being applied to arrays of atomic
	types.
	(walk_type): Allow "atomic" option on strings too.
	* dwarf2out.h (struct dw_vec_struct): Use the "atomic" GTY option
	for the array field.
	* vec.h: Describe the atomic object "A" type of the macros in
	the header comment.
	(VEC_T_GTY_ATOMIC, DEF_VEC_A, DEF_VEC_ALLOC_A): Define.
	* emit-rtl.c (locations_locators_vals): use the atomic object
	vector.
	* doc/gty.texi: Clarify that GTY option "length" is only for
	arrays of non-atomic objects.  Fix typo in the description of the
	"atomic" option.

gcc/java:
2012-07-24  Laurynas Biveinis  <laurynas.biveinis@gmail.com>

	* jcf.h (CPool): Use the "atomic" GTY option for the tags field.
	(bootstrap_method): Likewise for the bootstrap_arguments field.

libcpp:
2012-07-24  Laurynas Biveinis  <laurynas.biveinis@gmail.com>

	* include/line-map.h (line_map_macro): Use the "atomic" GTY option
	for the macro_locations field.

Co-Authored-By: Steven Bosscher <steven@gcc.gnu.org>

From-SVN: r189951
2012-07-30 02:30:52 +00:00
GCC Administrator
1c5f95e6ec Daily bump.
From-SVN: r189950
2012-07-30 00:17:22 +00:00
François Dumont
78aa145d9e re PR libstdc++/54075 ([4.7.1] unordered_map insert still slower than 4.6.2)
2012-07-29  François Dumont  <fdumont@gcc.gnu.org>

	PR libstdc++/54075
	* include/bits/hashtable_policy.h
	(_Prime_rehash_policy::_M_next_bkt): Add a growth factor set to 2
	to boost growth in the number of buckets.
	* testsuite/performance/23_containers/insert/unordered_set.cc: New.

From-SVN: r189938
2012-07-29 16:44:18 +00:00
GCC Administrator
231464b227 Daily bump.
From-SVN: r189929
2012-07-29 00:18:11 +00:00
Uros Bizjak
61c7941c24 i386.c (ix86_avoid_lea_for_addr): Handle zero-extended addresses.
* config/i386/i386.c (ix86_avoid_lea_for_addr): Handle
	zero-extended addresses.  Return false if the address has less
	than two components.
	(ix86_split_lea_for_addr): Unconditionally convert target and
	all address operands to requested mode.
	* config/i386/i386.md (*lea<mode>): Recover operands from curr_insn.
	Pass SImode to ix86_split_lea_for_addr when splitting zero-extended
	address.
	(zero-extended add splitter): New splitter to conditionally split
	non-destructive adds.
	(*zero_extendsidi2_rex64): Conditionally emit leal instead of movl.

From-SVN: r189925
2012-07-28 11:16:52 +02:00
GCC Administrator
c50b82a885 Daily bump.
From-SVN: r189924
2012-07-28 00:18:39 +00:00
Alan Modra
6ad58e822e re PR target/54093 (ICE in in extract_insn, at recog.c:2129)
PR target/54093
	* config/rs6000/rs6000.c (rs6000_secondary_reload): Limit 32-bit
	multi-gpr reload to cases where predicate passes.  Do the same for
	64-bit multi-gpr reload.

From-SVN: r189921
2012-07-28 09:34:10 +09:30
Nathan Froyd
5322d07e9c expmed.h (alg_hash, [...]): Delete macro definitions and re-purpose as inline functions.
* expmed.h (alg_hash, alg_hash_used_p, sdiv_pow2_cheap,
	smod_pow2_cheap, zero_cost, add_cost, neg_cost, shift_cost)
	shiftadd_cost, shiftsub0_cost, shiftsub1_cost, mul_cost,
	sdiv_cost, udiv_cost, mul_widen_cost, mul_highpart_cost): Delete
	macro definitions and re-purpose as inline functions.
	(alg_hash_entry_ptr, set_alg_hash_used_p, sdiv_pow2_cheap_ptr,
	set_sdiv_pow2_cheap, smod_pow2_cheap_ptr, set_smod_pow2_cheap,
	zero_cost_ptr, set_zero_cost, add_cost_ptr, set_add_cost,
	neg_cost_ptr, set_neg_cost, shift_cost_ptr, set_shift_cost,
	shiftadd_cost_ptr, set_shiftadd_cost, shiftsub0_cost_ptr,
	set_shiftsub0_cost, shiftsub1_cost_ptr, set_shiftsub1_cost,
	mul_cost_ptr, set_mul_cost, sdiv_cost_ptr, set_sdiv_cost,
	udiv_cost_ptr, set_udiv_cost, mul_widen_cost_ptr,
	set_mul_widen_cost, mul_highpart_cost_ptr, set_mul_highpart_cost):
	New functions.
	(convert_cost_ptr): New function, split out from...
	(set_convert_cost, convert_cost): ...here.
	* expmed.c, tree-ssa-loop-ivopts.c: Update for new functions.
	* gimple-ssa-strength-reduction.c: Likewise.

From-SVN: r189919
2012-07-27 21:01:16 +00:00
Ryan Mansfield
ccbc132f87 Invoke GCC_DRIVER_HOST_INITIALIZATION after diagnostic_initialize
* gcc.c (main): Move GCC_DRIVER_HOST_INITIALIZATION after
	diagnostic_initialize.

From-SVN: r189918
2012-07-27 20:17:00 +02:00
Oleg Endo
ebe0dd3802 re PR target/54089 ([SH] Refactor shift patterns)
PR target/54089
	* config/sh/sh.c (shiftcosts): Remove case where first operand 
	is a const_int.  Move COSTS_N_INSNS usage into caller ...
	(sh_rtx_costs) ... here.  Return false when shiftcosts cannot be
	calculated instead of MAX_COST.

From-SVN: r189917
2012-07-27 17:36:20 +00:00
Iain Sandoe
d03cefc12c system-darwin-ppc64.ads: Add Support_Atomic_Primitives, set to True.
* system-darwin-ppc64.ads: Add Support_Atomic_Primitives, set to True.

-- This line and those below it will be ignored
M    ChangeLog
M    system-darwin-ppc64.ads

From-SVN: r189916
2012-07-27 15:23:37 +00:00
Richard Guenther
891f2df6ef tree-cfg.c (gimple_can_merge_blocks_p): Do more fine-grained check whether SSA form is not up-to-date.
2012-07-27  Richard Guenther  <rguenther@suse.de>

	* tree-cfg.c (gimple_can_merge_blocks_p): Do more fine-grained
	check whether SSA form is not up-to-date.
	* tree-flow.h (name_mappings_registered_p): Remove.
	* tree-into-ssa.c (struct repl_map_d): Remove.
	(repl_tbl): Likewise.
	(struct ssa_name_info): Add repl_set member.
	(update_ssa_obstack): New static global.
	(get_ssa_name_ann): Initialize repl_set.
	(clear_ssa_name_info): Assert age did not wrap.
	(repl_map_hash, repl_map_eq, repl_map_free): Remove.
	(names_replaced_by): Adjust.
	(add_to_repl_tbl): Likewise.
	(dump_tree_ssa_stats): Likewise.
	(init_update_ssa): Initialize update_ssa_obstack.
	(delete_update_ssa): Free update_ssa_obstack.
	(name_mappings_registered_p): Remove.
	(update_ssa): Adjust.

From-SVN: r189915
2012-07-27 13:57:38 +00:00
Segher Boessenkool
462f790109 constraints.md: Delete "q" constraint.
2012-07-27  Segher Boessenkool  <segher@kernel.crashing.org>

        * config/rs6000/constraints.md: Delete "q" constraint.
        * config/rs6000/dfp.md (movsd_hardfloat, movsd_softfloat):
        Delete the "q" alternative.
        * config/rs6000/predicates.md (gpc_reg_operand): Adjust.
        * config/rs6000/rs6000.c (rs6000_debug_reg_global,
        rs6000_init_hard_regno_mode_ok, rs6000_dbx_register_number):
        Adjust to MQ_REGNO removal.
        * config/rs6000/rs6000.h (FIRST_PSEUDO_REGISTER): Adjust
        comment.
        (REG_ALLOC_ORDER): Adjust comment.  Remove MQ from alloc order.
        (enum reg_class): Adjust comment.  Delete MQ_REGS.
        (REG_CLASS_CONTENTS): Adjust.
        (REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES): Adjust comment.
        * config/rs6000/rs6000.md: Delete MQ_REGNO.
        (movsi_internal1, movsi_internal1_single, movhi_internal,
        movqi_internal, movcc_internal1, movsf_hardfloat,
        movsf_softfloat): Delete the "q" alternative.
        (ctr<mode>_internal1, ctr<mode>_internal2, ctr<mode>_internal5,
        ctr<mode>_internal6): Delete "q" constraint.

From-SVN: r189913
2012-07-27 14:51:45 +02:00
Richard Guenther
d9ed2fbdde tree-into-ssa.c (def_blocks_p): New typedef.
2012-07-27  Richard Guenther  <rguenther@suse.de>

	* tree-into-ssa.c (def_blocks_p): New typedef.
	(insert_phi_nodes_compare_def_blocks): New function.
	(insert_phi_nodes): Do not walk over referenced vars, instead
	walk over recorded def_blocks, record relevant ones and sort
	them to avoid repeated hashtable lookups.

From-SVN: r189912
2012-07-27 12:31:49 +00:00
Richard Guenther
cf3791ae4c invoke.texi (min-virtual-mappings, [...]): Remove param documentation.
2012-07-27  Richard Guenther  <rguenther@suse.de>

	* doc/invoke.texi (min-virtual-mappings, virtual-mappings-ratio):
	Remove param documentation.
	* params.def (PARAM_MIN_VIRTUAL_MAPPINGS,
	PARAM_VIRTUAL_MAPPINGS_TO_SYMS_RATIO): Remove.
	* tree-flow.h (mark_set_for_renaming): Remove.
	* tree-into-ssa.c (struct update_ssa_stats_d): Remove.
	(add_new_name_mapping): Remove bookkeeping code.
	(dump_update_ssa): Remove stats dumping code.
	(init_update_ssa): Remove stats allocation code.
	(delete_update_ssa): Remove stats freeing code.
	(mark_set_for_renaming): Remove.
	(switch_virtuals_to_full_rewrite_p): Likewise.
	(switch_virtuals_to_full_rewrite): Likewise.
	(update_ssa): Do not call switch_virtuals_to_full_rewrite.

From-SVN: r189911
2012-07-27 12:31:06 +00:00
Marek Polacek
047ae0983a cgraphunit.c: Rename varpool_finalize_variable to varpool_finalize_decl in a comment.
2012-07-27  Marek Polacek  <polacek@redhat.com>

	* cgraphunit.c: Rename varpool_finalize_variable to
	varpool_finalize_decl in a comment.

From-SVN: r189910
2012-07-27 12:09:30 +00:00
Uros Bizjak
be2b24629d bind_c_array_params_2.f90: Add "-mno-explicit-relocs" for alpha*-*-* targets.
* gfortran.dg/bind_c_array_params_2.f90: Add "-mno-explicit-relocs"
	for alpha*-*-* targets.  Cleanup original tree dump.

From-SVN: r189909
2012-07-27 13:48:19 +02:00
Segher Boessenkool
c28a7c245f rs6000-common.c (rs6000_handle_option): Delete code for -mno-power, -mpower, and -mpower2.
2012-07-26  Segher Boessenkool  <segher@kernel.crashing.org>

gcc/
        * common/config/rs6000/rs6000-common.c (rs6000_handle_option):
        Delete code for -mno-power, -mpower, and -mpower2.
        * config/rs6000/aix43.h (NON_POWERPC_MASKS): Delete.
        (SUBTARGET_OVERRIDE_OPTIONS): Delete check for POWER together
        with -maix64.
        (ASM_CPU_SPEC): Delete support for POWER and POWER2.
        * config/rs6000/aix51.h (NON_POWERPC_MASKS): Delete.
        (SUBTARGET_OVERRIDE_OPTIONS): Delete check for POWER together
        with -maix64.
        (ASM_CPU_SPEC): Delete support for POWER and POWER2.
        * config/rs6000/aix52.h (NON_POWERPC_MASKS): Delete.
        (SUBTARGET_OVERRIDE_OPTIONS): Delete check for POWER together
        with -maix64.
        (TARGET_POWER): Delete.
        * config/rs6000/aix53.h (NON_POWERPC_MASKS): Delete.
        (SUBTARGET_OVERRIDE_OPTIONS): Delete check for POWER together
        with -maix64.
        (TARGET_POWER): Delete.
        * config/rs6000/aix61.h (NON_POWERPC_MASKS): Delete.
        (SUBTARGET_OVERRIDE_OPTIONS): Delete check for POWER together
        with -maix64.
        (TARGET_POWER): Delete.
        * config/rs6000/darwin.h (TARGET_POWER): Delete.
        * config/rs6000/driver-rs6000.c (struct asm_names): Delete
        support for -mpower, -mpower2, and -mno-power.
        * config/rs6000/rs6000-c.c (rs6000_target_modify_macros):
        Likewise.
        (rs6000_cpu_cpp_builtins): Likewise.
        * config/rs6000/rs6000-cpus.def: Likewise.
        * config/rs6000/rs6000-tables.opt: Regenerate.
        * config/rs6000/rs6000.c (POWER_MASKS): Delete.
        (rs6000_option_override_internal): Adjust.
        (rs6000_conditional_register_usage): Adjust.
        (rs6000_emit_move): Adjust.
        (rs6000_common_init_builtins): Adjust.
        (rs6000_init_libfuncs): Adjust.
        (rs6000_output_function_prologue): Adjust.
        (rs6000_adjust_cost): Adjust.
        (struct rs6000_opt_masks): Delete MASK_POWER and MASK_POWER2.
        * config/rs6000/rs6000.h (ASM_CPU_SPEC): Delete support for
        POWER and POWER2.
        (TARGET_DEFAULT): Adjust.
        (PROCESSOR_POWER): Delete.
        (SHIFT_COUNT_TRUNCATED): Adjust.
        * config/rs6000/rs6000.md (extendqisi2): Delete POWER support.
        (extendqisi2_power): Delete.
        (extendqisi2_no_power): Adjust.
        (extendqihi2, extendqihi2_power, extendqihi2_no_power):
        Likewise.
        (sminsi3, smaxsi3, uminsi3, umaxsi3): Adjust.
        (anonymous doz insn patterns): Delete.
        (abssi2): Adjust.
        (abssi2_power): Delete.
        (abssi2_nopower): Adjust.
        (nabs_power, nabs_nopower): Likewise.
        (mulsi3, mulsi3_mq, mulsi3_no_mq, mulsi3_mq_internal1):
        Likewise.  Delete anonymous post-reload splitter.
        (mulsi3_no_mq_internal1): rename to...
        (mulsi3_internal1): New define_insn.
        (mulsi3_mq_internal2, mulsi3_no_mq_internal2, mulsi3_internal2):
        Likewise.
        (divmodsi4, divmodsi4_internal, udiv<mode>3, udivsi3_mq,
        udivsi3_no_mq, udivsi3, div<mode>3, divsi3_mq, div<mode>3_no_mq,
        udivmodsi4_normal, udivmodsi4_tests, udivmodsi4): Likewise.
        (mulh_call, mull_call, divss_call, divus_call, quoss_call,
        quous_call): Likewise.
        (maskir_internal1, maskir_internal2, maskir_internal3,
        maskir_internal4, maskir_internal5, maskir_internal6,
        maskir_internal7, maskir_internal8): Delete.
        (ashlsi3, ashlsi3_power, ashlsi3_no_power): Adjust.
        (anonymous sl insn patterns): Delete.
        (lshrsi3, lshrsi3_power, lshrsi3_no_power): Adjust.
        (lshrsi3_64): Adjust.
        (anonymous sr insn patterns): Delete.
        (anonymous rrib insn patterns): Delete.
        (ashrsi3, ashrsi3_power, ashrsi3_no_power): Adjust.
        (anonymous sra insn patterns): Delete.
        (sqrtsf2, sqrtdf2, sqrtdf2_fpr): Adjust.
        (fix_trunc<mode>si2, fix_trunc<mode>si2_internal,
        fctiwz_<mode>): Adjust.
        (mulsidi3, mulsidi3_mq, mulsidi3_no_mq, umulsidi3, umulsidi3_mq,
        umulsidi3_no_mq, smulsi3_highpart, smulsi3_highpart_mq,
        smulsi3_highpart_no_mq, umulsi3_highpart, umulsi3_highpart_mq,
        umulsi3_highpart_no_mq): Adjust.
        (ashldi3_power, lshrdi3_power, ashrdi3_power): Delete.
        (ashrdi3_no_power, ashldi3, ashldi3_internal1,
        lshrdi3_internal1): Adjust.
        (fix_trunctfsi2, fix_trunctfsi2_fprs): Adjust.
        (movti_power): Delete.
        (movti_string): Adjust.
        (stmsi8, stmsi7, stmsi6, stmsi5, stmsi4, stmsi3): Adjust.
        (stmsi8_power, stmsi7_power, stmsi6_power, stmsi5_power,
        stmsi4_power, stmsi3_power): Delete.
        (anonymous movmemsi insn patterns): Adjust.
        (lfq_power2, stfq_power2): Delete.
        (eq<mode>, eq<mode>_compare): Adjust.
        (eqsi_power): Delete.
        (ne0si): Adjust.
        (anonymous le, lt, ge, gt insn patterns): Delete.
        * config/rs6000/rs6000.opt (mpower, mno-power, mpower2): Delete.
        * config/rs6000/sysv4.h (TARGET_POWER): Delete.
        * config/rs6000/t-aix43 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES,
        MULTILIB_MATCHES): Adjust.
        * doc/invoke.texi (RS/6000 and PowerPC Options): Delete
        -mpower, -mno-power, -mpower2, -mno-power2 documentation.
        Delete -mcpu=power and -mcpu=power2 documentation.

gcc/testsuite/

        * gcc.target/powerpc/rs6000-power2-1.c: Delete.
        * gcc.target/powerpc/rs6000-power2-2.c: Delete.

From-SVN: r189908
2012-07-27 13:44:37 +02:00
Segher Boessenkool
f3061fa418 601.md: New file.
2012-07-27  Segher Boessenkool  <segher@kernel.crashing.org>

gcc/
        * config/rs6000/601.md: New file.
        * config/rs6000/aix43.h (ASM_CPU_SPEC): Delete support for
        RIOS CPUs.
        * config/rs6000/aix51.h (ASM_CPU_SPEC): Likewise.
        * config/rs6000/driver-rs6000.c (detect_processor_aix,
        struct asm_names): Likewise.
        * config/rs6000/rios1.md: Delete file.
        * config/rs6000/rios2.md: Delete file.
        * config/rs6000/rs6000-cpus.def: Delete definitions for RIOS
        CPUs.
        * config/rs6000/rs6000-opts.h (enum processor_type): Delete
        PROCESSOR_RIOS1 and PROCESSOR_RIOS2.
        * config/rs6000/rs6000-tables.opt: Regenerated.
        * config/rs6000/rs6000.c (struct rios1_cost, struct rios2_cost):
        Delete.
        (rs6000_option_override_internal): Delete support for RIOS CPUs.
        (rs6000_conditional_register_usage): Adjust comment.
        (rs6000_issue_rate):Delete support for RIOS CPUs.
        * config/rs6000/rs6000.h (ASM_CPU_SPEC): Delete support for
        RIOS CPUs.
        (PROCESSOR_POWER): Change to PROCESSOR_PPC601.
        (PROCESSOR_DEFAULT): Change to PROCESSOR_PPC603.
        * config/rs6000/rs6000.md (define_attr "cpu"): Delete rios1
        and rios2.
        (include "rios1.md", include "rios2.md"): Delete.
        (include "601.md"): New.
        * config/rs6000/rs6000.opt (enum rs6000_cpu): Default to
        PROCESSOR_PPC603.
        * config/rs6000/t-aix43 (MULTILIB_MATCHES): Delete support
        for RIOS CPUs.
        * config/rs6000/t-rs6000 (MD_INCLUDES): Delete rios1.md and
        rios2.md .  Add 601.md .

From-SVN: r189907
2012-07-27 13:32:31 +02:00
Anna Tikhonova
d580407bc4 20020201-1.c: Remove declarations for exit, abort, rand, srand.
* gcc.dg/20020201-1.c: Remove declarations for exit, abort,
        rand, srand. Include <stdlib.h>.

From-SVN: r189905
2012-07-27 09:54:30 +00:00
GCC Administrator
ea01a538e3 Daily bump.
From-SVN: r189904
2012-07-27 00:18:31 +00:00
Kazu Hirata
9cd6dd8239 pex-win32.c (pex_win32_exec_child): Only close original file descriptors if child is launched successfully.
2012-07-26  Kazu Hirata  <kazu@codesourcery.com>
	    Sandra Loosemore  <sandra@codesourcery.com>

	libiberty/
	* pex-win32.c (pex_win32_exec_child): Only close original file
	descriptors if child is launched successfully.

Co-Authored-By: Sandra Loosemore <sandra@codesourcery.com>

From-SVN: r189901
2012-07-26 19:18:47 -04:00
Janis Johnson
3984ea61cb * gcc.dg/pr45259.c: Only -fpic depends on fpic support.
From-SVN: r189899
2012-07-26 22:23:33 +00:00
Richard Henderson
e45abe1f20 Hot/cold attributes for labels.
gcc/
        * doc/extend.texi (attribute): Document hot/cold for labels.
        * predict.c (tree_estimate_probability_bb): Handle hot/cold
        attributes on user labels.
        * predict.def (PRED_HOT_LABEL, PRED_COLD_LABEL): New.
gcc/c-family/
        * c-common.c (handle_hot_attribute): Allow labels.
        (handle_cold_attribute): Likewise.
gcc/testsuite/
        * gcc.dg/attr-hotcold-1.c: New.
        * gcc.dg/tree-ssa/attr-hotcold-2.c: New.

From-SVN: r189898
2012-07-26 14:31:40 -07:00
Andrew Jenner
27ec0502c8 cse.c (find_comparison_args): Check for cycles of any length.
2012-07-26  Andrew Jenner  <andrew@codesourcery.com>
	    Sandra Loosemore  <sandra@codesourcery.com>

	gcc/
	* cse.c (find_comparison_args): Check for cycles of any length.

	gcc/testsuite/
	* gcc.c-torture/compile/pr50380.c: Add code to cause cycle of length 2.

Co-Authored-By: Sandra Loosemore <sandra@codesourcery.com>

From-SVN: r189896
2012-07-26 16:51:24 -04:00
François Dumont
18a8e9ef96 Fix an english issue.
From-SVN: r189894
2012-07-26 20:41:23 +00:00
Diego Novillo
55b073bae6 Do not use 'with ... as ...' in validate_failures.py
Some of the hosts were we run this script are still using Python 2.4.
This patch replaces the use of 'with ... as ...' to avoid syntax errors.

2012-07-26   Diego Novillo  <dnovillo@google.com>

	* testsuite-management/validate_failures.py: Do not use
	'with ... as ...' constructs.

From-SVN: r189893
2012-07-26 11:31:00 -04:00
Nick Clifton
e902c26647 mn10300.c (REG_SAVE_BYTES): Delete.
* config/mn10300/mn10300.c (REG_SAVE_BYTES): Delete.
	(mn10300_get_live_callee_saved_regs): If requested return a count
	of the number of bytes in the mask.
	(mn10300_expand_prologue): Add argument to invocation of
	mn10300_get_live_callee_regs.
	(mn10300_expand_epilogue): Compute reg_save_bytes by calling
	mn10300_get_live_callee_saved_regs.
	(mn10300_initial_offset): Likewise.
	* config/mn10300/mn10300-protos.h (mn10300_get_live_callee_saved_regs):
	Update prototype.
	* config/mn10300/mn10300.md (return_ret): Add argument to
	invocation of mn10300_get_live_callee_saved_regs.

From-SVN: r189892
2012-07-26 14:23:51 +00:00
Steven Bosscher
d38933a003 re PR regression/54084 (Bunch of fails for x86)
PR regression/54084
	* sel-sched-ir.c (cmp_v_in_regset_pool): Clarify logic, fix
	pointer difference check.

From-SVN: r189891
2012-07-26 13:21:21 +00:00
Bill Schmidt
6dd8f4bb61 tree-ssa-loop-ivopts.c (mbc_entry_hash): Remove.
2012-07-26  Bill Schmidt  <wschmidt@linux.ibm.com>

	* tree-ssa-loop-ivopts.c (mbc_entry_hash): Remove.
	(mbc_entry_eq): Likewise.
	(mult_costs): Likewise.
	(cost_tables_exist): Likewise.
	(initialize_costs): Likewise.
	(finalize_costs): Likewise.
	(tree_ssa_iv_optimize_init): Remove call to initialize_costs.
	(add_regs_cost): Remove.
	(multiply_regs_cost): Likewise.
	(add_const_cost): Likewise.
	(extend_or_trunc_reg_cost): Likewise.
	(negate_reg_cost): Likewise.
	(struct mbc_entry): Likewise.
	(multiply_by_const_cost): Likewise.
	(get_address_cost): Change add_regs_cost calls to add_cost lookups;
	change multiply_by_const_cost to mult_by_coeff_cost.
	(force_expr_to_var_cost): Likewise.
	(difference_cost): Change multiply_by_const_cost to mult_by_coeff_cost.
	(get_computation_cost_at): Change add_regs_cost calls to add_cost
	lookups; change multiply_by_const_cost to mult_by_coeff_cost.
	(determine_iv_cost): Change add_regs_cost calls to add_cost lookups.
	(tree_ssa_iv_optimize_finalize): Remove call to finalize_costs.
	* tree-ssa-address.c (expmed.h): New #include.
	(most_expensive_mult_to_index): Change multiply_by_const_cost to
	mult_by_coeff_cost.
	* gimple-ssa-strength-reduction.c (expmed.h): New #include.
	(stmt_cost): Change to use mult_by_coeff_cost, mul_cost, add_cost,
	neg_cost, and convert_cost instead of IVOPTS interfaces.
	(execute_strength_reduction): Remove calls to initialize_costs and
	finalize_costs.
	* expmed.c (struct init_expmed_rtl): Add convert rtx_def.
	(init_expmed_one_mode): Initialize convert rtx_def; initialize
	x_convert_cost for related modes.
	(mult_by_coeff_cost): New function.
	* expmed.h (NUM_MODE_INT): New #define.
	(struct target_expmed): Add x_convert_cost matrix.
	(set_convert_cost): New inline function.
	(convert_cost): Likewise.
	(mult_by_coeff_cost): New extern decl.
	* tree-flow.h (initialize_costs): Remove decl.
	(finalize_costs): Likewise.
	(multiply_by_const_cost): Likewise.
	(add_regs_cost): Likewise.
	(multiply_regs_cost): Likewise.
	(add_const_cost): Likewise.
	(extend_or_trunc_reg_cost): Likewise.
	(negate_reg_cost): Likewise.
	* Makefile.in (gimple-ssa-strength-reduction.o): Update dependencies.
	(tree-ssa-address.o): Update dependencies.

From-SVN: r189890
2012-07-26 13:10:04 +00:00
Steven Bosscher
0263463dd1 bitmap.h: Add explanation of sparse set as linked-list bitmap.
* bitmap.h: Add explanation of sparse set as linked-list bitmap.
	* sbitmap.h: Add explanation about non-sparse sets as simple bitmap.
	(TEST_BIT): Make a static inline function for stronger type checking.
	(SET_BIT): Don't handle sbitmaps with popcount.
	(RESET_BIT): Likewise.
	(SET_BIT_WITH_POPCOUNT): New, like SET_BIT but with popcount.
	(RESET_BIT_WITH_POPCOUNT): New, like RESET_BIT but with popcount.
	* ebitmap.c (ebitmap_clear_bit): Use SET_BIT_WITH_POPCOUNT and
	RESET_BIT_WITH_POPCOUNT on wordmask bitmaps.
	(ebitmap_set_bit, ebitmap_and_into, ebitmap_and, ebitmap_ior_into,
	ebitmap_and_compl_into, ebitmap_and_compl): Likewise.
	* sparseset.h: Add explanation of sparse set representation.

From-SVN: r189888
2012-07-26 12:02:54 +00:00
Tobias Burnus
6b4496dbc3 contiguous_1.f90: Update dg-error.
2012-07-26  Tobias Burnus  <burnus@net-b.de>

        * gfortran.dg/contiguous_1.f90: Update dg-error.
        * gfortran.dg/proc_ptr_32.f90: Ditto.

From-SVN: r189887
2012-07-26 13:49:32 +02:00
Richard Guenther
2f33158ffb re PR tree-optimization/54098 (ICE on valid code)
2012-07-26  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/54098
	* tree-vrp.c (vrp_visit_phi_node): Iterate once more if the
	original range was UNDEFINED.

	* gcc.dg/torture/pr54098.c: New testcase.

From-SVN: r189885
2012-07-26 10:25:15 +00:00
Ramana Radhakrishnan
da7d74c253 neon.ml (ops): Fix regexp for vld1Q_dups64 and vld1Q_dupu64 tests.
2012-07-26  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>

	* config/arm/neon.ml (ops): Fix regexp for vld1Q_dups64 and
	vld1Q_dupu64 tests.

2012-07-26  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>

	* gcc.target/arm/neon/vld1Q_dupu64.c: Regenerate.
	* gcc.target/arm/neon/vld1Q_dups64.c: Likewise.

From-SVN: r189884
2012-07-26 09:37:38 +00:00
Mikael Morin
b63b1f8626 re PR fortran/44354 (implied do loop with its own variable name as upper bound)
fortran/
	PR fortran/44354
	* trans-array.c (gfc_trans_array_constructor_value):
	Evaluate the iteration bounds before the inner variable shadows
	the outer.

testsuite/
	PR fortran/44354
	* gfortran.dg/array_constructor_39.f90: New test.

From-SVN: r189883
2012-07-26 08:53:56 +00:00
Mikael Morin
ca27d5aebd re PR fortran/44354 (implied do loop with its own variable name as upper bound)
fortran/
	PR fortran/44354
	* array.c (sought_symbol): New variable.
	(expr_is_sought_symbol_ref, find_symbol_in_expr): New functions.
	(resolve_array_list): Check for references to the induction
	variable in the iteration bounds and issue a diagnostic if some
	are found.

testsuite/
	PR fortran/44354
	* gfortran.dg/array_constructor_38.f90: New test.

From-SVN: r189882
2012-07-26 08:47:33 +00:00
Alessandro Fanfarillo
b573c9d6f4 module.c (mio_array_spec): Don't read as->lower for assumed-rank arrays.
2012-07-26  Alessandro Fanfarillo  <fanfarillo.gcc@gmail.com>
            Tobias Burnus  <burnus@net-b.de>

        * module.c (mio_array_spec): Don't read as->lower for
        assumed-rank arrays.


Co-Authored-By: Tobias Burnus <burnus@net-b.de>

From-SVN: r189881
2012-07-26 10:35:55 +02:00
Ian Lance Taylor
1fae9801e4 runtime, runtime/pprof: Fix runtime/pprof test to pass, enable it.
From-SVN: r189878
2012-07-26 01:57:04 +00:00
Oleg Endo
f34ee0b290 re PR target/51244 ([SH] Inefficient conditional branch and code around T bit)
PR target/51244
	* config/sh/sh.opt (mzdcbranch): New option.
	* doc/invoke.texi: Document it.
	* config/sh/sh.md (negsi_cond): Use TARGET_ZDCBRANCH as condition
	instead of TARGET_HARD_SH4.
	* config/sh/sh.c (sh_option_override): Set TARGET_ZDCBRANCH as default
	for TARGET_HARD_SH4.

From-SVN: r189877
2012-07-26 00:19:58 +00:00
GCC Administrator
3b29b58c1b Daily bump.
From-SVN: r189876
2012-07-26 00:18:19 +00:00
Oleg Endo
f2962e2dc9 Fix ChangeLog formatting.
From-SVN: r189873
2012-07-25 23:06:21 +00:00
Oleg Endo
d8a48c211e re PR target/54089 ([SH] Refactor shift patterns)
PR target/54089
	* config/sh/predicates.md (shift_count_operand): Handle not-SHMEDIA
	case.
	(p27_shift_count_operand, not_p27_shift_count_operand): New predicates.
	* config/sh/sh.md (ashlsi3): Remove parallel and T_REG clobber
	from expander.  Do not emit shift insn for not-SHMEDIA case.
	(ashlsi3_std): Replace with ...
	(ashlsi3_k, ashlsi3_d): ... these new insns.
	* config/sh/sh.c (gen_ashift): Make static.  Add sanity checks.
	Emit ashlsi3_k insn instead of ashlsi3_std in ASHIFT case.
	(gen_ashift_hi): Make static.
	* config/sh/sh-protos.h (gen_ashift, gen_ashift_hi): Remove forward
	declaration.

From-SVN: r189872
2012-07-25 23:03:06 +00:00
Janis Johnson
1acc33406f * g++.dg/cpp0x/nullptr21.c: Remove printfs, make self-checking.
From-SVN: r189870
2012-07-25 22:09:28 +00:00
Bharathi Seshadri
b0c724c227 Pass -be8 by default for armv7-a when configured big-endian.
config/arm/bpabi.h (BE8_LINK_SPEC): Set according to
TARGET_BIG_ENDIAN_DEFAULT.

Co-Authored-By: Jim Wilson <jimwilso@cisco.com>

From-SVN: r189867
2012-07-25 13:13:46 -07:00
Eric Botcazou
f778c049cd gimple-low.c (lower_try_catch): New function.
* gimple-low.c (lower_try_catch): New function.
	(lower_stmt) <GIMPLE_TRY>: Use it to lower GIMPLE_TRY_CATCH.
	<GIMPLE_CATCH>: Delete.
	<GIMPLE_EH_FILTER>: Likewise.

From-SVN: r189865
2012-07-25 19:57:51 +00:00
Eric Botcazou
ea814c6675 expr.c (expand_expr_real_1): Do not expand operand #1 and #2 of BIT_FIELD_REF for ignored results.
* expr.c (expand_expr_real_1): Do not expand operand #1 and #2
	of BIT_FIELD_REF for ignored results.
	* fold-const.c (fold_ternary_loc) <BIT_FIELD_REF>: Check that the
	CONSTRUCTOR has vector type before using vector accessors on it.
	* gimplify.c (gimplify_compound_lval): Do not gimplify operand #1 and
	#2 of BIT_FIELD_REF.
	(gimplify_expr) <BIT_FIELD_REF>: Likewise.
	* tree-nested.c (convert_nonlocal_reference_op) <BIT_FIELD_REF>: Do
	not process operand #1 and #2.
	(convert_local_reference_op): Likewise.
	* tree-ssa-pre.c (create_component_ref_by_pieces_1): Remove superfluous
	breaks throughout.
	<BIT_FIELD_REF>: Reuse operand #1 and #2 directly.
	* tree.c (stabilize_reference) <BIT_FIELD_REF>: Do not stabilize
	operand #1 and #2.
	(UPDATE_FLAGS): Do not consider operand #2 of BIT_FIELD_REF.
	(build6_stat): Delete.
	* tree.h (build6_stat, build6, build6_stat_loc, build6_loc): Likewise.
ada/
	* gcc-interface/utils2.c (gnat_stabilize_reference) <BIT_FIELD_REF>: Do
	not stabilize operand #1 and #2.

From-SVN: r189864
2012-07-25 19:43:15 +00:00
François Dumont
2514d7f1ff re PR libstdc++/54075 ([4.7.1] unordered_map insert still slower than 4.6.2)
2012-07-25  François Dumont  <fdumont@gcc.gnu.org>

	PR libstdc++/54075
	* include/bits/hashtable.h
	(_Hashtable<>::_Hashtable(_InputIterator, _InputIterator,
	size_type, ...): Remove std::max usage to guarantee that hashtable
	state is consistent with hash policy state.
	(_Hashtable<>::rehash): Likewise. Set _M_prev_resize to 0 to avoid
	the hashtable to be shrinking on next insertion.
	* testsuite/23_containers/unordered_set/modifiers/reserve.cc: New.
	* testsuite/23_containers/unordered_multiset/modifiers/reserve.cc: New.
	* testsuite/23_containers/unordered_map/modifiers/reserve.cc: New.
	* testsuite/23_containers/unordered_multimap/modifiers/reserve.cc: New.

From-SVN: r189863
2012-07-25 19:32:48 +00:00
Marc Glisse
933a2c39fd re PR tree-optimization/30318 (VRP does not create ANTI_RANGEs on overflow)
2012-07-25 Marc Glisse <marc.glisse@inria.fr>

	PR tree-optimization/30318
	* tree-vrp.c (extract_range_from_binary_expr_1) [PLUS_EXPR]:
	Handle __int128.
	[MINUS_EXPR]: Merge with PLUS_EXPR.

From-SVN: r189861
2012-07-25 18:26:12 +00:00