platform/upstream/linaro-gcc.git
10 years ago2013-10-30 Marc Glisse <marc.glisse@inria.fr>
glisse [Wed, 30 Oct 2013 14:33:49 +0000 (14:33 +0000)]
2013-10-30  Marc Glisse  <marc.glisse@inria.fr>

gcc/
* tree-ssa-alias.c (ao_ref_init_from_ptr_and_size): Look for a
POINTER_PLUS_EXPR in the defining statement.

gcc/testsuite/
* gcc.dg/tree-ssa/alias-24.c: New file.

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

10 years ago2013-10-30 Vladimir Makarov <vmakarov@redhat.com>
vmakarov [Wed, 30 Oct 2013 14:27:25 +0000 (14:27 +0000)]
2013-10-30  Vladimir Makarov  <vmakarov@redhat.com>

* regmove.c: Remove.
* tree-pass.h (make_pass_regmove): Remove.
* timevar.def (TV_REGMOVE): Remove.
* passes.def (pass_regmove): Remove.
* opts.c (default_options_table): Remove entry for regmove.
* doc/passes.texi: Remove regmove pass description.
* doc/invoke.texi (-foptimize-register-move, -fregmove): Remove
options.
(-fdump-rtl-regmove): Ditto.
* common.opt (foptimize-register-move, fregmove): Ignore.
* Makefile.in (OBJS): Remove regmove.o.
* regmove.c: Remove.
* ira-int.h (struct ira_allocno_pref, ira_pref_t): New structure
and type.
(struct ira_allocno) New member allocno_prefs.
(ALLOCNO_PREFS): New macro.
(ira_prefs, ira_prefs_num): New external vars.
(ira_setup_alts, ira_get_dup_out_num, ira_debug_pref): New
prototypes.
(ira_debug_prefs, ira_debug_allocno_prefs, ira_create_pref):
Ditto.
(ira_add_allocno_pref, ira_remove_pref, ira_remove_allocno_prefs):
Ditto.
(ira_add_allocno_copy_to_list): Remove prototype.
(ira_swap_allocno_copy_ends_if_necessary): Ditto.
(ira_pref_iterator): New type.
(ira_pref_iter_init, ira_pref_iter_cond): New functions.
(FOR_EACH_PREF): New macro.
* ira.c (commutative_constraint_p): Move from ira-conflicts.c.
(ira_get_dup_out_num): Ditto. Rename from get_dup_num.  Modify the
code.
(ira_setup_alts): New function.
(decrease_live_ranges_number): New function.
(ira): Call the above function.
* ira-build.c (ira_prefs, ira_prefs_num): New global vars.
(ira_create_allocno): Initialize allocno prefs.
(pref_pool, pref_vec): New static vars.
(initiate_prefs, find_allocno_pref, ira_create_pref): New
functions.
(add_allocno_pref_to_list, ira_add_allocno_pref, print_pref): Ditto.
(ira_debug_pref, print_prefs, ira_debug_prefs): Ditto.
(print_allocno_prefs, ira_debug_allocno_prefs, finish_pref): Ditto.
(ira_remove_pref, ira_remove_allocno_prefs, finish_prefs): Ditto.
(ira_add_allocno_copy_to_list): Make static.  Rename to
add_allocno_copy_to_list.
(ira_swap_allocno_copy_ends_if_necessary): Make static.  Rename to
swap_allocno_copy_ends_if_necessary.
(remove_unnecessary_allocnos, remove_low_level_allocnos): Call
ira_remove_allocno_prefs.
(ira_flattening): Ditto.
(ira_build): Call initiate_prefs, print_prefs.
(ira_destroy): Call finish_prefs.
* ira-color.c (struct update_cost_record): New.
(struct allocno_color_data): Add new member update_cost_records.
(update_cost_record_pool): New static var.
(init_update_cost_records, get_update_cost_record): New functions.
(free_update_cost_record_list, finish_update_cost_records): Ditto.
(struct update_cost_queue_elem): Add member from.
(initiate_cost_update): Call init_update_cost_records.
(finish_cost_update): Call finish_update_cost_records.
(queue_update_cost, get_next_update_cost): Add new param from.
(Update_allocno_cost, update_costs_from_allocno): New functions.
(update_costs_from_prefs): Ditto.
(update_copy_costs): Rename to update_costs_from_copies.
(restore_costs_from_copies): New function.
(update_conflict_hard_regno_costs): Don't go back.
(assign_hard_reg): Call restore_costs_from_copies.  Add printing
more debug info.
(pop_allocnos): Add priniting more debug info.
(color_allocnos): Remove prefs for conflicting hard regs.
Call update_costs_from_prefs.
* ira-conflicts.c (commutative_constraint_p): Move to ira.c
(get_dup_num): Rename, modify, and move to ira.c
(process_regs_for_copy): Add prefs.
(add_insn_allocno_copies): Put src as first arg of
process_regs_for_copy.  Remove dead code.  Call ira_setup_alts.
* ira-costs.c (record_reg_classes): Modify and move code into
record_operands_costs.
(find_costs_and_classes): Create prefs for the hard reg of small
reg class.
(process_bb_node_for_hard_reg_moves): Add prefs.

2013-10-30  Vladimir Makarov  <vmakarov@redhat.com>

* gcc.target/i386/fma_double_3.c: Use pattern for
scan-assembler-times instead of just one insn name.
* gcc.target/i386/fma_double_5.c: Ditto.
* gcc.target/i386/fma_float_3.c: Ditto.
* gcc.target/i386/fma_float_5.c: Ditto.
* gcc.target/i386/l_fma_double_1.c: Ditto.
* gcc.target/i386/l_fma_double_2.c: Ditto.
* gcc.target/i386/l_fma_double_3.c: Ditto.
* gcc.target/i386/l_fma_double_4.c: Ditto.
* gcc.target/i386/l_fma_double_5.c: Ditto.
* gcc.target/i386/l_fma_double_6.c: Ditto.
* gcc.target/i386/l_fma_float_1.c: Ditto.
* gcc.target/i386/l_fma_float_2.c: Ditto.
* gcc.target/i386/l_fma_float_3.c: Ditto.
* gcc.target/i386/l_fma_float_4.c: Ditto.
* gcc.target/i386/l_fma_float_5.c: Ditto.
* gcc.target/i386/l_fma_float_6.c: Ditto.

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

10 years ago2013-10-30 Richard Biener <rguenther@suse.de>
rguenth [Wed, 30 Oct 2013 14:22:01 +0000 (14:22 +0000)]
2013-10-30  Richard Biener  <rguenther@suse.de>

PR middle-end/57100
* basic-block.h (pre_and_rev_post_order_compute_fn): New function.
* cfganal.c (pre_and_rev_post_order_compute_fn): New function
as worker for ...
(pre_and_rev_post_order_compute): ... which now wraps it.
* graph.c (draw_cfg_nodes_no_loops): Use
pre_and_rev_post_order_compute_fn to avoid ICEing and dependence
on cfun.

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

10 years ago * cilk.c (create_cilk_helper_decl): Use HOST_WIDE_INT_PRINT_DEC.
jakub [Wed, 30 Oct 2013 13:50:25 +0000 (13:50 +0000)]
* cilk.c (create_cilk_helper_decl): Use HOST_WIDE_INT_PRINT_DEC.

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

10 years ago2013-10-30 Christian Bruel <christian.bruel@st.com>
chrbr [Wed, 30 Oct 2013 12:35:27 +0000 (12:35 +0000)]
2013-10-30  Christian Bruel  <christian.bruel@st.com>

* gcc/config/sh/sh-mem.cc (sh_expand_cmpnstr): New function.
(sh_expand_cmpstr): Handle known align and schedule improvements.
* gcc/config/sh/sh-protos.h (sh_expand_cmpstrn): Declare.
* gcc/config/sh/sh.md (cmpstrnsi): New pattern.

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

10 years ago2013-10-30 Martin Jambor <mjambor@suse.cz>
jamborm [Wed, 30 Oct 2013 12:01:46 +0000 (12:01 +0000)]
2013-10-30  Martin Jambor  <mjambor@suse.cz>

PR rtl-optimization/10474
* ira.c (find_moveable_pseudos): Do not calculate dominance info
nor df analysis.
(interesting_dest_for_shprep): New function.
(split_live_ranges_for_shrink_wrap): Likewise.
(ira): Calculate dominance info and df analysis. Call
split_live_ranges_for_shrink_wrap.

testsuite/
* gcc.dg/pr10474.c: New testcase.
* gcc.dg/ira-shrinkwrap-prep-1.c: Likewise.
* gcc.dg/ira-shrinkwrap-prep-2.c: Likewise.

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

10 years agoFix PR target/58854
ramana [Wed, 30 Oct 2013 10:54:04 +0000 (10:54 +0000)]
Fix PR target/58854

2013-10-30  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>

PR target/58854
* config/arm/arm.c (arm_expand_epilogue_apcs_frame): Emit blockage.

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

10 years agoMinor tweaks
ebotcazou [Wed, 30 Oct 2013 10:36:49 +0000 (10:36 +0000)]
Minor tweaks

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

10 years ago * tree-core.h (tree_index): Add TI_POINTER_BOUNDS_TYPE.
kyukhin [Wed, 30 Oct 2013 09:09:44 +0000 (09:09 +0000)]
    * tree-core.h (tree_index): Add TI_POINTER_BOUNDS_TYPE.
        * tree.h (POINTER_BOUNDS_P): New.
        (BOUNDED_TYPE_P): New.
        (BOUNDED_P): New.
        (pointer_bounds_type_node): New.
        * tree.c (build_common_tree_nodes): Initialize
        pointer_bounds_type_node.
        * gimple.h (gimple_call_get_nobnd_arg_index): New.
        (gimple_call_num_nobnd_args): New.
        (gimple_call_nobnd_arg): New.
        (gimple_return_retbnd): New.
        (gimple_return_set_retbnd): New
        * gimple.c (gimple_build_return): Increase number of ops
        for return statement.
        (gimple_call_get_nobnd_arg_index): New.
        * gimple-pretty-print.c (dump_gimple_return): Print second op.

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

10 years ago * ipa.c (cgraph_build_static_cdtor_1): Support contructors
kyukhin [Wed, 30 Oct 2013 09:08:14 +0000 (09:08 +0000)]
    * ipa.c (cgraph_build_static_cdtor_1): Support contructors
        with "chkp ctor" and "bnd_legacy" attributes.
        * gimplify.c (gimplify_init_constructor): Avoid infinite
        loop during gimplification of bounds initializer.

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

10 years ago * c-family/c-common.c (handle_bnd_variable_size_attribute): New.
kyukhin [Wed, 30 Oct 2013 09:07:24 +0000 (09:07 +0000)]
    * c-family/c-common.c (handle_bnd_variable_size_attribute): New.
        (handle_bnd_legacy): New.
        (c_common_attribute_table): Add bnd_variable_size and bnd_legacy.
        * doc/extend.texi: Document bnd_variable_size and bnd_legacy
        attributes.

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

10 years ago * builtin-types.def (BT_FN_VOID_CONST_PTR): New.
kyukhin [Wed, 30 Oct 2013 09:06:20 +0000 (09:06 +0000)]
    * builtin-types.def (BT_FN_VOID_CONST_PTR): New.
        (BT_FN_PTR_CONST_PTR): New.
        (BT_FN_CONST_PTR_CONST_PTR): New.
        (BT_FN_PTR_CONST_PTR_SIZE): New.
        (BT_FN_PTR_CONST_PTR_CONST_PTR): New.
        (BT_FN_VOID_PTRPTR_CONST_PTR): New.
        (BT_FN_VOID_CONST_PTR_SIZE): New.
        (BT_FN_PTR_CONST_PTR_CONST_PTR_SIZE): New.
        * chkp-builtins.def: New.
        * builtins.def: include chkp-builtins.def.
        (DEF_CHKP_BUILTIN): New.
        * builtins.c (expand_builtin): Support BUILT_IN_CHKP_INIT_PTR_BOUNDS,
        BUILT_IN_CHKP_NULL_PTR_BOUNDS, BUILT_IN_CHKP_COPY_PTR_BOUNDS,
        BUILT_IN_CHKP_CHECK_PTR_LBOUNDS, BUILT_IN_CHKP_CHECK_PTR_UBOUNDS,
        BUILT_IN_CHKP_CHECK_PTR_BOUNDS, BUILT_IN_CHKP_SET_PTR_BOUNDS,
        BUILT_IN_CHKP_NARROW_PTR_BOUNDS, BUILT_IN_CHKP_STORE_PTR_BOUNDS,
        BUILT_IN_CHKP_GET_PTR_LBOUND, BUILT_IN_CHKP_GET_PTR_UBOUND,
        BUILT_IN_CHKP_BNDMK, BUILT_IN_CHKP_BNDSTX, BUILT_IN_CHKP_BNDCL,
        BUILT_IN_CHKP_BNDCU, BUILT_IN_CHKP_BNDLDX, BUILT_IN_CHKP_BNDRET,
        BUILT_IN_CHKP_INTERSECT, BUILT_IN_CHKP_ARG_BND, BUILT_IN_CHKP_NARROW,
        BUILT_IN_CHKP_EXTRACT_LOWER, BUILT_IN_CHKP_EXTRACT_UPPER.
        * common.opt (fcheck-pointer-bounds): New.
        * toplev.c (process_options): Check Pointer Bounds Checker is supported.
        * doc/extend.texi: Document Pointer Bounds Checker built-in functions.

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

