gcc.git
12 years agore PR libstdc++/54075 ([4.7.1] unordered_map insert still slower than 4.6.2)
François Dumont [Sun, 29 Jul 2012 16:44:18 +0000 (16:44 +0000)]
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

12 years agoDaily bump.
GCC Administrator [Sun, 29 Jul 2012 00:18:11 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r189929

12 years agoi386.c (ix86_avoid_lea_for_addr): Handle zero-extended addresses.
Uros Bizjak [Sat, 28 Jul 2012 09:16:52 +0000 (11:16 +0200)]
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

12 years agoDaily bump.
GCC Administrator [Sat, 28 Jul 2012 00:18:39 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r189924

12 years agore PR target/54093 (ICE in in extract_insn, at recog.c:2129)
Alan Modra [Sat, 28 Jul 2012 00:04:10 +0000 (09:34 +0930)]
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

12 years agoexpmed.h (alg_hash, [...]): Delete macro definitions and re-purpose as inline functions.
Nathan Froyd [Fri, 27 Jul 2012 21:01:16 +0000 (21:01 +0000)]
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

12 years agoInvoke GCC_DRIVER_HOST_INITIALIZATION after diagnostic_initialize
Ryan Mansfield [Fri, 27 Jul 2012 18:17:00 +0000 (18:17 +0000)]
Invoke GCC_DRIVER_HOST_INITIALIZATION after diagnostic_initialize

* gcc.c (main): Move GCC_DRIVER_HOST_INITIALIZATION after
diagnostic_initialize.

From-SVN: r189918

12 years agore PR target/54089 ([SH] Refactor shift patterns)
Oleg Endo [Fri, 27 Jul 2012 17:36:20 +0000 (17:36 +0000)]
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

12 years agosystem-darwin-ppc64.ads: Add Support_Atomic_Primitives, set to True.
Iain Sandoe [Fri, 27 Jul 2012 15:23:37 +0000 (15:23 +0000)]
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

12 years agotree-cfg.c (gimple_can_merge_blocks_p): Do more fine-grained check whether SSA form...
Richard Guenther [Fri, 27 Jul 2012 13:57:38 +0000 (13:57 +0000)]
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

12 years agoconstraints.md: Delete "q" constraint.
Segher Boessenkool [Fri, 27 Jul 2012 12:51:45 +0000 (14:51 +0200)]
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

12 years agotree-into-ssa.c (def_blocks_p): New typedef.
Richard Guenther [Fri, 27 Jul 2012 12:31:49 +0000 (12:31 +0000)]
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

12 years agoinvoke.texi (min-virtual-mappings, [...]): Remove param documentation.
Richard Guenther [Fri, 27 Jul 2012 12:31:06 +0000 (12:31 +0000)]
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

12 years agocgraphunit.c: Rename varpool_finalize_variable to varpool_finalize_decl in a comment.
Marek Polacek [Fri, 27 Jul 2012 12:09:30 +0000 (12:09 +0000)]
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

12 years agobind_c_array_params_2.f90: Add "-mno-explicit-relocs" for alpha*-*-* targets.
Uros Bizjak [Fri, 27 Jul 2012 11:48:19 +0000 (13:48 +0200)]
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

12 years agors6000-common.c (rs6000_handle_option): Delete code for -mno-power, -mpower, and...
Segher Boessenkool [Fri, 27 Jul 2012 11:44:37 +0000 (13:44 +0200)]
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

12 years ago601.md: New file.
Segher Boessenkool [Fri, 27 Jul 2012 11:32:31 +0000 (13:32 +0200)]
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

12 years ago20020201-1.c: Remove declarations for exit, abort, rand, srand.
Anna Tikhonova [Fri, 27 Jul 2012 09:54:30 +0000 (09:54 +0000)]
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

12 years agoDaily bump.
GCC Administrator [Fri, 27 Jul 2012 00:18:31 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r189904

12 years agopex-win32.c (pex_win32_exec_child): Only close original file descriptors if child...
Kazu Hirata [Thu, 26 Jul 2012 23:18:47 +0000 (23:18 +0000)]
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

12 years ago* gcc.dg/pr45259.c: Only -fpic depends on fpic support.
Janis Johnson [Thu, 26 Jul 2012 22:23:33 +0000 (22:23 +0000)]
* gcc.dg/pr45259.c: Only -fpic depends on fpic support.

From-SVN: r189899

12 years agoHot/cold attributes for labels.
Richard Henderson [Thu, 26 Jul 2012 21:31:40 +0000 (14:31 -0700)]
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

12 years agocse.c (find_comparison_args): Check for cycles of any length.
Andrew Jenner [Thu, 26 Jul 2012 20:51:24 +0000 (20:51 +0000)]
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

12 years agoFix an english issue.
François Dumont [Thu, 26 Jul 2012 20:41:23 +0000 (20:41 +0000)]
Fix an english issue.

From-SVN: r189894

12 years agoDo not use 'with ... as ...' in validate_failures.py
Diego Novillo [Thu, 26 Jul 2012 15:31:00 +0000 (11:31 -0400)]
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

12 years agomn10300.c (REG_SAVE_BYTES): Delete.
Nick Clifton [Thu, 26 Jul 2012 14:23:51 +0000 (14:23 +0000)]
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

12 years agore PR regression/54084 (Bunch of fails for x86)
Steven Bosscher [Thu, 26 Jul 2012 13:21:21 +0000 (13:21 +0000)]
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

12 years agotree-ssa-loop-ivopts.c (mbc_entry_hash): Remove.
Bill Schmidt [Thu, 26 Jul 2012 13:10:04 +0000 (13:10 +0000)]
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

12 years agobitmap.h: Add explanation of sparse set as linked-list bitmap.
Steven Bosscher [Thu, 26 Jul 2012 12:02:54 +0000 (12:02 +0000)]
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

12 years agocontiguous_1.f90: Update dg-error.
Tobias Burnus [Thu, 26 Jul 2012 11:49:32 +0000 (13:49 +0200)]
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

12 years agore PR tree-optimization/54098 (ICE on valid code)
Richard Guenther [Thu, 26 Jul 2012 10:25:15 +0000 (10:25 +0000)]
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

12 years agoneon.ml (ops): Fix regexp for vld1Q_dups64 and vld1Q_dupu64 tests.
Ramana Radhakrishnan [Thu, 26 Jul 2012 09:37:38 +0000 (09:37 +0000)]
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

12 years agore PR fortran/44354 (implied do loop with its own variable name as upper bound)
Mikael Morin [Thu, 26 Jul 2012 08:53:56 +0000 (08:53 +0000)]
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

12 years agore PR fortran/44354 (implied do loop with its own variable name as upper bound)
Mikael Morin [Thu, 26 Jul 2012 08:47:33 +0000 (08:47 +0000)]
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

12 years agomodule.c (mio_array_spec): Don't read as->lower for assumed-rank arrays.
Alessandro Fanfarillo [Thu, 26 Jul 2012 08:35:55 +0000 (02:35 -0600)]
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

12 years agoruntime, runtime/pprof: Fix runtime/pprof test to pass, enable it.
Ian Lance Taylor [Thu, 26 Jul 2012 01:57:04 +0000 (01:57 +0000)]
runtime, runtime/pprof: Fix runtime/pprof test to pass, enable it.

From-SVN: r189878

12 years agore PR target/51244 ([SH] Inefficient conditional branch and code around T bit)
Oleg Endo [Thu, 26 Jul 2012 00:19:58 +0000 (00:19 +0000)]
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

12 years agoDaily bump.
GCC Administrator [Thu, 26 Jul 2012 00:18:19 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r189876

12 years agoFix ChangeLog formatting.
Oleg Endo [Wed, 25 Jul 2012 23:06:21 +0000 (23:06 +0000)]
Fix ChangeLog formatting.

From-SVN: r189873

12 years agore PR target/54089 ([SH] Refactor shift patterns)
Oleg Endo [Wed, 25 Jul 2012 23:03:06 +0000 (23:03 +0000)]
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

12 years ago* g++.dg/cpp0x/nullptr21.c: Remove printfs, make self-checking.
Janis Johnson [Wed, 25 Jul 2012 22:09:28 +0000 (22:09 +0000)]
* g++.dg/cpp0x/nullptr21.c: Remove printfs, make self-checking.

From-SVN: r189870

12 years agoPass -be8 by default for armv7-a when configured big-endian.
Bharathi Seshadri [Wed, 25 Jul 2012 20:13:46 +0000 (20:13 +0000)]
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

12 years agogimple-low.c (lower_try_catch): New function.
Eric Botcazou [Wed, 25 Jul 2012 19:57:51 +0000 (19:57 +0000)]
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

12 years agoexpr.c (expand_expr_real_1): Do not expand operand #1 and #2 of BIT_FIELD_REF for...
Eric Botcazou [Wed, 25 Jul 2012 19:43:15 +0000 (19:43 +0000)]
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

12 years agore PR libstdc++/54075 ([4.7.1] unordered_map insert still slower than 4.6.2)
François Dumont [Wed, 25 Jul 2012 19:32:48 +0000 (19:32 +0000)]
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

12 years agore PR tree-optimization/30318 (VRP does not create ANTI_RANGEs on overflow)
Marc Glisse [Wed, 25 Jul 2012 18:26:12 +0000 (20:26 +0200)]
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

12 years agore PR target/53633 (__attribute__((naked)) should disable -Wreturn-type)
Sandra Loosemore [Wed, 25 Jul 2012 18:08:06 +0000 (14:08 -0400)]
re PR target/53633 (__attribute__((naked)) should disable -Wreturn-type)

2012-07-25  Sandra Loosemore  <sandra@codesourcery.com>
    Paul Brook  <paul@codesourcery.com>

PR target/53633

gcc/
* target.def (warn_func_return): New hook.
* doc/tm.texi.in (TARGET_WARN_FUNC_RETURN): New hook.
* doc/tm.texi: Regenerate.
* doc/sourcebuild.texi (Effective-Target Keywords): Document
naked_functions.
* ipa-pure-const.c (warn_function_noreturn): Check
targetm.warn_func_return.
* tree-cfg.c (execute_warn_function_return): Likewise.
* config/spu/spu.c (spu_warn_func_return): New.
(TARGET_WARN_FUNC_RETURN): Define.
* config/rx/rx.c (rx_warn_func_return): New.
(TARGET_WARN_FUNC_RETURN): Define.
* config/avr/avr.c (avr_warn_func_return): New.
(TARGET_WARN_FUNC_RETURN): Define.
* config/arm/arm.c (arm_warn_func_return): New.
(TARGET_WARN_FUNC_RETURN): Define.
* config/mcore/mcore.c (mcore_warn_func_return): New.
(TARGET_WARN_FUNC_RETURN): Define.
(saved_warn_return_type, saved_warn_return_type_count): Remove.
(mcore_reorg, mcore_handle_naked_attribute): Remove warn_return hack.

gcc/cp/
* decl.c (finish_function): Check targetm.warn_func_return.

gcc/testsuite/
* lib/target-suports.exp (check_effective_target_naked_functions):
New.
* c-c++-common/pr53633.c: New test.

Co-Authored-By: Paul Brook <paul@codesourcery.com>
From-SVN: r189860

12 years agotrans-types.c (gfc_real16_is_float128): Fix spelling in a comment.
Tobias Burnus [Wed, 25 Jul 2012 18:04:25 +0000 (20:04 +0200)]
trans-types.c (gfc_real16_is_float128): Fix spelling in a comment.

2012-07-25  Tobias Burnus  <burnus@net-b.de>

        * trans-types.c (gfc_real16_is_float128): Fix spelling
        in a comment.
        * trans.h (struct gfc_array_info): Ditto.
        * gfortran.h (gfc_expr): Ditto.
        * simplify.c (gfc_count): Ditto.
        * trans-expr.c (gfc_copy_class_to_class,
        conv_parent_component_references,
        gfc_trans_pointer_assignment): Ditto.
        * expr.c (check_pointer_assign): Fix diagnostic spelling.
        * interface.c (compare_parameter): Ditto.
        * parse.c (use_modules, parse_associate): Ditto.
        * decl.c (match_char_length): Fix spelling of the
        an function argument.

From-SVN: r189859

12 years agolist_read.c (list_formatted_read_scalar): Fix copying real value back to temporary.
Andreas Schwab [Wed, 25 Jul 2012 16:40:26 +0000 (16:40 +0000)]
list_read.c (list_formatted_read_scalar): Fix copying real value back to temporary.

* io/list_read.c (list_formatted_read_scalar): Fix copying real
value back to temporary.

From-SVN: r189856

12 years agoSplit out do_assembler_dialects.
Siddhesh Poyarekar [Wed, 25 Jul 2012 16:01:17 +0000 (16:01 +0000)]
Split out do_assembler_dialects.

* final.c [ASSEMBLER_DIALECT](do_assembler_dialects): New
function to implement assembler dialects.
(output_asm_insn): Use do_assembler_dialects.
(asm_fprintf): Likewise.

* gcc.target/i386/asm-dialect-1.c: New test case.

From-SVN: r189854

12 years agore PR bootstrap/54092 (Bootstrap fails while building Ada at stage 1)
Richard Henderson [Wed, 25 Jul 2012 15:10:44 +0000 (08:10 -0700)]
re PR bootstrap/54092 (Bootstrap fails while building Ada at stage 1)

PR bootstrap/54092

        * libfuncs.h: Don't include optabs.h.
        (struct libfunc_entry): Use "int" for op, mode1, mode2 members.
        * optabs.c (hash_libfunc): Don't cast members to int.
        * Makefile.in (LIBFUNCS_H): Don't include OPTABS_H.

From-SVN: r189853

12 years agore PR c++/54086 (GCC should allow constexpr and const together)
Jason Merrill [Wed, 25 Jul 2012 14:57:06 +0000 (10:57 -0400)]
re PR c++/54086 (GCC should allow constexpr and const together)

PR c++/54086
* decl.c (grokdeclarator): Allow const and constexpr together.

From-SVN: r189852

12 years agore PR c++/54020 ([c++0x] incorrectly accepted constexpr functions)
Jason Merrill [Wed, 25 Jul 2012 14:56:57 +0000 (10:56 -0400)]
re PR c++/54020 ([c++0x] incorrectly accepted constexpr functions)

PR c++/54020
* semantics.c (potential_constant_expression_1) [COND_EXPR]: Call
maybe_constant_value.

From-SVN: r189851

12 years agocp-tree.h (tsubst_flags): Remove tf_no_access_control.
Jason Merrill [Wed, 25 Jul 2012 14:56:50 +0000 (10:56 -0400)]
cp-tree.h (tsubst_flags): Remove tf_no_access_control.

* cp-tree.h (tsubst_flags): Remove tf_no_access_control.
* call.c (standard_conversion): Don't set it.
* class.c (resolve_address_of_overloaded_function): Don't check it.
* decl.c (check_default_argument): Call
perform_implicit_conversion_flags.

From-SVN: r189850

12 years ago* pt.c (print_candidates_1): Use inform instead of error.
Jason Merrill [Wed, 25 Jul 2012 14:56:41 +0000 (10:56 -0400)]
* pt.c (print_candidates_1): Use inform instead of error.

From-SVN: r189849

12 years agoFix typo in comment in basic-block.h
Dodji Seketeli [Wed, 25 Jul 2012 13:08:14 +0000 (13:08 +0000)]
Fix typo in comment in basic-block.h

gcc/

* basic-block.c: Fix typo in comment.

From-SVN: r189845

12 years agoChangelog entry:
Kirill Yukhin [Wed, 25 Jul 2012 13:01:35 +0000 (13:01 +0000)]
Changelog entry:

2012-07-25  Kirill Yukhin  <kirill.yukhin@intel.com>
            Michael Zolotukhin  <michael.v.zolotukhin@intel.com>

        * common/config/i386/i386-common.c (OPTION_MASK_ISA_PRFCHW_SET): New.
        (OPTION_MASK_ISA_PRFCHW_UNSET): Likewise.
        (ix86_handle_option): Handle mprfchw option.
        * config.gcc (i[34567]86-*-*): Add prfchwintrin.h.
        (x86_64-*-*): Likewise.
        * config/i386/prfchwintrin.h: New header.
        * config/i386/cpuid.h (bit_PRFCHW): New.
        (bit_BMI): Formatting fix.
        (bit_HLE): Likewise.
        (bit_RTM): Likewise.
        * config/i386/driver-i386.c (host_detect_local_cpu): Detect
        PREFETCHW support.
        * config/i386/i386-c.c: Define __PRFCHW__ if needed.
        * config/i386/i386.c (ix86_target_string): Define
        -mprfchw option. Formatting fixes.
        (PTA_HLE): Formatting fix.
        (PTA_PRFCHW): New.
        (ix86_option_override_internal): Handle new option.
        (ix86_valid_target_attribute_inner_p): Add OPT_mprfchw.
        * config/i386/i386.h (TARGET_PRFCHW): New.
        * config/i386/i386.md (prefetch): Enable for TARGET_PRFCHW.
        * config/i386/i386.opt (mprfchw): New.
        * config/i386/mm3dnow.h: Move _m_prefetchw from here to
        prfchwintrin.h.
        * config/i386/x86intrin.h: Include prfchwintrin.h.

testsuite/Changelog entry:
2012-07-24  Kirill Yukhin  <kirill.yukhin@intel.com>
            Michael Zolotukhin  <michael.v.zolotukhin@intel.com>

        * gcc.target/i386/prefetchw-1.c: New.
        * gcc.target/i386/sse-12.c: Add -mprfchw.
        * gcc.target/i386/sse-13.c: Ditto.
        * gcc.target/i386/sse-14.c: Ditto.
        * g++.dg/other/i386-2.C: Ditto.
        * g++.dg/other/i386-3.C: Ditto.

Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>
From-SVN: r189844

12 years agoi386.md (stack_protect_set): Disable the pattern for Android since Android libc ...
Sergey Melnikov [Wed, 25 Jul 2012 10:33:20 +0000 (10:33 +0000)]
i386.md (stack_protect_set): Disable the pattern for Android since Android libc (bionic) does not provide...

2012-07-25 Sergey Melnikov <sergey.melnikov@intel.com>

        * config/i386/i386.md (stack_protect_set): Disable the pattern
        for Android since Android libc (bionic) does not provide random
        value for stack protection guard at gs:0x14. Guard value
        will be provided from external symbol (default implementation).
        (stack_protect_set_<mode>): Likewise.
        (stack_protect_test): Likewise.
        (stack_protect_test_<mode>): Likewise.
        * gcc/defaults.h: Define macro TARGET_HAS_BIONIC to 0 - target does
        not have Bionic by default
        * config/linux.h: Redefine macro TARGET_HAS_BIONIC to (OPTION_BIONIC)
        Macro OPTION_BIONIC is defined in this file and provides Bionic
        accessibility status

From-SVN: r189840

12 years ago* gimple-pretty-print.c (gimple_dump_bb_buff): Call pp_flush.
Steven Bosscher [Wed, 25 Jul 2012 08:56:47 +0000 (08:56 +0000)]
* gimple-pretty-print.c (gimple_dump_bb_buff): Call pp_flush.

From-SVN: r189839

12 years agoAMD btver2 enablement
Venkataramanan Kumar [Wed, 25 Jul 2012 08:50:01 +0000 (08:50 +0000)]
AMD btver2 enablement

From-SVN: r189838

12 years agotm.texi: Regenerate.
Bill Schmidt [Wed, 25 Jul 2012 03:07:08 +0000 (03:07 +0000)]
tm.texi: Regenerate.

2012-07-24  Bill Schmidt  <wschmidt@linux.ibm.com>

* doc/tm.texi: Regenerate.
* targhooks.c (default_init_cost): Add prologue and epilogue costs.
(default_add_stmt_cost): Likewise; also handle NULL stmt_info.
(default_finish_cost): Add prologue and epilogue costs.
* targhooks.h (default_add_stmt_cost): Change parameter list.
(default_finish_cost): Likewise.
* target.def (init_cost): Change documentation string.
(add_stmt_cost): Change documentation string and parameter list.
(finish_cost): Likewise.
* target.h (vect_cost_model_location): New enum.
* tree-vectorizer.h (struct _slp_tree): Remove cost substruct.
(struct _slp_instance): Remove cost substruct; rename stmt_cost_vec
to body_cost_vec.
(SLP_INSTANCE_OUTSIDE_OF_LOOP_COST): Remove.
(SLP_INSTANCE_STMT_COST_VEC): Rename to SLP_INSTANCE_BODY_COST_VEC.
(SLP_TREE_OUTSIDE_OF_LOOP_COST): Remove.
(struct _vect_peel_extended_info): Rename stmt_cost_vec to
body_cost_vec.
(struct _stmt_vec_info): Remove cost substruct.
(STMT_VINFO_OUTSIDE_OF_LOOP_COST): Remove.
(stmt_vinfo_set_outside_of_loop_cost): Remove.
(builtin_vectorization_cost): New function.
(vect_get_stmt_cost): Change to use builtin_vectorization_cost.
(add_stmt_cost): Change parameter list.
(finish_cost): Likewise.
(vect_model_simple_cost): Likewise.
(vect_model_store_cost): Likewise.
(vect_model_load_cost): Likewise.
(record_stmt_cost): Likewise.
(vect_get_load_cost): Likewise.
(vect_get_known_peeling_cost): Likewise.
* tree-vect-loop.c (vect_get_known_peeling_cost): Change parameter
list; call record_stmt_cost for prologue and epilogue costs.
(vect_estimate_min_profitable_iters): Call add_stmt_cost for
prologue and epilogue costs; remove computation of vec_outside_cost;
return vec_prologue_cost and vec_epilogue_cost from finish_cost.
(vect_model_reduction_cost): Revise call to add_stmt_cost for body
costs; call add_stmt_cost for prologue and epilogue costs.
(vect_model_induction_cost): Revise call to add_stmt_cost for body
costs; call add_stmt_cost for prologue costs.
* tree-vect-data-refs.c (vect_get_data_access_cost): Change parameter
list for function and arguments for calls to vect_get_load_cost and
vect_get_store_cost.
(vect_peeling_hash_get_lowest_cost): Change argument list for calls to
vect_get_data_access_cost and vect_get_known_peeling_cost; use
temporary vectors prologue_cost_vec and epilogue_cost_vec for the
latter call and discard their results; rename stmt_cost_vec to
body_cost_vec; correct possible storage leak for body_cost_vec.
(vect_peeling_hash_choose_best_peeling): Rename stmt_cost_vec to
body_cost_vec.
(vect_enhance_data_refs_alignment): Rename stmt_cost_vec to
body_cost_vec; add extra dummy parameter on calls to
vect_get_data_access_cost; tolerate null si->stmt; add vect_body to
argument list on call to add_stmt_cost.
* tree-vect-stmts.c (record_stmt_cost): Change parameter list;
rename stmt_cost_vec to body_cost_vec; tolerate null stmt_info; call
builtin_vectorization_cost; add "where" parameter on call to
add_stmt_cost.
(vect_model_simple_cost): Change parameter list; call record_stmt_cost
for prologue costs; remove call to stmt_vinfo_set_outside_of_loop_cost;
rename stmt_cost_vec to body_cost_vec.
(vect_model_promotion_demotion_cost): Add vect_body argument to call
to add_stmt_cost; call add_stmt_cost for prologue costs; remove call
to stmt_vinfo_set_outside_of_loop_cost.
(vect_model_store_cost): Change parameter list; call record_stmt_cost
for prologue costs; add vect_body argument to call to record_stmt_cost;
rename stmt_cost_vec to body_cost_vec; remove call to
stmt_vinfo_set_outside_of_loop_cost.
(vect_get_store_cost): Rename stmt_cost_vec to body_cost_vec; add
vect_body argument to calls to record_stmt_cost.
(vect_model_load_cost): Change parameter list; rename stmt_cost_vec to
body_cost_vec; add vect_body argument to calls to record_stmt_cost;
remove call to stmt_vinfo_set_outside_of_loop_cost.
(vect_get_load_cost): Change parameter list; rename stmt_cost_vec to
body_cost_vec; add vect_body argument to calls to record_stmt_cost;
call record_stmt_cost for prologue costs.
(vectorizable_store): Change argument list for call to
vect_model_store_cost.
(vectorizable_load): Change argument list for call to
vect_model_load_cost.
(new_stmt_vec_info): Remove assignment to
STMT_VINFO_OUTSIDE_OF_LOOP_COST.
* config/spu/spu.c (spu_init_cost): Add prologue and epilogue costs.
(spu_add_stmt_cost): Likewise; also handle NULL stmt_info.
(spu_finish_cost): Add prologue and epilogue costs.
* config/i386/i386.c (i386_init_cost): Add prologue and epilogue costs.
(i386_add_stmt_cost): Likewise; also handle NULL stmt_info.
(i386_finish_cost): Add prologue and epilogue costs.
* config/rs6000/rs6000.c (rs6000_init_cost): Add prologue and epilogue
costs.
(rs6000_add_stmt_cost): Likewise; also handle NULL stmt_info.
(rs6000_finish_cost): Add prologue and epilogue costs.
* tree-vect-slp.c (vect_free_slp_instance): Rename
SLP_INSTANCE_STMT_COST_VEC to SLP_INSTANCE_BODY_COST_VEC.
(vect_create_new_slp_node): Remove assignment to
SLP_TREE_OUTSIDE_OF_LOOP_COST.
(vect_get_and_check_slp_defs): Change parameter list; change argument
lists to calls to vect_model_store_cost and vect_model_simple_cost.
(vect_build_slp_tree): Change parameter list; change argument lists
to calls to vect_model_load_cost, vect_get_and_check_slp_defs, and
recursive self-calls; remove setting of outside_cost from
SLP_TREE_OUTSIDE_OF_LOOP_COST; add vect_body argument to call to
record_stmt_cost.
(vect_analyze_slp_instance): Rename stmt_cost_vec to body_cost_vec;
rename SLP_INSTANCE_STMT_COST_VEC to SLP_INSTANCE_BODY_COST_VEC;
remove assignment to SLP_INSTANCE_OUTSIDE_OF_LOOP_COST; record SLP
prologue costs.
(vect_bb_vectorization_profitable_p): Rename stmt_cost_vec to
body_cost_vec; handle null ci->stmt; add vect_body argument to call
to add_stmt_cost; simplify calls to targetm.vectorize.
builtin_vectorization_cost; return vec_prologue_cost and
vec_epilogue_cost from finish_cost.
(vect_update_slp_costs_according_to_vf): Rename stmt_cost_vec to
body_cost_vec; add vect_body argument to call to add_stmt_cost.

From-SVN: r189836

12 years agoDaily bump.
GCC Administrator [Wed, 25 Jul 2012 00:17:37 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r189832

12 years agoPurge FIXUNS_TRUNC_LIKE_FIX_TRUNC
Richard Henderson [Tue, 24 Jul 2012 22:25:18 +0000 (15:25 -0700)]
Purge FIXUNS_TRUNC_LIKE_FIX_TRUNC

From-SVN: r189826

12 years agopt.c (convert_template_argument, tsubst): Simplify fourth argument to make_typename_t...
Paolo Carlini [Tue, 24 Jul 2012 21:53:31 +0000 (21:53 +0000)]
pt.c (convert_template_argument, tsubst): Simplify fourth argument to make_typename_type (complain & tf_error -> complain).

2012-07-24  Paolo Carlini  <paolo.carlini@oracle.com>

* pt.c (convert_template_argument, tsubst): Simplify fourth argument
to make_typename_type (complain & tf_error -> complain).

From-SVN: r189825

12 years agoReduce the size of optabs representation
Richard Henderson [Tue, 24 Jul 2012 18:28:15 +0000 (11:28 -0700)]
Reduce the size of optabs representation

From-SVN: r189821

12 years ago* ChangeLog: Fix my recent entry.
Uros Bizjak [Tue, 24 Jul 2012 17:59:25 +0000 (19:59 +0200)]
* ChangeLog: Fix my recent entry.

From-SVN: r189820

12 years agobitmap.c (bitmap_descriptor): Adjust order of parameters to match MEM_STAT_DECL.
Jason Merrill [Tue, 24 Jul 2012 17:53:42 +0000 (13:53 -0400)]
bitmap.c (bitmap_descriptor): Adjust order of parameters to match MEM_STAT_DECL.

* bitmap.c (bitmap_descriptor): Adjust order of parameters to
match MEM_STAT_DECL.
* statistics.h (ALONE_FINAL_MEM_STAT_DECL): Correct typo.

From-SVN: r189819

12 years agoIntroduce and use code_to_optab and optab_to_code functions
Richard Henderson [Tue, 24 Jul 2012 17:36:56 +0000 (10:36 -0700)]
Introduce and use code_to_optab and optab_to_code functions

Removes all the direct uses of op->code so that we can change
the representation of "optab".  The code_to_optab change is
simply for uniformity (and better type checking).

        * optabs.h (struct optab_d): Rename code member to code_.
        (struct convert_optab_h): Likewise.
        (code_to_optab_): Rename from code_to_optab.
        (code_to_optab, optab_to_code): New.
        * dojump.c (do_compare_rtx_and_jump): Use code_to_optab.
        * ifcvt.c (noce_emit_move_insn): Likewise.
        * optabs.c (simplify_expand_binop): Use optab_to_code.
        (expand_simple_binop, shift_optab_p, commutative_optab_p): Likewise.
        (avoid_expensive_constant, expand_binop_directly): Likewise.
        (expand_binop, expand_simple_unop, expand_unop_direct): Likewise.
        (expand_unop, prepare_float_lib_cmp, expand_fixed_convert): Likewise.
        (have_insn_for, debug_optab_libfuncs): Likewise.
        (init_optab, init_optabv, init_convert_optab): Update for optab
        member name change.

From-SVN: r189818

12 years agoTidy some include usage + dependencies
Richard Henderson [Tue, 24 Jul 2012 17:31:01 +0000 (10:31 -0700)]
Tidy some include usage + dependencies

The dwarf2out.c and lto-streamer-in.c files didn't need
libfuncs.h in the first place.  The libfuncs.h file will
grow a use of an optab enumeration and thus will require
including optabs.h.

        * libfuncs.h: Include optabs.h.
        * dwarf2out.c, lto-streamer.in.c: Don't include libfuncs.h.
        * Makefile.in (LIBFUNCS_H): Add OPTABS_H.
        (lto-streamer-in.o, dwarf2out.o): Update deps.

From-SVN: r189817

12 years agoIntroduce and use unknown_optab
Richard Henderson [Tue, 24 Jul 2012 17:28:41 +0000 (10:28 -0700)]
Introduce and use unknown_optab

Prep for a later patch where this becomes an enum value.

        * optabs.h (unknown_optab): New.
        * builtins.c (interclass_mathfn_icode): Use it.
        * dojump.c (do_compare_rtx_and_jump): Likewise.
        * optabs.c (optab_for_tree_code, expand_binop): Likewise.
        * tree-vect-generic.c (add_rshift, expand_vector_divmod): Likewise.
        (expand_vector_operations_1): Likewise.
        * tree-vect-patterns.c (vect_recog_divmod_pattern): Likewise.
        * tree-vect-stmts.c (supportable_narrowing_operation): Likewise.

From-SVN: r189816

12 years ago* lib/gcc-dg.exp (process-message): Don't ignore errors.
Janis Johnson [Tue, 24 Jul 2012 16:55:54 +0000 (16:55 +0000)]
* lib/gcc-dg.exp (process-message): Don't ignore errors.

From-SVN: r189815

12 years ago* config/i386/i386.c: Fix whitespace.
Uros Bizjak [Tue, 24 Jul 2012 16:52:46 +0000 (18:52 +0200)]
* config/i386/i386.c: Fix whitespace.

From-SVN: r189814

12 years ago* alloc-pool.c (create_alloc_pool): Fix ENABLE_CHECKING check.
Steven Bosscher [Tue, 24 Jul 2012 16:37:45 +0000 (16:37 +0000)]
* alloc-pool.c (create_alloc_pool): Fix ENABLE_CHECKING check.

From-SVN: r189812

12 years ago* MAINTAINERS (Write After Approval): Add myself.
Jan-Benedict Glaw [Tue, 24 Jul 2012 13:51:17 +0000 (13:51 +0000)]
* MAINTAINERS (Write After Approval): Add myself.

From-SVN: r189810

12 years agore PR target/54051 (Invalid alignment specifier generated for vld3_lane_* and vld3_du...
Ramana Radhakrishnan [Tue, 24 Jul 2012 12:02:30 +0000 (12:02 +0000)]
re PR target/54051 (Invalid alignment specifier generated for vld3_lane_* and vld3_dup_* intrinsics.)

Fix PR target/54051

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

PR target/54051
* config/arm/arm.c (arm_print_operand_address): Remove superfluous
printing of 0.
* config/arm/neon.md ("neon_vld3_lane<mode>":VD): Remove alignment
specifier.
("neon_vld3_lane<mode>":VMQ): Likewise.
("neon_vld3_dup<mode>":VDX): Likewise.
("neon_vst3_lane<mode>":VD): Likewise.
("neon_vst3_lane<mode>":VMQ): Likewise.

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

PR target/54051
* gcc.target/arm/pr54051.c: New.
* gcc.target/arm/vfp-1.c: Adjust test.

From-SVN: r189808

12 years agoarm.c (arm_get_frame_offsets): Don't use fixed regs for stack alignment padding.
Roland McGrath [Tue, 24 Jul 2012 11:53:14 +0000 (11:53 +0000)]
arm.c (arm_get_frame_offsets): Don't use fixed regs for stack alignment padding.

2012-07-24  Roland McGrath  <mcgrathr@google.com>

* arm.c (arm_get_frame_offsets): Don't use fixed regs for
stack alignment padding.

From-SVN: r189807

12 years agore PR target/53961 (internal compiler error: in memory_address_length, at config...
Uros Bizjak [Tue, 24 Jul 2012 11:37:20 +0000 (13:37 +0200)]
re PR target/53961 (internal compiler error: in memory_address_length, at config/i386/i386.c:23341)

PR target/53961
* config/i386/i386.c (ix86_legitimate_address_p): Move check for
negative constant address for TARET_X32 ...
(ix86_decompose_address): ... here.  Reject constant addresses
that don't satisfy x86_64_immediate_operand predicate.

From-SVN: r189806

12 years agosourcebuild.texi (arm_hf_eabi): Document effective-target check.
Julian Brown [Tue, 24 Jul 2012 11:29:50 +0000 (11:29 +0000)]
sourcebuild.texi (arm_hf_eabi): Document effective-target check.

    gcc/
    * doc/sourcebuild.texi (arm_hf_eabi): Document effective-target
    check.

    gcc/testsuite/
    * lib/target-supports.exp (check_effective_target_arm_hf_eabi): New.
    * gcc.dg/torture/stackalign/builtin-apply-2.c: Skip for
    hard-float ARM.

From-SVN: r189805

12 years agolto-tree.h (lang_decl): Add variable_size GTY option.
Uros Bizjak [Tue, 24 Jul 2012 10:51:11 +0000 (12:51 +0200)]
lto-tree.h (lang_decl): Add variable_size GTY option.

gcc/lto/ChangeLog:

2012-07-24  Uros Bizjak  <ubizjak@gmail.com>

* lto-tree.h (lang_decl): Add variable_size GTY option.

gcc/go/ChangeLog:

2012-07-24  Uros Bizjak  <ubizjak@gmail.com>

* go-lang.c (lang_decl): Add variable_size GTY option.

gcc/c/ChangeLog:

2012-07-24  Uros Bizjak  <ubizjak@gmail.com>

* c-lang.h (lang_decl): Add variable_size GTY option.

From-SVN: r189804

12 years agosbitmap.h (SBITMAP_ELT_BITS): Use "1u" trick as for BITMAP_WORD_BITS.
Steven Bosscher [Tue, 24 Jul 2012 09:49:56 +0000 (09:49 +0000)]
sbitmap.h (SBITMAP_ELT_BITS): Use "1u" trick as for BITMAP_WORD_BITS.

gcc/
* sbitmap.h (SBITMAP_ELT_BITS): Use "1u" trick as for BITMAP_WORD_BITS.
Move test to check that there is a popcount function for the the number
of bits in SBITMAP_ELT_BITS to sbitmap.c.
* sbitmap.c: Test SBITMAP_ELT_BITS, not HOST_BITS_PER_WIDEST_FAST_INT.
MEM_STAT_INFO): Define in terms of their ALONE counterparts.

* configure.ac (GATHER_STATISTICS): Always define, non-zero if enabled.
* configure: Regenerate.
* statistics.h (GATHER_STATISTICS): Error out if it is not defined.
(GCC_MEM_STAT_ARGUMENTS): New define.
(ALONE_MEM_STAT_DECL): Define in terms of GCC_MEM_STAT_ARGUMENTS.
(ALONE_FINAL_MEM_STAT_DECL, ALONE_FINAL_PASS_MEM_STAT): New defines.
(MEM_STAT_DECL, FINAL_MEM_STAT_DECL, PASS_MEM_STAT, FINAL_PASS_MEM_STAT,
* ggc-internal.h (ggc_record_overhead): Use FINAL_MEM_STAT_DECL.
* ggc.h (ggc_record_overhead, ggc_free_overhead,
ggc_prune_overhead_list): Remove internal prototypes, they are defined
already in ggc-internal.h.
* ggc-common.c (struct loc_descriptor): Remove #ifdef GATHER_STATISTICS
wrappers.
(add_statistics): Likewise.
(dump_ggc_loc_statistics): Likewise. Return if GATHER_STATISTICS is 0.
* ggc-zone.c (struct page_entry): Remove #ifdef GATHER_STATISTICS
wrappers around "survived" and "stats" members.
(alloc_large_page): Always initialize survived.
(ggc_internal_alloc_zone_stat): Likewise.
Remove #ifdef GATHER_STATISTICS wrappers.  Record overhead if
GATHER_STATISTICS is non-0.
(ggc_free): Convert #ifdef GATHER_STATISTICS to if-code.
(sweep_pages): Always increase survived.
(ggc_collect_1): Convert #ifdef GATHER_STATISTICS to if-code.
(calculate_average_page_survival): Always define.
(ggc_collect): Convert #ifdef GATHER_STATISTICS to if-code.
(ggc_print_statistics): Likewise.
(ggc_pch_read): Likewise.
* ggc-page.c (struct globals): Always define "stats" member.
(ggc_internal_alloc_stat): Convert #ifdef GATHER_STATISTICS to if-code.
(ggc_free): Likewise.
(ggc_collec): Likewise.
(ggc_print_statistics): Likewise.
* bitmap.h (struct bitmap_head_def): Always define "desc" member.
(bitmap_initialize_stat): Convert #ifdef GATHER_STATISTICS to if-code.
* gimple.h (enum gimple_alloc_kind): Always define.
(gimple_alloc_kind): Likewise.
* tree-flow.h (phinodes_print_statistics): Always define.
(ssanames_print_statistics): Likewise.
* vec.h (vec_heap_free): Always define.
(VEC_stack_alloc): Define if GATHER_STATISTICS is non-0.
* alloc-pool.c (alloc_pool_descriptor): Always define.
(create_alloc_pool): Convert #ifdef GATHER_STATISTICS to if-code.
(empty_alloc_pool): Likewise.
(pool_alloc): Likewise.
(pool_free): Likewise.
(dump_alloc_pool_statistics): Likewise.
(print_statistics): Always define.
* bitmap.c (struct bitmap_descriptor): Always define.
(bitmap_register): Pass ALONE_FINAL_PASS_MEM_STAT.
(register_overhead): Always define.
(bitmap_element_free): Convert #ifdef GATHER_STATISTICS to if-code.
(bitmap_element_allocate): Likewise.
(bitmap_elt_clear_from): Likewise.
(bitmap_obstack_alloc_stat): Likewise.
(bitmap_gc_alloc_stat): Likewise.
(bitmap_obstack_free): Likewise.
(bitmap_find_bit): Likewise.
(bitmap_ior_and_into):  Likewise.
(bitmap_print): Likewise.
(dump_bitmap_statistics): Likewise. Return if GATHER_STATISTICS is 0.
* gimple.c (gimple_alloc_counts, gimple_alloc_sizes): Always define.
(gimple_alloc_kind_names): Likewise.
(gimple_alloc_stat): Convert #ifdef GATHER_STATISTICS to if-code.
(dump_gimple_statistics): Likewise. Return if GATHER_STATISTICS is 0.
* rtl.c (rtx_alloc_counts, rtx_alloc_sizes, rtvec_alloc_counts,
rtvec_alloc_sizes): Always define.
(rvec_alloc): Convert #ifdef GATHER_STATISTICS to if-code.
(rtx_alloc_stat): Likewise.
(dump_rtx_statistics): Likewise. Return if GATHER_STATISTICS is 0.
* tree.c (_obstack_allocated_p, tree_code_counts, tree_node_counts,
tree_node_sizes, tree_node_kind_names): Always define.
(record_node_allocation_statistics): Convert #ifdef GATHER_STATISTICS
to if-code.
(type_hash_canon): Likewise.
(dump_tree_statistics): Likewise.
* tree-ssanames.c (ssa_name_nodes_reused, ssa_name_nodes_created):
Always define.
(ssanames_print_statistics): Likewise.
(make_ssa_name_fn): Convert #ifdef GATHER_STATISTICS to if-code.
* tree-phinodes.c (phi_nodes_reused, phi_nodes_created): Always define.
(phinodes_print_statistics): Likewise.
(allocate_phi_node): Convert #ifdef GATHER_STATISTICS to if-code.
* vec.c (struct vec_descriptor): Always define.
(hash_descriptor, eq_descriptor, ptr_hash_entry, hash_ptr, eq_ptr,
vec_descriptor, rester_overhead, free_overhead): Likewise.
(cmp_statistic): Likewise.
(vec_heap_free): Convert #ifdef GATHER_STATISTICS to if-code.
(vec_heap_o_reserve_1): Likewise.
(dump_vec_loc_statistics): Likewise.

cp/
* cp/class.c (n_vtables, n_vtable_entries, n_vtable_searches,
n_vtable_elems, n_convert_harshness, n_compute_conversion_costs,
n_inner_fields_searched): Always define.
(build_primary_vtable): Convert #ifdef GATHER_STATISTICS to if-code.
(print_class_statistics): Convert #ifdef GATHER_STATISTICS to if-code.
* cp/tree.c (depth_reached): Always define global.
(cxx_print_statistics): Convert #ifdef GATHER_STATISTICS to if-code.
* cp/pt.c (depth_reached): Always define.
(push_tinst_level): Convert #ifdef GATHER_STATISTICS to if-code.
* cp/search.c (n_fields_searched, n_calls_lookup_field,
n_calls_lookup_field_1, n_calls_lookup_fnfields,
n_calls_lookup_fnfields_1, n_calls_get_base_type,
n_outer_fields_searched, n_contexts_saved): Always define.
(lookup_field_1): Convert #ifdef GATHER_STATISTICS to if-code.
(lookup_member): Likewise.
(lookup_fnfields_idx_nolazy): Likewise.
(print_search_statistics): Likewise.
(reinit_search_statistics): Unconditionally re-set counters.
* cp/lex.c (retrofit_lang_decl): Convert #ifdef GATHER_STATISTICS
to if-code.
(cxx_dup_lang_specific_decl): Likewise.
(copy_lang_type): Likewise.
(cxx_make_type): Likewise.

From-SVN: r189803

12 years agore PR middle-end/53616 (416.gamess in SPEC CPU 2006 miscompiled)
Richard Guenther [Tue, 24 Jul 2012 08:37:43 +0000 (08:37 +0000)]
re PR middle-end/53616 (416.gamess in SPEC CPU 2006 miscompiled)

2012-07-24  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/53616
* tree-loop-distribution.c (ldist_gen): Do not change
partition ordering when merging partitions.

From-SVN: r189802

12 years agore PR target/53914 (poor code generated for offset addressing on ppc32)
Alan Modra [Tue, 24 Jul 2012 05:55:50 +0000 (15:25 +0930)]
re PR target/53914 (poor code generated for offset addressing on ppc32)

PR target/53914
PR target/54009
* config/rs6000/constraints.md (Y): Use mem_operand_gpr.
* config/rs6000/predicates.md (word_offset_memref_operand): Delete.
Adjust all rs6000_legitimate_offset_address_p calls.
* config/rs6000/rs6000-protos.h (mem_operand_gpr): Declare.
(rs6000_secondary_reload_gpr): Declare.
(rs6000_legitimate_offset_address_p): Update prototype.
(rs6000_offsettable_memref_p): Delete.
(rs6000_secondary_reload_ppc64): Delete.
* config/rs6000/rs6000.c (address_offset): New function.
(mem_operand_gpr): Likewise.
(rs6000_legitimate_offset_address_p): Add worst_case param.  When
not worst_case assume class of regs with least restrictive offsets.
Adjust all calls.
(legitimate_lo_sum_address_p): Simplify register mode tests.
(rs6000_legitimize_address): Likewise.  Assume best case offset
addressing.  Combine ELF and MACHO lo_sum code.
(rs6000_mode_dependent_address): Correct offset addressing limits.
(rs6000_offsettable_memref_p): Make static, add reg_mode param.
Use reg_mode to help rs6000_legitimate_offset_address_p.
(rs6000_secondary_reload): Use address_offset.  Handle 32-bit multi
gpr load/store when offset too large.
(rs6000_secondary_reload_gpr): Renamed rs6000_secondary_reload_ppc64.
(rs6000_split_multireg_move): Adjust rs6000_offsettable_memref_p calls.
* config/rs6000/rs6000.md (movdf_hardfloat32): Use 'Y' constraint
for gpr load/store.  Order alternatives as r->Y,Y->r,r->r and
d->m,m->d,d->d.  Correct size of gpr load/store.
(movdf_softfloat32): Use 'Y' constraint for gpr load/store.  Order
alternatives.
(movti_ppc64): Likewise.
(movdi_internal32): Likewise.  Also disparage fprs.
(movdi_mfpgpr, movdi_internal64): Likewise.
(movtf_internal): Use 'm' for fpr load/store.  Order alternatives.
(movtf_softfloat): Order alternatives.
(extenddftf2_internal): Use 'm' and 'Y' for store.
(movti_power, movti_string): Use 'Y' for gpr load/store.  Order.
(stack_protect_setdi, stack_protect_testdi): Likewise.
(movdf_hardfloat64_mfpgpr, movdf_hardfloat64): Order alternatives.
(movdf_softfloat64): Likewise.
(reload_<mode>_store): Adjust reload_di_store to provide
reload_si_store as well.
(reload_<mode>_load): Likewise.

From-SVN: r189801

12 years agoDaily bump.
GCC Administrator [Tue, 24 Jul 2012 00:17:26 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r189800

12 years agore PR target/51244 ([SH] Inefficient conditional branch and code around T bit)
Oleg Endo [Mon, 23 Jul 2012 22:57:36 +0000 (22:57 +0000)]
re PR target/51244 ([SH] Inefficient conditional branch and code around T bit)

PR target/51244
* config/sh/predicates.md (general_movsrc_operand,
general_movdst_operand): Reject T_REG.
* config/sh/sh.md (*extendqisi2_compact_reg, *extendhisi2_compact_reg,
movsi_i, movsi_ie, movsi_i_lowpart, *movqi_reg_reg, *movhi_reg_reg):
Remove T_REG alternatives.
(*negtstsi): New insn.

From-SVN: r189797

12 years agore PR target/53511 (SH Target: Add support for fma patterns)
Oleg Endo [Mon, 23 Jul 2012 22:54:06 +0000 (22:54 +0000)]
re PR target/53511 (SH Target: Add support for fma patterns)

PR target/53511
* config/sh/sh.md (mulsf3_ie): Delete.
(mulsf3_i4): Rename to mulsf3_i.
(mulsf3): Emit mulsf3_i insn.

From-SVN: r189796

12 years agosh.md (addc1, subc1): Delete.
Oleg Endo [Mon, 23 Jul 2012 22:51:38 +0000 (22:51 +0000)]
sh.md (addc1, subc1): Delete.

* config/sh/sh.md (addc1, subc1): Delete.
(adddi3_compact): Use addc instead of addc1.
(subdi3_compact): Use subc instead of subc1.

From-SVN: r189795

12 years agoi386-protos.c (ix86_lea_outperforms): Remove prototype.
Uros Bizjak [Mon, 23 Jul 2012 19:03:48 +0000 (21:03 +0200)]
i386-protos.c (ix86_lea_outperforms): Remove prototype.

* config/i386/i386-protos.c (ix86_lea_outperforms): Remove prototype.
* config/i386/i386.c (ix86_lea_outperforms): Make static.  Make
split_cost argument signed.
(ix86_avoid_lea_for_add): Cleanup.
(ix86_use_lea_for_mov): Use INVALID_REGNUM instead of -1.
(ix86_avoid_lea_for_addr): Ditto.  Make split_cost signed.
Use gen_lowpart instead of gen_rtx_SUBREG.  Cleanup.

From-SVN: r189792

12 years ago* config/arm/arm.c (arm_reorg): Ensure all insns are split.
Ulrich Weigand [Mon, 23 Jul 2012 17:28:36 +0000 (17:28 +0000)]
* config/arm/arm.c (arm_reorg): Ensure all insns are split.

From-SVN: r189790

12 years agore PR target/53961 (internal compiler error: in memory_address_length, at config...
Uros Bizjak [Mon, 23 Jul 2012 16:04:23 +0000 (18:04 +0200)]
re PR target/53961 (internal compiler error: in memory_address_length, at config/i386/i386.c:23341)

PR target/53961
* config/i386/i386.md (*lea): Add asserts to detect invalid addresses.
* config/i386/i386.c (ix86_print_operand_address): Ditto.
(ix86_decompose_address): Allow (zero_extend:DI (subreg:SI (...)))
addresses.  Prevent zero extensions of CONST_INT operands.

From-SVN: r189787

12 years agosbitmap.h (struct int_list): Remove.
Steven Bosscher [Mon, 23 Jul 2012 14:28:29 +0000 (14:28 +0000)]
sbitmap.h (struct int_list): Remove.

* sbitmap.h (struct int_list): Remove.
(sbitmap_intersect_of_predsucc, sbitmap_union_of_predsucc):
Remove prototypes of non-existing function.
(sbitmap_intersect_of_predecessors, sbitmap_intersect_of_successors,
sbitmap_union_of_predecessors, sbitmap_union_of_successors): Remove
unused defines.
(sbitmap_intersection_of_succs, sbitmap_intersection_of_preds,
sbitmap_union_of_succs, sbitmap_union_of_preds): Move prototypes to...
* basic-block.h: ... here.
* sbitmap.c: Do not include basic-block.h.
(sbitmap_intersection_of_succs, sbitmap_intersection_of_preds,
sbitmap_union_of_succs, sbitmap_union_of_preds): Move functions to...
* cfganal.c: ... here.
* bt-load.c (compute_out, link_btr_uses): Update for above changes.
* gcse.c (compute_code_hoist_vbeinout): Likewise.
* lcm.c (compute_antinout_edge, compute_available): Likewise.
* Makefile.in: Fix sbitmap.o dependencies.

From-SVN: r189785

12 years agoarmv7m-1.c: New test.
Paul Brook [Mon, 23 Jul 2012 14:24:31 +0000 (14:24 +0000)]
armv7m-1.c: New test.

gcc/testsuite/
* g++.dg/other/armv7m-1.c: New test.

From-SVN: r189784

12 years agofrv-protos.h (frv_ifcvt_machdep_init): Prototype.
Jan-Benedict Glaw [Mon, 23 Jul 2012 14:11:39 +0000 (14:11 +0000)]
frv-protos.h (frv_ifcvt_machdep_init): Prototype.

* config/frv/frv-protos.h (frv_ifcvt_machdep_init): Prototype.
* config/frv/frv.c (frv_ifcvt_machdep_init): Change type of
(unused) parameter to void *.

Co-Authored-By: Nick Clifton <nickc@redhat.com>
From-SVN: r189783

12 years agotree-ssa-alias.c (dump_alias_info): Walk over local decls instead of referenced vars.
Richard Guenther [Mon, 23 Jul 2012 13:36:34 +0000 (13:36 +0000)]
tree-ssa-alias.c (dump_alias_info): Walk over local decls instead of referenced vars.

2012-07-23  Richard Guenther  <rguenther@suse.de>

* tree-ssa-alias.c (dump_alias_info): Walk over local decls
instead of referenced vars.

From-SVN: r189782

12 years agocoverage.c: Refer to "notes file" instead of "graph file" in all comments.
Steven Bosscher [Mon, 23 Jul 2012 11:59:15 +0000 (11:59 +0000)]
coverage.c: Refer to "notes file" instead of "graph file" in all comments.

gcc/
* coverage.c: Refer to "notes file" instead of "graph file"
in all comments.  Explain history of bbg prefix.
* gcov-io.h: Likewise.
* gcov.c: Likewise.
(find_source): Likewise in fnotice.
(read_graph_file): Likewise.
(read_count_file): Likewise.
* doc/gcov.texi: Document -fprofile-dir flag.  Add "notes file"
and "data file" explicitly in the explanation of the files.

libgcc/
* libgcov.c (__gcov_ior_profiler): Benign comment fix.

From-SVN: r189781

12 years ago20101011-1.c (__aeabi_idiv0): Define for ARM.
Julian Brown [Mon, 23 Jul 2012 10:47:53 +0000 (10:47 +0000)]
20101011-1.c (__aeabi_idiv0): Define for ARM.

gcc/testsuite/
* gcc.c-torture/execute/20101011-1.c (__aeabi_idiv0): Define for
ARM.
(DO_TEST): Define to 1 for appropriate ARM targets.

From-SVN: r189780

12 years agore PR tree-optimization/53881 (ICE in hoist_edge_and_branch_if_true)
Steven Bosscher [Mon, 23 Jul 2012 09:26:41 +0000 (09:26 +0000)]
re PR tree-optimization/53881 (ICE in hoist_edge_and_branch_if_true)

gcc/
PR tree-optimization/53881
* tree-cfg.c (group_case_labels_stmt): Look up the basic block
for each label and compare them instead of labels.

testsuite/
PR tree-optimization/53881
* gcc.dg/pr53881.c: Renamed to ...
* gcc.dg/pr53881-1.c: ... this.
* gcc.dg/pr53881-2.c: New test.

From-SVN: r189779

12 years agoopts.c (common_handle_option): Do not set flag_value_profile_transformations for...
Steven Bosscher [Mon, 23 Jul 2012 09:24:21 +0000 (09:24 +0000)]
opts.c (common_handle_option): Do not set flag_value_profile_transformations for -fprofile-generate.

* opts.c (common_handle_option): Do not set
flag_value_profile_transformations for -fprofile-generate.
* profile.c (instrument_values): Use COUNTER_FOR_HIST_TYPE.
(BB_TO_GCOV_INDEX): Remove.
(output_location): Don't use it.
(branch_prob): Likewise.  Don't fiddle with the index of
ENTRY_BLOCK_PTR and EXIT_BLOCK_PTR.  Use clear_aux_for_blocks.
(find_spanning_tree):
* gcov.c (struct function_info): Document that blocks 0 and 1
are the entry resp. exit blocks in gcov, too, like in GCC itself.
(solve_flow_graph): Use ENTRY_BLOCK and EXIT_BLOCK for special
blocks identification.
(output_lines): Likewise.
* value-prof.c (gimple_value_profile_transformations): Do not
test flag_value_profile_transformations again.
(gimple_ic_transform): Take a gimple_stmt_iterator like all other
transformation functions.
(gimple_values_to_profile):
Don't test flag_value_profile_transformations
* tree-profile.c (tree_profiling): Assert that the cgraph is in
the CGRAPH_STATE_IPA_SSA state.
Do not set, or look at, after_tree_profile.
* function.h (struct function): Remove after_tree_profile bit.
* omp-low.c (expand_omp_taskreg): Don't set after_tree_profile.
* tree-inline.c (initialize_cfun): Don't copy it.
* lto-streamer-out.c (output_struct_function_base): Don't stream it.
* lto-streamer-in.c (input_struct_function_base): Likewise.

From-SVN: r189778

12 years ago[multiple changes]
Arnaud Charlet [Mon, 23 Jul 2012 08:41:08 +0000 (10:41 +0200)]
[multiple changes]

2012-07-23  Tristan Gingold  <gingold@adacore.com>

* gcc-interface/trans.c (Handled_Sequence_Of_Statements_to_gnu): Use
End_Label sloc when possible for sloc of the TRY_CATCH_EXPR node.

2012-07-23  Olivier Hainque  <hainque@adacore.com>

* gcc-interface/Makefile.in: Adjust processing of Linker_Options for
VxWorks.
* gcc-interface/Make-lang.in: Update dependencies.

From-SVN: r189777

12 years ago[multiple changes]
Arnaud Charlet [Mon, 23 Jul 2012 08:32:33 +0000 (10:32 +0200)]
[multiple changes]

2012-07-23  Arnaud Charlet  <charlet@adacore.com>

* s-tasinf-linux.ads: Fix typo.

2012-07-23  Thomas Quinot  <quinot@adacore.com>

* exp_ch7.adb, switch-m.adb, exp_ch3.adb, freeze.adb: Minor reformatting

2012-07-23  Ed Schonberg  <schonberg@adacore.com>

* exp_ch5.adb (Expand_Iterator_Loop_Over_Array): If original
loop carries an identifier, preserve it when rewriting it as a
standard loop to validate exit statements that may reference
that name in the body of the loop.

2012-07-23  Thomas Quinot  <quinot@adacore.com>

* exp_ch9.adb: Minor code cleanup.

From-SVN: r189776

12 years ago[multiple changes]
Arnaud Charlet [Mon, 23 Jul 2012 08:29:15 +0000 (10:29 +0200)]
[multiple changes]

2012-07-23  Ed Schonberg  <schonberg@adacore.com>

* sem_ch4.adb (Analyze_Selected_Component): When checking for
potential ambiguities with class-wide operations on synchronized
types, attach the copied node properly to the tree, to prevent
errors during expansion.

2012-07-23  Yannick Moy  <moy@adacore.com>

* sem_ch5.adb (Analyze_Loop_Statement): Make sure the loop body
is analyzed in Alfa mode.

2012-07-23  Ed Schonberg  <schonberg@adacore.com>

* sem_res.adb: Adjust previous change.

2012-07-23  Vincent Pucci  <pucci@adacore.com>

* sem_ch9.adb (Allows_Lock_Free_Implementation): Flag
Lock_Free_Given renames previous flag Complain. Description
updated. Henceforth, catch every error messages issued by this
routine when Lock_Free_Given is True.  Declaration restriction
updated: No non-elementary parameter instead (even in parameter)
New subprogram body restrictions implemented: No allocator,
no address, import or export rep items, no delay statement,
no goto statement, no quantified expression and no dereference
of access value.

2012-07-23  Hristian Kirtchev  <kirtchev@adacore.com>

* checks.adb (Determine_Range): Add local variable Btyp. Handle
the case where the base type of an enumeration subtype is
private. Replace all occurrences of Base_Type with Btyp.
* exp_attr.adb (Attribute_Valid): Handle the case where the
base type of an enumeration subtype is private. Replace all
occurrences of Base_Type with Btyp.
* sem_util.adb (Get_Enum_Lit_From_Pos): Add local variable
Btyp. Handle the case where the base type of an enumeration
subtype is private. Replace all occurrences of Base_Type with
Btyp.

From-SVN: r189775