10 years ago * target.def (builtin_chkp_function): New.
kyukhin [Wed, 30 Oct 2013 08:57:50 +0000 (08:57 +0000)]
    * target.def (builtin_chkp_function): New.
        (chkp_bound_type): New.
        (chkp_bound_mode): New.
        (fn_abi_va_list_bounds_size): New.
        (load_bounds_for_arg): New.
        (store_bounds_for_arg): New.
        * targhooks.h (default_load_bounds_for_arg): New.
        (default_store_bounds_for_arg): New.
        (default_fn_abi_va_list_bounds_size): New.
        (default_chkp_bound_type): New.
        (default_chkp_bound_mode): New.
        (default_builtin_chkp_function): New.
        * targhooks.c (default_load_bounds_for_arg): New.
        (default_store_bounds_for_arg): New.
        (default_fn_abi_va_list_bounds_size): New.
        (default_chkp_bound_type): New.
        (default_chkp_bound_mode); New.
        (default_builtin_chkp_function): New.
        * doc/tm.texi.in (TARGET_FN_ABI_VA_LIST_BOUNDS_SIZE): New.
        (TARGET_LOAD_BOUNDS_FOR_ARG): New.
        (TARGET_STORE_BOUNDS_FOR_ARG): New.
        (TARGET_BUILTIN_CHKP_FUNCTION): New.
        (TARGET_CHKP_BOUND_TYPE): New.
        (TARGET_CHKP_BOUND_MODE): New.
        * doc/tm.texi: Regenerated.
        * langhooks.h (lang_hooks): Add chkp_supported field.
        * langhooks-def.h (LANG_HOOKS_CHKP_SUPPORTED): New.
        (LANG_HOOKS_INITIALIZER); Add LANG_HOOKS_CHKP_SUPPORTED.

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

10 years ago2013-10-29 Andrew Pinski <apinski@cavium.com>
pinskia [Wed, 30 Oct 2013 04:03:41 +0000 (04:03 +0000)]
2013-10-29  Andrew Pinski <apinski@cavium.com>

        * tree-ssa-ifcombine.c: Include rtl.h and tm_p.h.
        (ifcombine_ifandif): Handle cases where
        maybe_fold_and_comparisons fails, combining the branches
        anyways.
        (tree_ssa_ifcombine): Inverse the order of
        the basic block walk, increases the number of combinings.
        * gimple.h (gsi_start_nondebug_after_labels_bb): New function.

2013-10-29  Andrew Pinski <apinski@cavium.com>
            Zhenqiang Chen  <zhenqiang.chen@linaro.org>

        * gcc.dg/tree-ssa/ssa-ifcombine-ccmp-1.c: New test case.
        * gcc.dg/tree-ssa/ssa-ifcombine-ccmp-2.c: New test case.
        * gcc.dg/tree-ssa/ssa-ifcombine-ccmp-3.c: New test case.
        * gcc.dg/tree-ssa/ssa-ifcombine-ccmp-4.c: New test case.
        * gcc.dg/tree-ssa/ssa-ifcombine-ccmp-5.c: New test case.
        * gcc.dg/tree-ssa/ssa-ifcombine-ccmp-6.c: New test case.
        * gcc.dg/tree-ssa/phi-opt-9.c: Use a function call to prevent
        conditional move to be used.
        * gcc.dg/tree-ssa/ssa-dom-thread-3.c: Remove.

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

10 years ago * machmode.def (PARTIAL_INT_MODE): Add precision and name.
mrs [Wed, 30 Oct 2013 03:02:00 +0000 (03:02 +0000)]
* machmode.def (PARTIAL_INT_MODE): Add precision and name.
* genmodes.c (PARTIAL_INT_MODE): Add precision and name.
(make_vector_mode): Increase namebuf to 16.
(emit_insn_modes_h): When processing BImode, don't
also match partial int modes.
(emit_class_narrowest_mode): Likewise.

* config/bfin/bfin-modes.def: Add precision to PDI.
* config/m32c/m32c-modes.def: Add precision to PSI.
* config/msp430/msp430-modes.def: Add precision to PSI.
* config/rs6000/rs6000-modes.def: Add precision to PTI.
* config/sh/sh-modes.def: Add precision to PSI and PDI.

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

10 years agoDaily bump.
gccadmin [Wed, 30 Oct 2013 00:17:24 +0000 (00:17 +0000)]
Daily bump.

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

10 years ago2013-10-29 Tobias Burnus <burnus@net-b.de>
burnus [Wed, 30 Oct 2013 00:09:21 +0000 (00:09 +0000)]
2013-10-29  Tobias Burnus  <burnus@net-b.de>

        * gcc_update (files_and_dependencies): Add rules for
        libcilkrts.

2013-10-29  Tobias Burnus  <burnus@net-b.de>

        * configure.ac: Add AM_MAINTAINER_MODE.
        * aclocal.m4: Regenerate.
        * configure.ac: Regenerate.
        * Makefile.in: Regenerate.

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

10 years agoRe-add changelog item to r204180 which got lost through r204181
burnus [Tue, 29 Oct 2013 22:04:19 +0000 (22:04 +0000)]
Re-add changelog item to r204180 which got lost through r204181

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

10 years ago2013-10-29 Tobias Burnus <burnus@net-b.de>
burnus [Tue, 29 Oct 2013 21:48:02 +0000 (21:48 +0000)]
2013-10-29  Tobias Burnus  <burnus@net-b.de>

        PR fortran/44350
        * parse.c (parse_spec): Add C1116 constraint
        check for BLOCK DATA.

2013-10-29  Tobias Burnus  <burnus@net-b.de>

        PR fortran/44350
        * gfortran.dg/blockdata_8.f90: New.

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

10 years ago PR libstdc++/58839
redi [Tue, 29 Oct 2013 21:33:29 +0000 (21:33 +0000)]
PR libstdc++/58839
* include/bits/shared_ptr_base.h
(__shared_ptr<T>::__shared_ptr(unique_ptr<U,D>&&)): Only use addressof
when unique_ptr<U,D>::pointer is not a built-in pointer type.
* testsuite/20_util/shared_ptr/cons/58839.cc: New.
* testsuite/20_util/enable_shared_from_this/members/assign.cc: New.
* testsuite/20_util/enable_shared_from_this/members/unique_ptr.cc: New.

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

10 years ago * include/bits/hashtable.cc (__access_protected_ctor): Define and use
redi [Tue, 29 Oct 2013 21:19:34 +0000 (21:19 +0000)]
* include/bits/hashtable.cc (__access_protected_ctor): Define and use
new type instead of _Hashtable_ebo_helper.
* testsuite/23_containers/unordered_set/
not_default_constructible_hash_neg.cc: Adjust line number.

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

10 years agocorrect format
pault [Tue, 29 Oct 2013 21:18:09 +0000 (21:18 +0000)]
correct format

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

10 years ago PR target/54236
olegendo [Tue, 29 Oct 2013 20:45:56 +0000 (20:45 +0000)]
PR target/54236
* config/sh/sh.md (*addc): Rename existing variations to ...
(*addc_r_r_1, *addc_2r_1, *addc_r_1): ... these.
(*addc_r_lsb, *addc_r_r_lsb, *addc_r_lsb_r, *addc_2r_lsb, *addc_r_msb,
*addc_r_r_msb, *addc_2r_msb): New insn_and_split patterns.
* config/sh/sh.c (addsubcosts): Handle some addc special cases.

PR target/54236
* gcc.target/sh/pr54236-2: New.
* gcc.target/sh/pr54089-6: Add another rotl special case.

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

10 years agocorrect PR numbers
pault [Tue, 29 Oct 2013 20:41:39 +0000 (20:41 +0000)]
correct PR numbers

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

10 years ago2013-10-29 Teresa Johnson <tejohnson@google.com>
tejohnson [Tue, 29 Oct 2013 20:39:49 +0000 (20:39 +0000)]
2013-10-29  Teresa Johnson  <tejohnson@google.com>

PR ipa/58862
* tree-ssa-tail-merge.c (replace_block_by): Tolerate profile
insanities when updating probabilities.

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

10 years ago2013-10-29 Paul Thomas <pault@gcc.gnu.org>
pault [Tue, 29 Oct 2013 20:30:51 +0000 (20:30 +0000)]
2013-10-29  Paul Thomas  <pault@gcc.gnu.org>

PR fortran 57893
* trans-types.c (gfc_typenode_for_spec): Add typenode for
BT_HOLLERITH. Note that the length is incorrect but unusable.

PR fortran 58858
* target-memory.c (gfc_element_size): Add element sizes for
BT_VOID and BT_ASSUMED, using gfc_typenode_for_spec.

2013-10-29  Paul Thomas  <pault@gcc.gnu.org>

PR fortran 57893
* gfortran.dg/unlimited_polymorphic_13.f90 : Use real variables
to determine sizes of real kinds.

PR fortran 58858
* gfortran.dg/unlimited_polymorphic_14.f90 : New test.

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

10 years agogdbhooks.py: update cgraph_node prettyprinter
dmalcolm [Tue, 29 Oct 2013 18:58:42 +0000 (18:58 +0000)]
gdbhooks.py: update cgraph_node prettyprinter

* gdbhooks.py (CGraphNodePrinter.to_string): Update gdb
prettyprinter for cgraph_node to reflect the conversion of the
symtable types to a C++ class hierarchy: it now *is* a
symtab_node_base, rather than having one (named "symbol").

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

10 years agoAdded Cilk runtime library (libcilkrts) into GCC.
bviyer [Tue, 29 Oct 2013 18:37:47 +0000 (18:37 +0000)]
Added Cilk runtime library (libcilkrts) into GCC.

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

10 years agoAdded _Cilk_spawn and _Cilk_sync (2 cilk keywords) for C.
bviyer [Tue, 29 Oct 2013 18:36:31 +0000 (18:36 +0000)]
Added _Cilk_spawn and _Cilk_sync (2 cilk keywords) for C.

gcc/ChangeLog:
2013-10-29  Balaji V. Iyer  <balaji.v.iyer@intel.com>

* builtins.c (is_builtin_name): Added a check for __cilkrts_detach and
__cilkrts_pop_frame.  If matched, then return true for built-in
function name.
(expand_builtin): Added BUILT_IN_CILK_DETACH and
BUILT_IN_CILK_POP_FRAME case.
* langhooks-def.h (lhd_install_body_with_frame_cleanup): New prototype.
(lhs_cilk_detect_spawn): Likewise.
(LANG_HOOKS_DECLS): Added LANG_HOOKS_CILKPLUS.
(LANG_HOOKS_CILKPLUS_DETECT_SPAWN_AND_UNWRAP): New #define.
(LANG_HOOKS_CILKPLUS_FRAME_CLEANUP): Likewise.
(LANG_HOOKS_CILKPLUS_GIMPLIFY_SPAWN): Likewise.
(LANG_HOOKS_CILKPLUS): Likewise.
* tree.h (CILK_SPAWN_FN): Likewise.
* builtin.def (DEF_CILK_BUILTIN_STUB): Likewise.
* Makefile.in (C_COMMON_OBJS): Added c-family/cilk.o.
(OBJS): Added cilk-common.o.
(CILK_H): Added a new define.
(gimplify.o): Added CILK_H into dependency list.
(builtins.o): Likewise.
(ipa-inline.o): Likewise.
(ipa-inline-analysis.o): Likewise.
(BUILTINS_DEF): Added cilk-builtins.def.
* langhooks.c (lhd_install_body_with_frame_cleanup): New function.
(lhd_cilk_detect_spawn): Likewise.
* langhooks.h (lang_hooks_for_cilkplus): New struct.
(struct lang_hooks): Added new field called "cilkplus."
* cilk-common.c: New file.
* cilk.h: Likewise.
* cilk-builtins.def: Likewise.
* cppbuiltin.c (define_builtin_macros_for_compilation_flags): Added
"__cilk" macro and set it to 200.
* function.h (struct function::cilk_frame_decl): New field.
(struct function::is_cilk_function): Likewise.
(struct function::calls_cilk_spawn): Likewise.
* gimplify.c (gimplify_call_expr): Added a check if the function call
being gimplified is a spawn detach point.  If so, then add pop_frame
and detach function calls.
(gimplify_expr): Added a CILK_SPAWN_STMT and CILK_SYNC_STMT case
for gimplifying _Cilk_spawn and _Cilk_sync statements.
(gimplify_return_expr): Added a check for _Cilk_spawn usage in
function.  If so, added a _Cilk_sync and gimplified it.
(gimplify_modify_expr): Added a check for _Cilk_spawn in MODIFY and
INIT_EXPRs.  If so, then call gimplify_cilk_spawn.
* ipa-inline-analysis (initialize_inline_failed): Prevent inlining of
spawner function.
(can_inline_edge_p): Prevent inling of spawnee function.
* ira.c (ira_setup_eliminable_regset): Force usage of frame pointer
for functions that use Cilk keywords.
* tree-inline.h (struct copy_body_data::remap_var_for_cilk): New field.
* tree-pretty-print.c (dump_generic_node): Added CILK_SPAWN_STMT and
CILK_SYNC_STMT cases.
* tree.def (DEFTREECODE): Added CILK_SPAWN_STMT and CILK_SYNC_STMT
trees.
* generic.texi (CILK_SPAWN_STMT): Added documentation for _Cilk_spawn.
(CILK_SYNC_STMT): Added documentation for _Cilk_sync.
* passes.texi (Cilk Keywords): New section that describes the compiler
code changes for handling Cilk Keywords.

gcc/c/ChangeLog:
2013-10-29  Balaji V. Iyer  <balaji.v.iyer@intel.com>

* c-decl.c (finish_function): Added a call for insert_cilk_frame when
a spawning function is found.
* c-objc-common.h (LANG_HOOKS_CILKPLUS_GIMPLIFY_SPAWN): New #define.
(LANG_HOOKS_CILKPLUS_FRAME_CLEANUP): Likewise.
(LANG_HOOKS_CILKPLUS_DETECT_SPAWN_AND_UNWRAP): Likewise.
* c-parser.c (c_parser_statement_after_labels): Added RID_CILK_SYNC
case.
(c_parser_postfix_expression): Added RID_CILK_SPAWN case.
* c-typeck.c (build_compound_expr): Reject _Cilk_spawn in a comma
expr.
(c_finish_return): Added a check to reject _Cilk_spawn in return
expression.
(build_cilk_spawn): New function.
(build_cilk_sync): Likewise.
* Makefile.in (c-decl.o): Added cilk.h in dependency list.

gcc/c-family/ChangeLog
2013-10-29  Balaji V. Iyer  <balaji.v.iyer@intel.com>

* c-common.c (c_common_reswords[]): Added _Cilk_spawn and _Cilk_sync
fields.
(c_define_builtins): Called cilk_init_builtins if Cilk Plus is
enabled.
* c-common.h (enum rid): Added RID_CILK_SPAWN and RID_CILK_SYNC.
(insert_cilk_frame): New prototype.
(cilk_init_builtins): Likewise.
(gimplify_cilk_spawn): Likewise.
(c_cilk_install_body_w_frame_cleanup): Likewise.
(cilk_detect_spawn_and_unwrap): Likewise.
(cilk_set_spawn_marker): Likewise.
(build_cilk_sync): Likewise.
(build_cilk_spawn): Likewise.
* cilk.c: New file.

gcc/lto/ChangeLog
2013-10-29  Balaji V. Iyer  <balaji.v.iyer@intel.com>

* Make-lang.in (lto/lto-lang.o): Added cilk.h in dependency list.
* lto-lang.c (lto_init): Added a call to cilk_init_builtins if Cilk
Plus is enabled.

gcc/testsuite/ChangeLog
2013-10-29  Balaji V. Iyer  <balaji.v.iyer@intel.com>

* c-c++-common/cilk-plus/CK/compound_cilk_spawn.c: New test.
* c-c++-common/cilk-plus/CK/concec_cilk_spawn.c: Likewise.
* c-c++-common/cilk-plus/CK/fib.c: Likewise.
* c-c++-common/cilk-plus/CK/no_args_error.c: Likewise.
* c-c++-common/cilk-plus/CK/spawnee_inline.c: Likewise.
* c-c++-common/cilk-plus/CK/spawner_inline.c: Likewise.
* c-c++-common/cilk-plus/CK/spawning_arg.c: Likewise.
* c-c++-common/cilk-plus/CK/steal_check.c: Likewise.
* c-c++-common/cilk-plus/CK/test__cilk.c: Likewise.
* c-c++-common/cilk-plus/CK/varargs_test.c: Likewise.
* c-c++-common/cilk-plus/CK/sync_wo_spawn.c: Likewise.
* c-c++-common/cilk-plus/CK/invalid_spawn.c: Likewise.
* c-c++-common/cilk-plus/CK/spawn_in_return.c: Likewise.
* c-c++-common/cilk-plus/CK/fib_init_expr_xy.c: Likewise.
* c-c++-common/cilk-plus/CK/fib_no_sync.c: Likewise.
* c-c++-common/cilk-plus/CK/fib_no_return.c: Likewise.
* gcc.dg/cilk-plus/cilk-plus.exp: Added support to run Cilk Keywords
test stored in c-c++-common.  Also, added the Cilk runtime's library
to the ld_library_path.

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

10 years agoAutogenerated fixes of "->symbol." to "->"
dmalcolm [Tue, 29 Oct 2013 18:30:00 +0000 (18:30 +0000)]
Autogenerated fixes of "->symbol." to "->"

This is the autogenerated part of the conversion of the symtable types
to a C++ class hierarchy.

gcc/

Patch autogenerated by refactor_symtab.py from
https://github.com/davidmalcolm/gcc-refactoring-scripts
revision 58bb219cc090b2f4516a9297d868c245495ee622

* asan.c (asan_finish_file): Update for conversion of symtab types to
a true class hierarchy.
* cfgexpand.c (estimated_stack_frame_size): Likewise.
* cgraph.c (cgraph_get_body): Likewise.
(cgraph_get_create_real_symbol_node): Likewise.
(verify_cgraph_node): Likewise.
(verify_edge_corresponds_to_fndecl): Likewise.
(verify_edge_count_and_frequency): Likewise.
(cgraph_will_be_removed_from_program_if_no_direct_calls): Likewise.
(cgraph_can_remove_if_no_direct_calls_p): Likewise.
(cgraph_can_remove_if_no_direct_calls_and_refs_p): Likewise.
(cgraph_node_cannot_return): Likewise.
(cgraph_set_pure_flag_1): Likewise.
(cgraph_set_const_flag_1): Likewise.
(cgraph_set_nothrow_flag_1): Likewise.
(cgraph_make_node_local_1): Likewise.
(cgraph_for_node_and_aliases): Likewise.
(cgraph_for_node_thunks_and_aliases): Likewise.
(cgraph_node_can_be_local_p): Likewise.
(cgraph_node_cannot_be_local_p_1): Likewise.
(cgraph_function_body_availability): Likewise.
(dump_cgraph_node): Likewise.
(cgraph_rtl_info): Likewise.
(cgraph_mark_address_taken_node): Likewise.
(cgraph_remove_node): Likewise.
(cgraph_release_function_body): Likewise.
(cgraph_update_edges_for_call_stmt_node): Likewise.
(cgraph_redirect_edge_call_stmt_to_callee): Likewise.
(cgraph_make_edge_direct): Likewise.
(cgraph_resolve_speculation): Likewise.
(cgraph_speculative_call_info): Likewise.
(cgraph_turn_edge_to_speculative): Likewise.
(cgraph_create_edge_1): Likewise.
(cgraph_set_call_stmt): Likewise.
(cgraph_node_for_asm): Likewise.
(cgraph_add_thunk): Likewise.
(cgraph_same_body_alias): Likewise.
(cgraph_create_function_alias): Likewise.
(cgraph_create_node): Likewise.
(cgraph_create_empty_node): Likewise.
(record_function_versions): Likewise.
(used_from_object_file_p): Likewise.
* cgraph.h (symtab_can_be_discarded): Likewise.
(symtab_real_symbol_p): Likewise.
(cgraph_mark_force_output_node): Likewise.
(cgraph_edge_recursive_p): Likewise.
(symtab_alias_target): Likewise.
(varpool_all_refs_explicit_p): Likewise.
(varpool_can_remove_if_no_refs): Likewise.
(cgraph_only_called_directly_or_aliased_p): Likewise.
(cgraph_next_function_with_gimple_body): Likewise.
(cgraph_first_function_with_gimple_body): Likewise.
(cgraph_function_with_gimple_body_p): Likewise.
(cgraph_next_function): Likewise.
(cgraph_first_function): Likewise.
(cgraph_next_defined_function): Likewise.
(cgraph_first_defined_function): Likewise.
(varpool_next_defined_variable): Likewise.
(varpool_first_defined_variable): Likewise.
(varpool_next_static_initializer): Likewise.
(varpool_first_static_initializer): Likewise.
(varpool_next_variable): Likewise.
(varpool_first_variable): Likewise.
(varpool_node_name): Likewise.
(varpool): Likewise.
(cgraph): Likewise.
(is_a_helper <varpool_node>::test): Likewise.
(is_a_helper <cgraph_node>::test): Likewise.
(varpool_variable_node): Likewise.
(cgraph_function_or_thunk_node): Likewise.
(varpool_alias_target): Likewise.
(cgraph_alias_target): Likewise.
(cgraph_node_name): Likewise.
(varpool_node_asm_name): Likewise.
(cgraph_node_asm_name): Likewise.
* cgraphbuild.c (remove_cgraph_callee_edges): Likewise.
(cgraph_rebuild_references): Likewise.
(rebuild_cgraph_edges): Likewise.
(record_eh_tables): Likewise.
(build_cgraph_edges): Likewise.
(mark_store): Likewise.
(mark_load): Likewise.
(mark_address): Likewise.
(record_type_list): Likewise.
(record_reference): Likewise.
* cgraphclones.c (cgraph_materialize_all_clones): Likewise.
(cgraph_materialize_clone): Likewise.
(cgraph_function_versioning): Likewise.
(cgraph_copy_node_for_versioning): Likewise.
(update_call_expr): Likewise.
(cgraph_find_replacement_node): Likewise.
(cgraph_create_virtual_clone): Likewise.
(cgraph_clone_node): Likewise.
* cgraphunit.c (compile): Likewise.
(output_weakrefs): Likewise.
(output_in_order): Likewise.
(expand_function): Likewise.
(assemble_thunks_and_aliases): Likewise.
(expand_thunk): Likewise.
(mark_functions_to_output): Likewise.
(handle_alias_pairs): Likewise.
(analyze_functions): Likewise.
(walk_polymorphic_call_targets): Likewise.
(varpool_finalize_decl): Likewise.
(process_function_and_variable_attributes): Likewise.
(cgraph_process_same_body_aliases): Likewise.
(analyze_function): Likewise.
(cgraph_add_new_function): Likewise.
(cgraph_finalize_function): Likewise.
(referred_to_p): Likewise.
(cgraph_reset_node): Likewise.
(cgraph_process_new_functions): Likewise.
(enqueue_node): Likewise.
(decide_is_symbol_needed): Likewise.
* coverage.c (coverage_compute_profile_id): Likewise.
* dbxout.c (dbxout_expand_expr): Likewise.
* dwarf2out.c (premark_types_used_by_global_vars_helper): Likewise.
(reference_to_unused): Likewise.
* gimple-fold.c (can_refer_decl_in_current_unit_p): Likewise.
* gimplify.c (unvisit_body): Likewise.
(unshare_body): Likewise.
* ipa-cp.c (ipcp_generate_summary): Likewise.
(ipcp_decision_stage): Likewise.
(identify_dead_nodes): Likewise.
(decide_whether_version_node): Likewise.
(decide_about_value): Likewise.
(perhaps_add_new_callers): Likewise.
(create_specialized_node): Likewise.
(update_profiling_info): Likewise.
(ipcp_propagate_stage): Likewise.
(estimate_local_effects): Likewise.
(good_cloning_opportunity_p): Likewise.
(devirtualization_time_bonus): Likewise.
(propagate_constants_accross_call): Likewise.
(initialize_node_lattices): Likewise.
(ipcp_cloning_candidate_p): Likewise.
(determine_versionability): Likewise.
(print_all_lattices): Likewise.
(print_lattice): Likewise.
(ipcp_discover_new_direct_edges): Likewise.
* ipa-devirt.c (ipa_devirt): Likewise.
(likely_target_p): Likewise.
(update_type_inheritance_graph): Likewise.
(possible_polymorphic_call_target_p): Likewise.
(dump_possible_polymorphic_call_targets): Likewise.
(devirt_variable_node_removal_hook): Likewise.
(record_binfo): Likewise.
(maybe_record_node): Likewise.
(build_type_inheritance_graph): Likewise.
* ipa-inline-analysis.c (inline_write_summary): Likewise.
(inline_generate_summary): Likewise.
(inline_analyze_function): Likewise.
(do_estimate_growth): Likewise.
(simple_edge_hints): Likewise.
(estimate_node_size_and_time): Likewise.
(estimate_edge_devirt_benefit): Likewise.
(compute_inline_parameters): Likewise.
(estimate_function_body_sizes): Likewise.
(compute_bb_predicates): Likewise.
(initialize_inline_failed): Likewise.
(dump_inline_summary): Likewise.
(dump_inline_edge_summary): Likewise.
* ipa-inline-transform.c (inline_transform): Likewise.
(preserve_function_body_p): Likewise.
(save_inline_function_body): Likewise.
(inline_call): Likewise.
(clone_inlined_nodes): Likewise.
(can_remove_node_now_p): Likewise.
(can_remove_node_now_p_1): Likewise.
* ipa-inline.c (early_inliner): Likewise.
(early_inline_small_functions): Likewise.
(inline_always_inline_functions): Likewise.
(ipa_inline): Likewise.
(flatten_function): Likewise.
(inline_small_functions): Likewise.
(speculation_useful_p): Likewise.
(recursive_inlining): Likewise.
(update_caller_keys): Likewise.
(reset_edge_caches): Likewise.
(update_edge_key): Likewise.
(edge_badness): Likewise.
(relative_time_benefit): Likewise.
(want_inline_self_recursive_call_p): Likewise.
(want_inline_small_function_p): Likewise.
(want_early_inline_function_p): Likewise.
(num_calls): Likewise.
(can_early_inline_edge_p): Likewise.
(can_inline_edge_p): Likewise.
(report_inline_failed_reason): Likewise.
* ipa-profile.c (ipa_profile): Likewise.
(ipa_propagate_frequency): Likewise.
(ipa_propagate_frequency_1): Likewise.
(ipa_profile_generate_summary): Likewise.
* ipa-prop.c (ipcp_transform_function): Likewise.
(read_replacements_section): Likewise.
(ipa_prop_read_section): Likewise.
(ipa_modify_call_arguments): Likewise.
(ipa_print_node_params): Likewise.
(propagate_controlled_uses): Likewise.
(update_indirect_edges_after_inlining): Likewise.
(remove_described_reference): Likewise.
(ipa_make_edge_direct_to_target): Likewise.
(ipa_analyze_node): Likewise.
(ipa_analyze_params_uses): Likewise.
(ipa_compute_jump_functions): Likewise.
(ipa_get_callee_param_type): Likewise.
(ipa_print_node_jump_functions): Likewise.
(ipa_initialize_node_params): Likewise.
(ipa_populate_param_decls): Likewise.
(ipa_func_spec_opts_forbid_analysis_p): Likewise.
(write_agg_replacement_chain): Likewise.
(ipa_write_node_info): Likewise.
(ipa_edge_duplication_hook): Likewise.
(try_decrement_rdesc_refcount): Likewise.
* ipa-pure-const.c (propagate_nothrow): Likewise.
(propagate_pure_const): Likewise.
(pure_const_read_summary): Likewise.
(pure_const_write_summary): Likewise.
(analyze_function): Likewise.
* ipa-ref-inline.h (ipa_ref_referred_ref_list): Likewise.
(ipa_ref_referring_ref_list): Likewise.
* ipa-ref.c (ipa_clear_stmts_in_references): Likewise.
(ipa_remove_stmt_references): Likewise.
(ipa_find_reference): Likewise.
(ipa_dump_referring): Likewise.
(ipa_dump_references): Likewise.
(ipa_record_reference): Likewise.
* ipa-reference.c (ipa_reference_read_optimization_summary): Likewise.
(ipa_reference_write_optimization_summary): Likewise.
(write_node_summary_p): Likewise.
(propagate): Likewise.
(read_write_all_from_decl): Likewise.
(generate_summary): Likewise.
(analyze_function): Likewise.
(propagate_bits): Likewise.
(ipa_reference_get_not_written_global): Likewise.
(ipa_reference_get_not_read_global): Likewise.
* ipa-split.c (execute_split_functions): Likewise.
(split_function): Likewise.
* ipa-utils.c (ipa_merge_profiles): Likewise.
(dump_cgraph_node_set): Likewise.
(ipa_reverse_postorder): Likewise.
(ipa_edge_within_scc): Likewise.
(ipa_get_nodes_in_cycle): Likewise.
(ipa_free_postorder_info): Likewise.
(ipa_reduced_postorder): Likewise.
(searchc): Likewise.
(recursive_call_p): Likewise.
* ipa.c (ipa_cdtor_merge): Likewise.
(record_cdtor_fn): Likewise.
(function_and_variable_visibility): Likewise.
(varpool_externally_visible_p): Likewise.
(cgraph_externally_visible_p): Likewise.
(comdat_can_be_unshared_p): Likewise.
(comdat_can_be_unshared_p_1): Likewise.
(address_taken_from_non_vtable_p): Likewise.
(ipa_discover_readonly_nonaddressable_vars): Likewise.
(symtab_remove_unreachable_nodes): Likewise.
(walk_polymorphic_call_targets): Likewise.
(process_references): Likewise.
(enqueue_node): Likewise.
(has_addr_references_p): Likewise.
(cgraph_non_local_node_p_1): Likewise.
* is-a.h (varpool_analyze_node): Likewise.
* lto-cgraph.c (input_symtab): Likewise.
(merge_profile_summaries): Likewise.
(input_cgraph_1): Likewise.
(input_edge): Likewise.
(input_varpool_node): Likewise.
(input_node): Likewise.
(input_overwrite_node): Likewise.
(compute_ltrans_boundary): Likewise.
(output_refs): Likewise.
(lto_output_varpool_node): Likewise.
(lto_output_node): Likewise.
(reachable_from_other_partition_p): Likewise.
(referenced_from_other_partition_p): Likewise.
(lto_output_edge): Likewise.
(output_node_opt_summary): Likewise.
(add_node_to): Likewise.
(reachable_from_this_partition_p): Likewise.
(lto_set_symtab_encoder_in_partition): Likewise.
(lto_symtab_encoder_in_partition_p): Likewise.
(lto_set_symtab_encoder_encode_initializer): Likewise.
(lto_symtab_encoder_encode_initializer_p): Likewise.
(lto_set_symtab_encoder_encode_body): Likewise.
(lto_symtab_encoder_encode_body_p): Likewise.
* lto-section-in.c (lto_free_function_in_decl_state_for_node):
Likewise.
* lto-streamer-in.c (lto_read_body): Likewise.
(fixup_call_stmt_edges): Likewise.
(fixup_call_stmt_edges_1): Likewise.
* lto-streamer-out.c (produce_symtab): Likewise.
(output_symbol_p): Likewise.
(write_symbol): Likewise.
(lto_output): Likewise.
(copy_function): Likewise.
(output_function): Likewise.
* passes.c (function_called_by_processed_nodes_p): Likewise.
(ipa_write_optimization_summaries): Likewise.
(ipa_write_summaries): Likewise.
(do_per_function_toporder): Likewise.
(do_per_function): Likewise.
(dump_passes): Likewise.
* symtab.c (symtab_semantically_equivalent_p): Likewise.
(symtab_nonoverwritable_alias): Likewise.
(symtab_nonoverwritable_alias_1): Likewise.
(symtab_for_node_and_aliases): Likewise.
(symtab_resolve_alias): Likewise.
(fixup_same_cpp_alias_visibility): Likewise.
(symtab_alias_ultimate_target): Likewise.
(symtab_used_from_object_file_p): Likewise.
(verify_symtab_base): Likewise.
(dump_symtab_base): Likewise.
(symtab_node_name): Likewise.
(symtab_node_asm_name): Likewise.
(symtab_dissolve_same_comdat_group_list): Likewise.
(symtab_add_to_same_comdat_group): Likewise.
(symtab_unregister_node): Likewise.
(symtab_insert_node_to_hashtable): Likewise.
(symtab_register_node): Likewise.
(unlink_from_assembler_name_hash): Likewise.
(insert_to_assembler_name_hash): Likewise.
(eq_assembler_name): Likewise.
(hash_node_by_assembler_name): Likewise.
(eq_node): Likewise.
(hash_node): Likewise.
* toplev.c (wrapup_global_declaration_2): Likewise.
* trans-mem.c (ipa_tm_execute): Likewise.
(ipa_tm_transform_clone): Likewise.
(ipa_tm_transform_transaction): Likewise.
(ipa_tm_transform_calls_redirect): Likewise.
(ipa_tm_insert_gettmclone_call): Likewise.
(ipa_tm_insert_irr_call): Likewise.
(ipa_tm_create_version): Likewise.
(ipa_tm_create_version_alias): Likewise.
(ipa_tm_mark_forced_by_abi_node): Likewise.
(ipa_tm_mark_force_output_node): Likewise.
(ipa_tm_diagnose_tm_safe): Likewise.
(ipa_tm_mayenterirr_function): Likewise.
(ipa_tm_scan_irr_function): Likewise.
(ipa_tm_note_irrevocable): Likewise.
(ipa_tm_scan_calls_clone): Likewise.
(get_cg_data): Likewise.
* tree-eh.c (tree_could_trap_p): Likewise.
* tree-emutls.c (ipa_lower_emutls): Likewise.
(create_emultls_var): Likewise.
(lower_emutls_function_body): Likewise.
(gen_emutls_addr): Likewise.
(emutls_decl): Likewise.
(new_emutls_decl): Likewise.
* tree-inline.c (tree_function_versioning): Likewise.
(optimize_inline_calls): Likewise.
(expand_call_inline): Likewise.
(estimate_num_insns): Likewise.
(copy_bb): Likewise.
(delete_unreachable_blocks_update_callgraph): Likewise.
* tree-nested.c (gimplify_all_functions): Likewise.
(create_nesting_tree): Likewise.
(check_for_nested_with_variably_modified): Likewise.
* tree-pretty-print.c (dump_function_header): Likewise.
* tree-profile.c (tree_profiling): Likewise.
* tree-sra.c (ipa_sra_preliminary_function_checks): Likewise.
(modify_function): Likewise.
(convert_callers): Likewise.
(convert_callers_for_node): Likewise.
* tree-ssa-structalias.c (ipa_pta_execute): Likewise.
(associate_varinfo_to_alias): Likewise.
(create_variable_info_for): Likewise.
(get_constraint_for_ssa_var): Likewise.
* tree-vectorizer.c (increase_alignment): Likewise.
* tree.c (find_decls_types_in_var): Likewise.
(find_decls_types_in_node): Likewise.
(free_lang_data_in_decl): Likewise.
* value-prof.c (gimple_ic_transform): Likewise.
(gimple_ic): Likewise.
(check_ic_target): Likewise.
(init_node_map): Likewise.
* varasm.c (decl_binds_to_current_def_p): Likewise.
(default_binds_local_p_1): Likewise.
(dump_tm_clone_pairs): Likewise.
(assemble_alias): Likewise.
(find_decl): Likewise.
(mark_decl_referenced): Likewise.
* varpool.c (varpool_for_node_and_aliases): Likewise.
(varpool_extra_name_alias): Likewise.
(varpool_create_variable_alias): Likewise.
(add_new_static_var): Likewise.
(varpool_finalize_named_section_flags): Likewise.
(varpool_remove_unreferenced_decls): Likewise.
(enqueue_node): Likewise.
(varpool_assemble_decl): Likewise.
(assemble_aliases): Likewise.
(varpool_analyze_node): Likewise.
(cgraph_variable_initializer_availability): Likewise.
(varpool_add_new_variable): Likewise.
(ctor_for_folding): Likewise.
(dump_varpool_node): Likewise.
(varpool_remove_initializer): Likewise.
(varpool_remove_node): Likewise.
(varpool_node_for_decl): Likewise.
(varpool_create_empty_node): Likewise.
* config/i386/i386.c (ix86_generate_version_dispatcher_body):
Likewise.
(ix86_get_function_versions_dispatcher): Likewise.

gcc/ada/

Patch autogenerated by refactor_symtab.py from
https://github.com/davidmalcolm/gcc-refactoring-scripts
revision 58bb219cc090b2f4516a9297d868c245495ee622

* gcc-interface/trans.c (finalize_nrv): Update for conversion of
symtab types to a true class hierarchy.
* gcc-interface/utils.c (gnat_write_global_declarations): Likewise.

gcc/c-family/

Patch autogenerated by refactor_symtab.py from
https://github.com/davidmalcolm/gcc-refactoring-scripts
revision 58bb219cc090b2f4516a9297d868c245495ee622

* c-gimplify.c (c_genericize): Update for conversion of symtab types
to a true class hierarchy.
* c-pragma.c (maybe_apply_pending_pragma_weaks): Likewise.

gcc/cp/

Patch autogenerated by refactor_symtab.py from
https://github.com/davidmalcolm/gcc-refactoring-scripts
revision 58bb219cc090b2f4516a9297d868c245495ee622

* call.c (mark_versions_used): Update for conversion of symtab types
to a true class hierarchy.
* decl2.c (cp_write_global_declarations): Likewise.
(clear_decl_external): Likewise.
(build_java_method_aliases): Likewise.
(collect_candidates_for_java_method_aliases): Likewise.
(mark_needed): Likewise.
(var_finalized_p): Likewise.
(maybe_make_one_only): Likewise.
(maybe_emit_vtables): Likewise.
* lambda.c (maybe_add_lambda_conv_op): Likewise.
* method.c (use_thunk): Likewise.
* optimize.c (maybe_clone_body): Likewise.
* tree.c (cp_fix_function_decl_p): Likewise.

gcc/java/

Patch autogenerated by refactor_symtab.py from
https://github.com/davidmalcolm/gcc-refactoring-scripts
revision 58bb219cc090b2f4516a9297d868c245495ee622

* decl.c (java_mark_decl_local): Update for conversion of symtab types
to a true class hierarchy.

gcc/lto/

Patch autogenerated by refactor_symtab.py from
https://github.com/davidmalcolm/gcc-refactoring-scripts
revision 58bb219cc090b2f4516a9297d868c245495ee622

* lto-partition.c (lto_promote_cross_file_statics): Update for
conversion of symtab types to a true class hierarchy.
(rename_statics): Likewise.
(promote_symbol): Likewise.
(privatize_symbol_name): Likewise.
(lto_balanced_map): Likewise.
(varpool_node_cmp): Likewise.
(node_cmp): Likewise.
(lto_1_to_1_map): Likewise.
(undo_partition): Likewise.
(add_symbol_to_partition): Likewise.
(contained_in_symbol): Likewise.
(add_symbol_to_partition_1): Likewise.
(add_references_to_partition): Likewise.
(symbol_partitioned_p): Likewise.
(get_symbol_class): Likewise.
(lto_max_map): Likewise.
* lto-symtab.c (lto_symtab_prevailing_decl): Likewise.
(lto_symtab_merge_symbols): Likewise.
(lto_symtab_merge_symbols_1): Likewise.
(lto_symtab_merge_decls): Likewise.
(lto_symtab_merge_decls_1): Likewise.
(lto_symtab_merge_decls_2): Likewise.
(lto_symtab_resolve_symbols): Likewise.
(lto_symtab_resolve_can_prevail_p): Likewise.
(lto_symtab_symbol_p): Likewise.
(lto_symtab_resolve_replaceable_p): Likewise.
(lto_symtab_merge): Likewise.
(lto_varpool_replace_node): Likewise.
(lto_cgraph_replace_node): Likewise.
* lto.c (lto_main): Likewise.
(do_whole_program_analysis): Likewise.
(materialize_cgraph): Likewise.
(read_cgraph_and_symbols): Likewise.
(cmp_partitions_order): Likewise.
(lto_materialize_function): Likewise.
(has_analyzed_clone_p): Likewise.

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

10 years agoConvert symtab, cgraph and varpool nodes into a real class hierarchy
dmalcolm [Tue, 29 Oct 2013 18:25:17 +0000 (18:25 +0000)]
Convert symtab, cgraph and varpool nodes into a real class hierarchy

This is the handwritten part of the patch; automated part to follow.

* cgraph.h (symtab_node_base): Convert to a class;
add GTY((desc ("%h.type"), tag ("SYMTAB_SYMBOL"))), and take
chain_next/prev from symtab_node_def.
(cgraph_node): Inherit from symtab_node; add GTY option
tag ("SYMTAB_FUNCTION").
(varpool_node): Inherit from symtab_node; add GTY option
tag ("SYMTAB_VARIABLE").
(symtab_node_def): Remove.
(is_a_helper <cgraph_node>::test (symtab_node_def *)): Convert to...
(is_a_helper <cgraph_node>::test (symtab_node_base *)): ...this.
(is_a_helper <varpool_node>::test (symtab_node_def *)): Convert to...
(is_a_helper <varpool_node>::test (symtab_node_base *)): ...this.

* ipa-ref.h (symtab_node_def): Drop.
(symtab_node): Change underlying type from symtab_node_def to
symtab_node_base.
(const_symtab_node): Likwise.

* is-a.h: Update examples in comment.

* symtab.c (symtab_hash): Change symtab_node_def to symtab_node_base.
(assembler_name_hash): Likewise.

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

10 years ago * doc/tree-ssa.texi (gimple_phi_result): Document.
law [Tue, 29 Oct 2013 17:45:00 +0000 (17:45 +0000)]
  * doc/tree-ssa.texi (gimple_phi_result): Document.
       (gimple_phi_num_args, gimple_phi_arg): Likewise.
       (gimple_phi_arg_edge, gimple_phi_arg_def): Likewise.
       (PHI_RESULT, PHI_NUM_ARGS): Remove.
       (PHI_ARG_ELT, PHI_ARG_EDGE, PHI_ARG_DEF): Likewise.

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

10 years ago * expr.h: Revert change and include tree-core.h.
amacleod [Tue, 29 Oct 2013 16:37:01 +0000 (16:37 +0000)]
* expr.h: Revert change and include tree-core.h.
* rtl.h: Revert change and don't include tree-core.h.

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

10 years ago * config/darwin.c: Include gimple.h.
amacleod [Tue, 29 Oct 2013 15:45:21 +0000 (15:45 +0000)]
* config/darwin.c: Include gimple.h.
* config/i386/winnt.c: Likewise.

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

10 years ago/cp
paolo [Tue, 29 Oct 2013 15:20:10 +0000 (15:20 +0000)]
/cp
2013-10-29  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/58888
* decl2.c (grokfield): Handle auto like NSDMI.

/testsuite
2013-10-29  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/58888
* g++.dg/cpp0x/auto40.C: New.
* g++.dg/other/warning1.C: Adjust.

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

10 years ago2013-10-29 Richard Biener <rguenther@suse.de>
rguenth [Tue, 29 Oct 2013 14:29:22 +0000 (14:29 +0000)]
2013-10-29  Richard Biener  <rguenther@suse.de>

* gcc.dg/torture/restrict-2.c: New testcase.
* gcc.dg/torture/restrict-3.c: Likewise.
* gcc.dg/torture/restrict-4.c: Likewise.
* gcc.dg/torture/restrict-5.c: Likewise.

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

10 years ago2013-10-29 Marc Glisse <marc.glisse@inria.fr>
glisse [Tue, 29 Oct 2013 13:19:08 +0000 (13:19 +0000)]
2013-10-29  Marc Glisse  <marc.glisse@inria.fr>

PR tree-optimization/19831
gcc/
* tree-ssa-alias.c (stmt_kills_ref_p_1): Handle BUILT_IN_FREE.

gcc/testsuite/
* gcc.dg/tree-ssa/alias-25.c: New file.

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

10 years ago2013-10-29 Marc Glisse <marc.glisse@inria.fr>
glisse [Tue, 29 Oct 2013 13:15:48 +0000 (13:15 +0000)]
2013-10-29  Marc Glisse  <marc.glisse@inria.fr>

PR tree-optimization/58689
include/
* ansidecl.h (ATTRIBUTE_RETURNS_NONNULL): New macro.
* libiberty.h (basename, lbasename, dos_lbasename, unix_lbasename,
concat_copy): Mark with attributes nonnull(1) and returns_nonnull.
(concat, reconcat, concat_copy2, choose_temp_base, xstrerror,
xmalloc, xrealloc, xcalloc, xstrdup, xstrndup, xmemdup, pex_init):
Mark with attribute returns_nonnull.

libiberty/
* concat.c: Remove note about xmalloc.

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

10 years ago * tree-outof-ssa.h: Remove include files.
amacleod [Tue, 29 Oct 2013 12:55:50 +0000 (12:55 +0000)]
* tree-outof-ssa.h: Remove include files.
* tree-outof-ssa.c: Add required include files from tree-outof-ssa.h.
* expr.c: Likewise.
* tree-ssa-coalesce.c: Likewise.
* cfgexpand.c: Likewise.
* tree-ssa-ter.c: Likewise.
* ipa-prop.h: Remove gimple.h and tree-core.h from include list.
* lto-streamer.h: Likewise.
* cgraphbuild.c: Add gimple.h to include list.
* data-streamer-in.c: Likewise.
* ipa-cp.c: Likewise.
* tree-streamer.c: Likewise.
* lto-compress.c: Likewise.
* ipa-reference.c: Likewise.
* data-streamer-out.c: Likewise.
* lto-cgraph.c: Likewise.
* cgraphclones.c: Likewise.
* ipa-utils.c: Likewise.
* data-streamer.c: Likewise.
* ipa-split.c: Likewise.
* lto-section-in.c: Likewise.
* tree-streamer-out.c: Likewise.
* ipa-prop.c: Likewise.
* tree-streamer-in.c: Likewise.
* symtab.c: Likewise.
* opts-global.c: Likewise.
* lto-opts.c: Likewise.
* lto-section-out.c: Likewise.
* lto-streamer.c: Likewise.
* rtl.h: Add tree-core.h to include list.
* expr.h: Remove tree-core.h from include list.
* gimple.h: Likewise.
* ipa-utils.h: Likewise.
* streamer-hooks.h: Likewise.
* streamer-hooks.c: Include input.h.

* lto/lto-object.c: Add gimple.h to include list.
* lto/lto-partition.c: Likewise.

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

10 years ago2013-10-29 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
ktkachov [Tue, 29 Oct 2013 12:22:35 +0000 (12:22 +0000)]
2013-10-29  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

* config/arm/arm.c (cortexa7_extra_costs): New table.
(arm_cortex_a7_tune): New.
* config/arm/arm-cores.def: Use cortex_a7 tuning for cortex-a7.

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

10 years agoFix typo.
ebotcazou [Tue, 29 Oct 2013 12:11:38 +0000 (12:11 +0000)]
Fix typo.

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

10 years ago * expr.c (expand_expr_real_1) <case MEM>: Eliminate small redundancy.
ebotcazou [Tue, 29 Oct 2013 12:10:37 +0000 (12:10 +0000)]
* expr.c (expand_expr_real_1) <case MEM>: Eliminate small redundancy.

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

10 years ago2013-10-29 Richard Biener <rguenther@suse.de>
rguenth [Tue, 29 Oct 2013 09:14:23 +0000 (09:14 +0000)]
2013-10-29  Richard Biener  <rguenther@suse.de>

* g++.dg/vect/slp-pr56812.cc: Adjust with respect to -fvect-cost-model
changes.
* gcc.dg/vect/bb-slp-32.c: Likewise.
* gcc.dg/vect/costmodel/i386/i386-costmodel-vect.exp: Likewise.
* gcc.dg/vect/costmodel/ppc/ppc-costmodel-vect.exp: Likewise.
* gcc.dg/vect/costmodel/spu/spu-costmodel-vect.exp: Likewise.
* gcc.dg/vect/costmodel/x86_64/x86_64-costmodel-vect.exp: Likewise.
* gcc.target/powerpc/crypto-builtin-1.c: Likewise.
* gcc.target/powerpc/p8vector-builtin-1.c: Likewise.
* gcc.target/powerpc/p8vector-builtin-2.c: Likewise.
* gcc.target/powerpc/p8vector-builtin-3.c: Likewise.
* gcc.target/powerpc/p8vector-builtin-4.c: Likewise.
* gcc.target/powerpc/p8vector-builtin-5.c: Likewise.
* gcc.target/powerpc/p8vector-vectorize-1.c: Likewise.
* gcc.target/powerpc/p8vector-vectorize-2.c: Likewise.
* gcc.target/powerpc/p8vector-vectorize-3.c: Likewise.
* gcc.target/powerpc/p8vector-vectorize-4.c: Likewise.
* gcc.target/powerpc/p8vector-vectorize-5.c: Likewise.
* gfortran.dg/vect/vect.exp: Likewise.

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

10 years agoMake gengtype more robust against user error
dmalcolm [Tue, 29 Oct 2013 01:16:05 +0000 (01:16 +0000)]
Make gengtype more robust against user error

* doc/gty.texi ("Inheritance and GTY"): Make it clear that
to use autogenerated markers for a class-hierarchy, every class
must have a GTY marker.
* gengtype.h (struct type): Add linked list of subclasses to
the "s" member of the union.
(add_subclass): New decl.
* gengtype-state.c (read_state_struct_type): Set up subclass
linked list.
* gengtype.c (get_ultimate_base_class): New.
(add_subclass): New.
(new_structure): Set up subclass linked list.
(set_gc_used_type): Propagate usage information to subclasses.
(output_mangled_typename): Use get_ultimate_base_class.
(walk_subclasses): Use the subclass linked list, avoiding an
O(N^2) when writing out all types.
(walk_type): Issue an error if the base class is missing a tag,
rather than generating bogus C code.  Add a gcc_unreachable
default case, in case people omit tags from concrete subclasses,
or get the values wrong.
(write_func_for_structure): Issue an error for subclasses for
which the base doesn't have a "desc", since otherwise the
autogenerated routines for the base would silently fail to visit
any subclass fields.
(write_root): Use get_ultimate_base_class, tweaking constness of
tp to match that function's signature.

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

10 years agoAdd documentation about gengtype and inheritance
dmalcolm [Tue, 29 Oct 2013 01:10:20 +0000 (01:10 +0000)]
Add documentation about gengtype and inheritance

* doc/gty.texi (GTY Options): Add note about inheritance to
description of desc and tag.
(Inheritance and GTY): New.

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

10 years agoHandle simple inheritance in gengtype
dmalcolm [Tue, 29 Oct 2013 01:01:52 +0000 (01:01 +0000)]
Handle simple inheritance in gengtype

* gengtype-parse.c (opts_have): Drop "static" so that
we can use this from gengtype.c.
* gengtype.c (set_gc_used_type): Mark any base class as used;
update field traversal to visit inherited fields.
(output_mangled_typename):  Convert references to classes within
an inheritance hierarchy to reference the ultimate base class,
since only it will have gt_ functions.
(get_string_option): New.
(walk_subclasses): New.
(walk_type): Treat GTY structs that have a "desc" as being the
root of an inheritance hierarchy.  Generate a switch on it
within the marking function which walks all subclasses, adding
cases for them via walk_subclasses.  For subclasses, visit all
fields of the type (including inherited ones).
(write_func_for_structure): Don't write fns for subclasses, only
for the ultimate base class within an inheritance hierarchy.
Subclasses-marking will be handled by the base class marking
functions.
(write_types): Likewise.
(write_local_func_for_structure): Likewise.
(USED_BY_TYPED_GC_P): Emit allocators for subclasses that have
a "tag" option (and are thus concrete subclasses).
(write_root): Use the marker function for the ultimate base class.
* gengtype.h (FOR_ALL_INHERITED_FIELDS): New.
(opts_have): Add declaration.

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

10 years agoDaily bump.
gccadmin [Tue, 29 Oct 2013 00:17:05 +0000 (00:17 +0000)]
Daily bump.

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

10 years ago2013-10-28 Vladimir Makarov <vmakarov@redhat.com>
vmakarov [Mon, 28 Oct 2013 23:15:12 +0000 (23:15 +0000)]
2013-10-28  Vladimir Makarov  <vmakarov@redhat.com>

* lra-spills.c (lra_final_code_change): Remove useless move insns
originated from moves of pseudos.

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

10 years ago * lower-subreg.c (resolve_simple_move): Fix comment typo.
law [Mon, 28 Oct 2013 21:45:16 +0000 (21:45 +0000)]
* lower-subreg.c (resolve_simple_move): Fix comment typo.

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

10 years ago2013-10-28 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
wschmidt [Mon, 28 Oct 2013 21:19:19 +0000 (21:19 +0000)]
2013-10-28  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* gcc.dg/vmx/gcc-bug-i.c: Add little endian variant.
* gcc.dg/vmx/eg-5.c: Likewise.

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

10 years ago * df-scan.c (df_collection_rec): Adjust.
law [Mon, 28 Oct 2013 20:03:46 +0000 (20:03 +0000)]
* df-scan.c (df_collection_rec): Adjust.
(copy_defs): New constant.
(copy_uses): Likewise.
(copy_eq_uses): Likewise.
(copy_mw): Likewise.
(copy_all): Likewise.
(df_insn_rescan): Adjust.
(df_notes_rescan): Likewise.
(df_swap_refs): Likewise.
(df_sort_and_compress_refs): Likewise.
(df_sort_and_compress_mws): Likewise.
(df_install_refs): Likewise.
(df_install_mws): Likewise.
(df_refs_add_to_chains): Add flags parameter controlling which vectors
are coppied.
(df_bb_refs_record): Adjust.
(df_record_entry_block_defs): Likewise.
(df_record_exit_block_defs): Likewise.
(df_refs_verify): Likewise.
(df_mws_verify): Likewise.
(df_insn_refs_verify): Likewise.
(df_bb_verify): Likewise.
* ipa-pure-const.c (finish_state): Remove.
(propagate): Adjust.
* tree-data-ref.c tree-ssa-alias.c tree-ssa-loop-ivcanon.c
tree-ssa-threadedge.c tree-vect-loop-manip.c tree-vect-slp.c
var-tracking.c: Adjust.
* vec.c (stack_vecs): Remove.
(register_stack_vec): Likewise.
(stack_vec_register_index): Likewise.
(unregister_stack_vec): Likewise.
* vec.h (struct va_stack): Remove.
(struct vec<T, A, vl_ptr>): Specialize as
struct vec<T, va_heap, vl_ptr> instead since va_heap is the only
allocation strategy compatable with the vl_ptr layout.
(struct vec<T, va_gc, vl_ptr>): Remove because it now gets an empty
specialization anyway.
(class stack_vec): New class.
(vec_stack_alloc): Remove.
(vec<T, va_heap, vl_ptr>::using_auto_storage): New method.

* gcc-interface/decl.c (components_to_record): Adjust.

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

10 years agoRemove directory.
mrs [Mon, 28 Oct 2013 19:13:06 +0000 (19:13 +0000)]
Remove directory.

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

10 years ago * config/i386/i386.md (prefetch): Allow TARGET_AVX512PF.
kyukhin [Mon, 28 Oct 2013 14:40:08 +0000 (14:40 +0000)]
    * config/i386/i386.md (prefetch): Allow TARGET_AVX512PF.
        (*prefetch_avx512pf_<mode>): New.
        * config/i386/sse.md (avx512f_vmcmp<mode>3): Ditto.
        (avx512f_maskcmp<mode>3): Ditto.
        (vashrv16si3): Ditto.

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

10 years ago * config/i386/i386.md (any_truncate): New.
kyukhin [Mon, 28 Oct 2013 14:25:05 +0000 (14:25 +0000)]
* config/i386/i386.md (any_truncate): New.
(trunsuffix): Ditto.
* config/i386/predicates.md (const_8_to_9_operand): New.
(const_10_to_11_operand): Ditto.
(const_12_to_13_operand): Ditto.
(const_14_to_15_operand): Ditto.
(const_16_to_19_operand): Ditto.
(const_20_to_23_operand): Ditto.
(const_24_to_27_operand): Ditto.
(const_28_to_31_operand): Ditto.
* config/i386/sse.md (unspec): Add UNSPEC_UNSIGNED_FIX_NOTRUNC.
(cvtusi2<ssescalarmodesuffix>32): New.
(cvtusi2<ssescalarmodesuffix>64): Ditto.
(ufloatv16siv16sf2): Ditto.
(avx512f_fix_notruncv16sfv16si): Ditto.
(avx512f_ufix_notruncv16sfv16si): Ditto.
(avx512f_vcvtss2usi): Ditto.
(avx512f_vcvtss2usiq): Ditto.
(avx512f_vcvttss2usi): Ditto.
(avx512f_vcvttss2usiq): Ditto.
(avx512f_vcvtsd2usi): Ditto.
(avx512f_vcvtsd2usiq): Ditto.
(avx512f_vcvttsd2usi): Ditto.
(avx512f_vcvttsd2usiq): Ditto.
(ufloatv8siv8df): Ditto.
(avx512f_cvtdq2pd512_2): Ditto.
(avx512f_cvtpd2dq512): Ditto.
(avx512f_ufix_notruncv8dfv8si): Ditto.
(avx512f_cvtpd2ps512): Ditto.
(vec_unpacks_lo_v16sf): Ditto.
(vec_unpacks_hi_v16sf): Ditto.
(vec_unpacks_float_hi_v16si): Ditto.
(vec_unpacks_float_lo_v16si): Ditto.
(avx512f_unpckhps512): Ditto.
(avx512f_unpcklps512): Ditto.
(avx512f_movshdup512): Ditto.
(avx512f_movsldup512): Ditto.
(vec_extract_lo_v32hi): Ditto.
(vec_extract_hi_v32hi): Ditto.
(vec_extract_lo_v64qi): Ditto.
(vec_extract_hi_v64qi): Ditto.
(avx512f_unpckhpd512): Ditto.
(avx512f_movddup512): Ditto.
(avx512f_unpcklpd512): Ditto.
(*avx512f_unpcklpd512): Ditto.
(avx512f_shufps512_1): Ditto.
(avx512f_shufpd512_1): Ditto.
(avx512f_interleave_highv8di): Ditto.
(avx512f_interleave_lowv8di): Ditto.
(PMOV_DST_MODE): Ditto.
(pmov_src_mode): Ditto.
(pmov_src_lower): Ditto.
(pmov_suff): Ditto.
(*avx512f_<code><pmov_src_lower><mode>2): Ditto.
(*avx512f_<code>v8div16qi2): Ditto.
(*avx512f_<code>v8div16qi2_store): Ditto.
(vec_widen_umult_even_v16si): Ditto.
(*vec_widen_umult_even_v16si): Ditto.
(vec_widen_smult_even_v16si): Ditto.
(*vec_widen_smult_even_v16si): Ditto.
(avx512f_interleave_highv16si): Ditto.
(avx512f_interleave_lowv16si): Ditto.
(avx512f_<code>v16qiv16si2): Ditto.
(avx512f_<code>v16hiv16si2): Ditto.
(avx512f_<code>v8qiv8di2): Ditto.
(avx512f_<code>v8hiv8di2): Ditto.
(avx512f_<code>v8siv8di2): Ditto.
(avx512cd_maskb_vec_dupv8di): Ditto.
(avx512cd_maskw_vec_dupv16si): Ditto.
(avx512f_vcvtph2ps512): Ditto.
(avx512f_vcvtps2ph512): Ditto.
(VEC_EXTRACT_MODE): Extened with wider modes.
(VEC_PERM_AVX2): Ditto.
(VEC_PERM_CONST): Ditto.

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

10 years agogcc/testsuite:
amylaar [Mon, 28 Oct 2013 12:19:16 +0000 (12:19 +0000)]
gcc/testsuite:
2013-10-28   Claudiu Zissulescu  <claziss@synopsys.com>
             Joern Rennecke  <joern.rennecke@embecosm.com>
        * gcc.target/arc/jump-around-jump.c: New test.
gcc:
2013-10-28  Joern Rennecke  <joern.rennecke@embecosm.com>
        * config/arc/arc.c (arc_ccfsm_post_advance):
        Add comment about TYPE_RETURN.

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

10 years agoMove require-pic-register-loc.c to correct directory
vries [Mon, 28 Oct 2013 08:10:57 +0000 (08:10 +0000)]
Move require-pic-register-loc.c to correct directory

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

10 years ago2013-10-28 Tim Shen <timshen91@gmail.com>
timshen [Mon, 28 Oct 2013 03:55:12 +0000 (03:55 +0000)]
2013-10-28  Tim Shen  <timshen91@gmail.com>

* regex_executor.tcc: Add comments.

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

10 years ago * tree-ssa-loop-ivopts.c (strip_offset_1): Change parameter type.
amker [Mon, 28 Oct 2013 03:26:58 +0000 (03:26 +0000)]
* tree-ssa-loop-ivopts.c (strip_offset_1): Change parameter type.
Count DECL_FIELD_BIT_OFFSET for COMPONENT_REF.
(strip_offset): Convert offset to unsigned number.

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

10 years agoDaily bump.
gccadmin [Mon, 28 Oct 2013 00:17:00 +0000 (00:17 +0000)]
Daily bump.

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

10 years agoFix line number data for PIC register setup code.
vries [Sun, 27 Oct 2013 23:36:51 +0000 (23:36 +0000)]
Fix line number data for PIC register setup code.

2013-10-27  Tom de Vries  <tom@codesourcery.com>

* cfgexpand.c (gimple_expand_cfg): Remove test for parm_birth_insn.
Don't commit insertions after NOTE_INSN_FUNCTION_BEG.

* gcc.target/arm/require-pic-register-loc.c: New test.

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

10 years ago Fix change log entry.
olegendo [Sun, 27 Oct 2013 22:43:01 +0000 (22:43 +0000)]
Fix change log entry.

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

10 years ago * config/sh/sh.c (MSW, LSW): Move and rename macros to...
olegendo [Sun, 27 Oct 2013 22:40:25 +0000 (22:40 +0000)]
* config/sh/sh.c (MSW, LSW): Move and rename macros to...
* config/sh/sh.h (SH_REG_MSW_OFFSET, SH_REG_LSW_OFFSET): ... here.
(TARGET_BIG_ENDIAN): New macro.
* config/sh/sh.md: Use it instead of !TARGET_LITTLE_ENDIAN.
Use SH_REG_MSW_OFFSET and SH_REG_LSW_OFFSET.
* config/sh/sh.c: Likewise.
* config/sh/sh.h: Likewise.

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

10 years ago PR target/58679
uros [Sun, 27 Oct 2013 20:32:29 +0000 (20:32 +0000)]
PR target/58679
* gcc.target/i386/pr58679-1.c: New test.
* gcc.target/i386/pr58679-2.c: Ditto.

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

10 years agogcc/c-family/
rsandifo [Sun, 27 Oct 2013 18:50:01 +0000 (18:50 +0000)]
gcc/c-family/
* c-lex.c (interpret_integer): Remove call to cpp_num_sign_extend.

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

10 years ago * testsuite/test-demangle.c: Include unistd.h.
gerald [Sun, 27 Oct 2013 18:35:20 +0000 (18:35 +0000)]
* testsuite/test-demangle.c: Include unistd.h.

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

10 years ago * config/cris/cris.c (cris_emit_trap_for_misalignment): Replace the
hp [Sun, 27 Oct 2013 14:42:53 +0000 (14:42 +0000)]
* config/cris/cris.c (cris_emit_trap_for_misalignment): Replace the
removed PRED_MUDFLAP with PRED_NORETURN.  Correct file-path in comment.

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

10 years ago2013-10-27 Tobias Burnus <burnus@net-b.de>
burnus [Sun, 27 Oct 2013 07:40:31 +0000 (07:40 +0000)]
2013-10-27  Tobias Burnus  <burnus@net-b.de>

gcc/c/
        PR other/33426
        * c-parser.c (c_parser_while_statement,
        * c_parser_while_statement,
        c_parser_pragma): Add GCC ivdep support to 'do' and 'while'.
        (c_parser_statement_after_labels): Update calls.

gcc/testsuite/
        PR other/33426
        * gcc.dg/vect/vect-ivdep-2.c: New.

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

10 years agoDaily bump.
gccadmin [Sun, 27 Oct 2013 00:17:11 +0000 (00:17 +0000)]
Daily bump.

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

10 years ago * config/sh/sh.md (movmemsi): Remove empty constraints and predicates.
olegendo [Sat, 26 Oct 2013 23:26:14 +0000 (23:26 +0000)]
* config/sh/sh.md (movmemsi): Remove empty constraints and predicates.
Fix formatting.
(cmpstr_t, cmpstrsi): Fix formatting.

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

10 years ago PR target/52483
olegendo [Sat, 26 Oct 2013 22:07:37 +0000 (22:07 +0000)]
PR target/52483
* config/sh/predicates.md (general_movdst_operand): Allow reg+reg
addressing, do not use general_operand for memory operands.

PR target/52483
* gcc.target/sh/pr52483-1.c: Add tests for memory stores.
* gcc.target/sh/pr52483-2.c: Likewise.
* gcc.target/sh/pr52483-3.c: Likewise.
* gcc.target/sh/pr52483-4.c: Likewise.

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

10 years ago2013-10-26 Vladimir Makarov <vmakarov@redhat.com>
vmakarov [Sat, 26 Oct 2013 17:02:49 +0000 (17:02 +0000)]
2013-10-26  Vladimir Makarov  <vmakarov@redhat.com>

Revert:
2013-10-25  Vladimir Makarov  <vmakarov@redhat.com>
* lra-spills.c (lra_final_code_change): Remove useless move insns.

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

10 years ago2013-10-26 Tim Shen <timshen91@gmail.com>
timshen [Sat, 26 Oct 2013 16:09:28 +0000 (16:09 +0000)]
2013-10-26  Tim Shen  <timshen91@gmail.com>

* include/bits/regex.h: Remove unnecessary friends.
* include/bits/regex.tcc (__regex_algo_impl<>): Move __get_executor
to here.
* include/bits/regex_executor.h: Remove _DFSExecutor and _BFSExecutor;
they are merged into _Executor. Eliminate quantifier tracking part, so
it's faster.
* include/bits/regex_executor.tcc: Implement _Executor.
* testsuite/28_regex/algorithms/regex_match/ecma/char/ungreedy.cc: New.
* testsuite/28_regex/algorithms/regex_search/ecma/greedy.cc: Adjust
duplicate testcases.
* testsuite/performance/28_regex/split.h: New.
* testsuite/performance/28_regex/split_bfs.cc: New.
* testsuite/util/testsuite_regex.h: Adjust behavior of two-executors
agreement judger: do not compare match_results when executor return
false.

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

10 years ago * predict.c (PRED_MUDFLAP): Remove.
law [Sat, 26 Oct 2013 10:24:19 +0000 (10:24 +0000)]
* predict.c (PRED_MUDFLAP): Remove.
* targhooks.c (build_va_arg_indirect_ref): Remove mudflap support.

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

10 years ago * Makefile.def (target_modules): Remove libmudflap
law [Sat, 26 Oct 2013 10:14:34 +0000 (10:14 +0000)]
* Makefile.def (target_modules): Remove libmudflap
(languages): Remove check-target-libmudflap).
* Makefile.in: Rebuilt.
* Makefile.tpl (check-target-libmudflap-c++): Remove.
* configure.ac (target_libraries): Remove target-libmudflap.
Remove checks which disabled libmudflap on some systems.
* configure: Rebuilt.
* libmudflap: Directory removed.

* Makefile.in (C_COMMON_OBJS): Remove tree-mudflap.
(OBJS): Remove tree-nomudflap.o
(GTFILES): Remove tree-mudflap.c
* builtins.c (expand_builtin_alloc): Remove mudflap support.
* gcc.c (MFWRAP_SPEC, MFLIB_SPEC): Likewise.
(mfwrap_spec, mflib_spec): Likewise.
(cpp_unique_options, cc1_options, static_specs): Likewise.
* gimplify (gimplify_vla_decl, build_va_arg_indirect_ref): Likewise.
* passes.def: Likewise.
* toplev.c (compile_file, process_options): Likewise.
* tree-inline.c (copy_tree_r): Likewise.
* tree-pass.,h (make_pass_mudflap_1, make_pass_mudflap_2): Likewise.
* varasm.c (make_decl_rtl, make_decl_rtl_for_debug): Likewise.
(build_constant_desc, output_constant_def_contents): Likewise.
(categorize_decl_for_section): Likewise.
* tree-mudflap.c: Removed.
* tree-mudflap.h: Removed.
* tree-nomudflap.c: Removed.
* bfin/uclinux.h (MFWRAP_SPEC): Remove.
* moxie/uclinux.h (MFWRAP_SPEC): Likewise.
* rs6000/aix.h (MFWRAP_SPEC, MFLIB_SPEC): Likewise.
* config/sol2.h (MFLIB_SPEC): Likewise.
* doc/install.texi: Remove mudflap references.
* doc/passes.texi: Similarly.
* doc/sourcebuild.texi: Similarly.
* doc/invoke.texi: Remove mudlfap related options.

* c-family/c-common.c (c_define_builtins): Remove mudflap support.
* c-family/c.opt: Ignore and warn for mudflap options.

* g++.dg/torture/pr49309.C: Removed.
* gcc.dg/dfp/pr35739.c: Removed.

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

10 years agoDaily bump.
gccadmin [Sat, 26 Oct 2013 00:17:13 +0000 (00:17 +0000)]
Daily bump.

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

10 years ago2013-10-25 Vladimir Makarov <vmakarov@redhat.com>
vmakarov [Fri, 25 Oct 2013 21:34:26 +0000 (21:34 +0000)]
2013-10-25  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/58759
* lra-constraints.c (lra_constraints): Remove wrong condition to
remove insn setting up an equivalent pseudo.

2013-10-25  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/58759
* gcc.target/i386/pr58759.c: New.

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

10 years ago2013-10-25 Vladimir Makarov <vmakarov@redhat.com>
vmakarov [Fri, 25 Oct 2013 21:06:38 +0000 (21:06 +0000)]
2013-10-25  Vladimir Makarov  <vmakarov@redhat.com>

* config/rs6000/rs6000-protos.h
(rs6000_secondary_memory_needed_mode): New prototype.
* config/rs6000/rs6000.c: Include ira.h.
(TARGET_LRA_P): Redefine.
(rs6000_legitimate_offset_address_p): Call
legitimate_constant_pool_address_p in strict mode for LRA.
(rs6000_legitimate_address_p): Ditto.
(legitimate_lo_sum_address_p): Add code for LRA.
Use lra_in_progress.
(rs6000_emit_move): Add LRA version of code to generate load/store
of SDmode values.
(rs6000_secondary_memory_needed_mode): New.
(rs6000_alloc_sdmode_stack_slot): Do nothing for LRA.
(rs6000_secondary_reload_class): Return NO_REGS for LRA for
constants, memory, and FP registers.
(rs6000_lra_p): New.
* config/rs6000/rs6000.h (SECONDARY_MEMORY_NEEDED_MODE): New
macro.
* config/rs6000/rs6000.opt (mlra): New option.
* lra-spills.c (lra_final_code_change): Remove useless move insns.

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

10 years ago2013-10-25 François Dumont <fdumont@gcc.gnu.org>
fdumont [Fri, 25 Oct 2013 19:25:06 +0000 (19:25 +0000)]
2013-10-25  François Dumont  <fdumont@gcc.gnu.org>

* include/debug/formatter.h (__check_singular): Add const on
iterator reference.
* include/debug/functions.h (__check_singular): Likewise.
(__check_singular(const _Safe_iterator<_Ite, _Seq>&)): Delete.
(__check_dereferenceable(const _Ite&)): Add const on iterator
reference.
(__check_dereferenceable(const _Safe_local_iterator<>&)): New.
* include/debug/safe_iterator.h (__check_singular_aux): Review
comment.
* testsuite/23_containers/vector/debug/debug_functions.cc: New.
* testsuite/23_containers/unordered_set/debug/debug_functions.cc:
New.

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

10 years ago2013-10-25 Tobias Burnus <burnus@net-b.de>
burnus [Fri, 25 Oct 2013 19:25:00 +0000 (19:25 +0000)]
2013-10-25  Tobias Burnus  <burnus@net-b.de>

        * g++.dg/vect/pr33426-ivdep.cc: Use dg-options.
        * gfortran.dg/vect/vect-do-concurrent-1.f90: Ditto.
        * testsuite/gcc.dg/vect/vect-ivdep-1.c: Ditto.

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

10 years agogcc/
yufeng [Fri, 25 Oct 2013 17:25:08 +0000 (17:25 +0000)]
gcc/

* tree-ssa-math-opts.c (convert_plusminus_to_widen): Call
has_single_use () and not do the conversion if has_single_use ()
returns false for the multiplication result.

gcc/testsuite/

* gcc.dg/wmul-1.c: New test.

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

10 years ago/cp
paolo [Fri, 25 Oct 2013 16:26:10 +0000 (16:26 +0000)]
/cp
2013-10-25  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/58878
* pt.c (check_template_shadow): Don't skip declarations in inline
member templates.

/testsuite
2013-10-25  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/58878
* g++.dg/template/pr58878.C: New.

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

10 years agoFix names of various macro parameters in tree.h
dmalcolm [Fri, 25 Oct 2013 15:00:35 +0000 (15:00 +0000)]
Fix names of various macro parameters in tree.h

* tree.h (EXCEPTIONAL_CLASS_P): Rename parameter from "CODE"
to "NODE", since this works on a "tree", not an
"enum tree_code".
(CONSTANT_CLASS_P): Likewise.
(TYPE_P): Likewise.
(DECL_P): Likewise.
(INDIRECT_REF_P): Likewise.
(REFERENCE_CLASS_P): Likewise.
(COMPARISON_CLASS_P): Likewise.
(UNARY_CLASS_P): Likewise.
(BINARY_CLASS_P): Likewise.
(STATEMENT_CLASS_P): Likewise.
(VL_EXP_CLASS_P): Likewise.
(EXPRESSION_CLASS_P): Likewise.
(IS_TYPE_OR_DECL_P): Likewise.

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

10 years agolibiberty/
gary [Fri, 25 Oct 2013 13:56:51 +0000 (13:56 +0000)]
libiberty/
2013-10-25  Gary Benson  <gbenson@redhat.com>

* cp-demangle.c (struct d_saved_scope): New structure.
(struct d_print_info): New fields saved_scopes and
num_saved_scopes.
(d_print_init): Initialize the above.
(d_print_free): New function.
(cplus_demangle_print_callback): Call the above.
(d_copy_templates): New function.
(d_print_comp): New variables saved_templates and
need_template_restore.
[DEMANGLE_COMPONENT_REFERENCE,
DEMANGLE_COMPONENT_RVALUE_REFERENCE]: Capture scope the first
time the component is traversed, and use the captured scope for
subsequent traversals.
* testsuite/demangle-expected: Add regression test.

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

10 years ago2013-10-25 Marc Glisse <marc.glisse@inria.fr>
glisse [Fri, 25 Oct 2013 12:35:51 +0000 (12:35 +0000)]
2013-10-25  Marc Glisse  <marc.glisse@inria.fr>

gcc/
* tree-ssa-alias.c (ao_ref_init_from_ptr_and_size): Look for an
ADDR_EXPR in the defining statement.

gcc/testsuite/
* gcc.dg/tree-ssa/alias-23.c: New file.

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

10 years ago2013-10-25 Richard Biener <rguenther@suse.de>
rguenth [Fri, 25 Oct 2013 11:51:11 +0000 (11:51 +0000)]
2013-10-25  Richard Biener  <rguenther@suse.de>

PR tree-optimization/58626
* tree-loop-distribution.c (enum rdg_dep_type): Remove
anti_dd, output_dd and input_dd.
(struct rdg_edge): Remove level and relation members.
(RDGE_LEVEL, RDGE_RELATION): Remove.
(dot_rdg_1): Adjust.
(create_rdg_edge_for_ddr): Remove.
(create_rdg_edges_for_scalar): Adjust.
(create_edge_for_control_dependence): Likewise.
(create_rdg_edges): Split into ...
(create_rdg_flow_edges): ... this
(create_rdg_cd_edges): ... and this.
(free_rdg): Adjust.
(build_rdg): Likewise, do not compute data dependences or
add edges for them.
(pg_add_dependence_edges): New function.
(pgcmp): Likewise.
(distribute_loop): First apply all non-dependence based
partition mergings.  Then compute dependences between partitions
and merge and order partitions according to them.

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

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

10 years ago2013-10-25 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Fri, 25 Oct 2013 10:54:56 +0000 (10:54 +0000)]
2013-10-25  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/54812
* g++.dg/cpp0x/defaulted47.C: New.

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

10 years ago PR rtl-optimization/58831
ebotcazou [Fri, 25 Oct 2013 09:21:11 +0000 (09:21 +0000)]
PR rtl-optimization/58831
* alias.c (init_alias_analysis): At the beginning of each iteration, set
the reg_seen[N] bit if static_reg_base_value[N] is non-null.

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

10 years ago * c-c++-common/pr57793.c: Add expected error messages for
nickc [Fri, 25 Oct 2013 09:04:53 +0000 (09:04 +0000)]
* c-c++-common/pr57793.c: Add expected error messages for
targets with small integers.
* gcc.dg/c99-stdint-1.c: Only run on 32-bit plus targets.
* gcc.dg/c99-stdint-2.c: Likewise.
* gcc.dg/cdce1.c: Likewise.
* gcc.dg/fold-overflow-1.c: Likewise.
* gcc.dg/utf-cvt.c: Likewise.
* gcc.dg/ftrapv-1.c: Only run on targets that support trapping
arithmetic.
* gcc.dg/ftrapv-2.c: Likewise.
* gcc.dg/pr30286.c: Likewise.
* gcc.dg/pr19340.c: Only run on targets that support
scheduling.
* lib/target-supports.exp (check_effective_target_trapping): New
proc.  Returns true if the target supports trapping arithmetic.

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

10 years ago * recog.c (search_ofs): New static variable moved from...
ebotcazou [Fri, 25 Oct 2013 08:55:19 +0000 (08:55 +0000)]
* recog.c (search_ofs): New static variable moved from...
(peep2_find_free_register): ...here.
(peephole2_optimize): Initialize it.

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

10 years ago2013-10-25 Tobias Burnus <burnus@net-b.de>
burnus [Fri, 25 Oct 2013 08:20:11 +0000 (08:20 +0000)]
2013-10-25  Tobias Burnus  <burnus@net-b.de>

        * doc/invoke.texi (fopenmp): Change supported OpenMP version
        to 4.0.

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

10 years ago * config/i386/i386.h (TARGET_MPX): New define.
uros [Fri, 25 Oct 2013 07:08:14 +0000 (07:08 +0000)]
* config/i386/i386.h (TARGET_MPX): New define.
(TARGET_MPX_P): Ditto.

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

10 years ago2013-10-25 Tobias Burnus <burnus@net-b.de>
burnus [Fri, 25 Oct 2013 05:47:25 +0000 (05:47 +0000)]
2013-10-25  Tobias Burnus  <burnus@net-b.de>

        PR other/33426
        * parser.c (cp_parser_iteration_statement,
        cp_parser_for, cp_parser_c_for, cp_parser_pragma): Handle
        IVDEP pragma.

        * g++.dg/parse/ivdep.C: New.
        * g++.dg/vect/pr33426-ivdep.cc: New.

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

10 years ago * config/i386/constraints.md (B): New.
kyukhin [Fri, 25 Oct 2013 05:37:57 +0000 (05:37 +0000)]
* config/i386/constraints.md (B): New.
(Ti): New.
(Tb): New.
* config/i386/i386-c.c (ix86_target_macros_internal): Add __MPX__.
* config/i386/i386-modes.def (BND32): New.
(BND64): New.
* config/i386/i386-protos.h (ix86_bnd_prefixed_insn_p): New.
* config/i386/i386.c (isa_opts): Add mmpx.
(regclass_map): Add bound registers.
(dbx_register_map): Likewise.
(dbx64_register_map): Likewise.
(svr4_dbx_register_map): Likewise.
(PTA_MPX): New.
(ix86_option_override_internal): Support MPX ISA.
(ix86_conditional_register_usage): Support bound registers.
(print_reg): Likewise.
(ix86_code_end): Add MPX bnd prefix.
(output_set_got): Likewise.
(ix86_output_call_insn): Likewise.
(ix86_print_operand): Add '!' (MPX bnd) print prefix support.
(ix86_print_operand_punct_valid_p): Likewise.
(ix86_print_operand_address): Support UNSPEC_BNDMK_ADDR and
UNSPEC_BNDMK_ADDR.
(ix86_class_likely_spilled_p): Add bound regs support.
(ix86_hard_regno_mode_ok): Likewise.
(x86_order_regs_for_local_alloc): Likewise.
(ix86_bnd_prefixed_insn_p): New.
* config/i386/i386.h (FIRST_PSEUDO_REGISTER): Fix to new value.
(FIXED_REGISTERS): Add bound registers.
(CALL_USED_REGISTERS): Likewise.
(REG_ALLOC_ORDER): Likewise.
(HARD_REGNO_NREGS): Likewise.
(TARGET_MPX): New.
(VALID_BND_REG_MODE): New.
(FIRST_BND_REG): New.
(LAST_BND_REG): New.
(reg_class): Add BND_REGS.
(REG_CLASS_NAMES): Likewise.
(REG_CLASS_CONTENTS): Likewise.
(BND_REGNO_P): New.
(ANY_BND_REG_P): New.
(BNDmode): New.
(HI_REGISTER_NAMES): Add bound registers.
* config/i386/i386.md (UNSPEC_BNDMK): New.
(UNSPEC_BNDMK_ADDR): New.
(UNSPEC_BNDSTX): New.
(UNSPEC_BNDLDX): New.
(UNSPEC_BNDLDX_ADDR): New.
(UNSPEC_BNDCL): New.
(UNSPEC_BNDCU): New.
(UNSPEC_BNDCN): New.
(UNSPEC_MPX_FENCE): New.
(BND0_REG): New.
(BND1_REG): New.
(type): Add mpxmov, mpxmk, mpxchk, mpxld, mpxst.
(length_immediate): Likewise.
(prefix_0f): Likewise.
(memory): Likewise.
(prefix_rep): Check for bnd prefix.
(length_nobnd): New.
(length): Use length_nobnd if specified.
(BND): New.
(bnd_ptr): New.
(BNDCHECK): New.
(bndcheck): New.
(*jcc_1): Add bnd prefix and rename length attr to length_nobnd.
(*jcc_2): Likewise.
(jump): Likewise.
(simple_return_internal): Likewise.
(simple_return_pop_internal): Likewise.
(*indirect_jump): Add MPX bnd prefix.
(*tablejump_1): Likewise.
(simple_return_internal_long): Likewise.
(simple_return_indirect_internal): Likewise.
(<mode>_mk): New.
(*<mode>_mk): New.
(mov<mode>): New.
(*mov<mode>_internal_mpx): New.
(<mode>_<bndcheck>): New.
(*<mode>_<bndcheck>): New.
(<mode>_ldx): New.
(*<mode>_ldx): New.
(<mode>_stx): New.
(*<mode>_stx): New.
* config/i386/predicates.md (lea_address_operand): Rename to...
(address_no_seg_operand): ... this.
(address_mpx_no_base_operand): New.
(address_mpx_no_index_operand): New.
(bnd_mem_operator): New.
* config/i386/i386.opt (mmpx): New.
* doc/invoke.texi: Add documentation for the flags -mmpx, -mno-mpx.
* doc/rtl.texi Add documentation for BND32mode and BND64mode.

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

10 years ago * mode-classes.def (MODE_POINTER_BOUNDS): New.
kyukhin [Fri, 25 Oct 2013 05:36:14 +0000 (05:36 +0000)]
    * mode-classes.def (MODE_POINTER_BOUNDS): New.
        * tree.def (POINTER_BOUNDS_TYPE): New.
        * genmodes.c (complete_mode): Support MODE_POINTER_BOUNDS.
        (POINTER_BOUNDS_MODE): New.
        (make_pointer_bounds_mode): New.
        * machmode.h (POINTER_BOUNDS_MODE_P): New.
        * stor-layout.c (int_mode_for_mode): Support MODE_POINTER_BOUNDS.
        (layout_type): Support POINTER_BOUNDS_TYPE.
        * tree-pretty-print.c (dump_generic_node): Support POINTER_BOUNDS_TYPE.
        * tree.c (build_int_cst_wide): Support POINTER_BOUNDS_TYPE.
        (type_contains_placeholder_1): Likewise.
        * tree.h (POINTER_BOUNDS_TYPE_P): New.
        * varasm.c (output_constant): Support POINTER_BOUNDS_TYPE.
        * doc/rtl.texi (MODE_POINTER_BOUNDS): New.

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

10 years ago * expr.c (expand_expr_real_1): Use mode of memory reference rather
law [Fri, 25 Oct 2013 05:06:49 +0000 (05:06 +0000)]
    * expr.c (expand_expr_real_1): Use mode of memory reference rather
        than mode of address computation when calling memory_address_addr_space.

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

10 years agoDaily bump.
gccadmin [Fri, 25 Oct 2013 00:17:02 +0000 (00:17 +0000)]
Daily bump.

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

10 years agoPR rtl/58542
rth [Thu, 24 Oct 2013 22:27:53 +0000 (22:27 +0000)]
PR rtl/58542

* optabs.c (maybe_emit_atomic_exchange): Use create_input_operand
instead of create_convert_operand_to.
(maybe_emit_sync_lock_test_and_set): Likewise.
(expand_atomic_compare_and_swap): Likewise.
(maybe_emit_compare_and_swap_exchange_loop): Don't convert_modes.

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

10 years ago2013-08-24 Sriraman Tallam <tmsriram@google.com>
tmsriram [Thu, 24 Oct 2013 20:26:52 +0000 (20:26 +0000)]
2013-08-24  Sriraman Tallam  <tmsriram@google.com>

* cgraph.c (cgraph_fnver_htab): Move GTY((...)) to be before htab_t.
Change param_is to use the struct and not the pointer to the struct.

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

10 years agoCorrect the date, which was wrong in commit r204021
burnus [Thu, 24 Oct 2013 19:23:36 +0000 (19:23 +0000)]
Correct the date, which was wrong in commit r204021

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

10 years agocompiler: Implement 3-index slicing.
ian [Thu, 24 Oct 2013 19:16:15 +0000 (19:16 +0000)]
compiler: Implement 3-index slicing.

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