Commit Graph

126169 Commits

Author SHA1 Message Date
Balaji V. Iyer
8c1a9d4d38 configure.ac: Changed a case statement to include i386.
2013-10-30  Balaji V. Iyer  <balaji.v.iyer@intel.com>

       * configure.ac: Changed a case statement to include i386.
       * configure: Regenerated.

From-SVN: r204246
2013-10-30 20:21:02 -07:00
Vladimir Makarov
c73ccc80a3 re PR bootstrap/58933 (IRA ICE in update_costs_from_allocno)
2013-10-30  Vladimir Makarov  <vmakarov@redhat.com>

	PR bootstrap/58933
	* ira-color.c (update_costs_from_copies): Add new parameter.  Use
	it for calling update_costs_from_allocno.
	(assign_hard_reg): Call restore_costs_from_copies only for
	!retry_p.  Pass new argument to update_costs_from_copies.
	(color_pass): Pass new argument to update_costs_from_copies.
	(ira_mark_allocation_change): Ditto.

From-SVN: r204245
2013-10-31 03:14:07 +00:00
Sharad Singhai
477e804b72 re PR middle-end/58134 (-ftree-vectorizer-verbose=<n> shows vectorized loops only for N== 1 and N >2 but not for N==2)
2013-10-30  Sharad Singhai  <singhai@google.com>

	PR middle-end/58134
	* opts.c (common_handle_option): Remove deprecated option
	-ftree-vectorizer-verbose.
	* doc/invoke.texi (Debugging Options): Ditto.
	* opts-global.c (handle_common_deferred_options): Ditto.
	(dump_remap_tree_vectorizer_verbose): Delete.
	* common.opt: Set -ftree-vectorizer-verbose as an ignored option.

ada/ChangeLog
	* gnat_ugn.texi: Remove option description for PR middle-end/58134.

From-SVN: r204244
2013-10-31 01:01:40 +00:00
DJ Delorie
4bbd2ea80f rx.c (ADD_RX_BUILTIN0): New macro, used for builtins that take no arguments.
* config/rx/rx.c (ADD_RX_BUILTIN0): New macro, used for builtins
that take no arguments.

From-SVN: r204239
2013-10-30 20:29:49 -04:00
GCC Administrator
d36ff35b33 Daily bump.
From-SVN: r204238
2013-10-31 00:17:05 +00:00
Joern Rennecke
e27a6430c7 re PR rtl-optimization/58545 (error: unable to find a register to spill in class 'POINTER_REGS')
gcc:
        PR other/58545
        * reload1.c (update_eliminables_and_spill): New function, broken
        out of reload.
        (reload): Use it.  Check for frame size change after frame
        size alignment, and call update_eliminables_and_spill first
        if continue-ing.
gcc/testsuite:
        PR other/58545
        * gcc.target/avr/pr58545.c: New test.

From-SVN: r204234
2013-10-30 23:55:46 +00:00
Balaji V. Iyer
fbdec79172 Fix for bug Bootstrap/58918.
+2013-10-30  Balaji V. Iyer  <balaji.v.iyer@intel.com>
+
+       * configure: Reconfigured.
+       * configure.ac: Add AC_FUNC_ALLOCA.
+       * runtime/sysdep-unix.c: Added check for alloca.h before
+       including it.
+       * config/x86/cilk-abi-vla.c: Likewise.
+       * runtime/cilk_fiber-unix.cpp: Likewise.
+

From-SVN: r204232
2013-10-30 15:51:29 -07:00
Jonathan Wakely
2283f03ac9 pointer_partial_void.cc: Fix and enable VERIFY tests.
* testsuite/29_atomics/atomic/operators/pointer_partial_void.cc: Fix
	and enable VERIFY tests.

From-SVN: r204231
2013-10-30 22:05:17 +00:00
Tobias Burnus
adffea1e08 revert: cilk-plus.exp: Add the libcilkrts library path to the compile flags.
2013-10-30  Tobias Burnus  <burnus@net-b.de>

        Revert:
        2013-10-30  Tobias Burnus  <burnus@net-b.de>
        * gcc.dg/cilk-plus/cilk-plus.exp: Add the libcilkrts library
        path to the compile flags.

From-SVN: r204230
2013-10-30 21:29:06 +01:00
Cong Hou
8f24613d02 re PR target/58762 ([missed optimization] Vectorizing abs(int).)
2013-10-30  Cong Hou  <congh@google.com>

    PR target/58762
    * config/i386/i386-protos.h (ix86_expand_sse2_abs): New function.
    * config/i386/i386.c (ix86_expand_sse2_abs): New function.
    * config/i386/sse.md: Add SSE2 support to abs (8/16/32-bit-int).

2013-10-30  Cong Hou  <congh@google.com>

    * gcc.target/i386/vect-abs-s8.c: New test.
    * gcc.target/i386/vect-abs-s16.c: New test.
    * gcc.target/i386/vect-abs-s32.c: New test.

From-SVN: r204229
2013-10-30 16:01:47 -04:00
Jason Merrill
afbb631e67 semantics.c (finish_compound_literal): Don't create a static variable inside cp_unevaluated_operand.
* semantics.c (finish_compound_literal): Don't create a static variable
	inside cp_unevaluated_operand.

From-SVN: r204228
2013-10-30 15:51:23 -04:00
Tobias Burnus
fc7f44e4c4 cilk-plus.exp: Add the libcilkrts library path to the compile flags.
2013-10-30  Tobias Burnus  <burnus@net-b.de>

        * gcc.dg/cilk-plus/cilk-plus.exp: Add the libcilkrts library
        path to the compile flags.

From-SVN: r204227
2013-10-30 20:51:17 +01:00
Jason Merrill
04056396ec * init.c (push_base_cleanups): Check ANON_AGGR_TYPE_P.
From-SVN: r204226
2013-10-30 15:50:36 -04:00
Jonathan Wakely
8d52ed5c81 shared_ptr (__shared_ptr): Assert non-void pointer.
* include/bits/shared_ptr (__shared_ptr): Assert non-void pointer.
	* include/bits/shared_ptr (default_delete): Likewise.
	* testsuite/20_util/shared_ptr/cons/58839.cc: Do not use
	default_delete<void>.
	* testsuite/20_util/shared_ptr/cons/void_neg.cc: New.
	* testsuite/20_util/default_delete/void_neg.cc: New.
	* testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust line numbers.
	* testsuite/20_util/unique_ptr/assign/48635_neg.cc: Likewise.

From-SVN: r204225
2013-10-30 19:48:52 +00:00
Jeff Law
4608893952 re PR rtl-optimization/58369 (ICE in subreg_get_info when compiling boost for m68k-linux)
PR rtl-optimization/58369
	* reload1.c (compute_reload_subreg_offset): New function.
	(choose_reload_regs): Use it to pass endian-correct
	offset to subreg_regno_offset.

	* PR rtl-optimization/58369
	* g++.dg/torture/pr58369.C: New test.

From-SVN: r204224
2013-10-30 13:21:27 -06:00
Tobias Burnus
c5028d807f re PR other/33426 (Support of #pragma ivdep)
2013-10-30  Tobias Burnus  <burnus@net-b.de>

gcc/cp/
        PR other/33426
        * cp-tree.h (RANGE_FOR_IVDEP): Define.
        (cp_convert_range_for, finish_while_stmt_cond, finish_do_stmt,
        finish_for_cond): Take 'bool ivdep' parameter.
        * cp-array-notation.c (create_an_loop): Update call.
        * init.c (build_vec_init): Ditto.
        * pt.c (tsubst_expr): Ditto.
        * parser.c (cp_parser_iteration_statement, cp_parser_for,
        cp_parser_range_for, cp_convert_range_for): Update calls.
        (cp_parser_pragma): Accept GCC ivdep for 'while' and 'do'.
        * semantics.c (finish_while_stmt_cond, finish_do_stmt,
        finish_for_cond): Optionally build ivdep annotation.

gcc/testsuite/
        PR other/33426
        * g++.dg/vect/pr33426-ivdep-2.cc: New.
        * g++.dg/vect/pr33426-ivdep-3.cc: New.
        * g++.dg/vect/pr33426-ivdep-4.cc: New.

gcc/
        PR other/33426
        * gcc/tree-cfg.c (replace_loop_annotate): Replace warning by
        warning_at.

From-SVN: r204223
2013-10-30 19:53:42 +01:00
Jakub Jelinek
1079f7a198 re PR target/47754 ([missed optimization] AVX allows unaligned memory operands but GCC uses unaligned load and register operand)
PR target/47754
	* config/i386/i386.c (ix86_avx256_split_vector_move_misalign): If
	op1 is misaligned_operand, just use *mov<mode>_internal insn
	rather than UNSPEC_LOADU load.
	(ix86_expand_vector_move_misalign): Likewise (for TARGET_AVX only).
	Avoid gen_lowpart on op0 if it isn't MEM.

	* gcc.target/i386/avx256-unaligned-load-1.c: Adjust scan-assembler
	and scan-assembler-not regexps.
	* gcc.target/i386/avx256-unaligned-load-2.c: Likewise.
	* gcc.target/i386/avx256-unaligned-load-3.c: Likewise.
	* gcc.target/i386/avx256-unaligned-load-4.c: Likewise.
	* gcc.target/i386/l_fma_float_1.c: Use pattern for
	scan-assembler-times instead of just one insn name.
	* gcc.target/i386/l_fma_float_2.c: Likewise.
	* gcc.target/i386/l_fma_float_3.c: Likewise.
	* gcc.target/i386/l_fma_float_4.c: Likewise.
	* gcc.target/i386/l_fma_float_5.c: Likewise.
	* gcc.target/i386/l_fma_float_6.c: Likewise.
	* gcc.target/i386/l_fma_double_1.c: Likewise.
	* gcc.target/i386/l_fma_double_2.c: Likewise.
	* gcc.target/i386/l_fma_double_3.c: Likewise.
	* gcc.target/i386/l_fma_double_4.c: Likewise.
	* gcc.target/i386/l_fma_double_5.c: Likewise.
	* gcc.target/i386/l_fma_double_6.c: Likewise.

From-SVN: r204219
2013-10-30 18:59:44 +01:00
Jason Merrill
3e4403a4c4 * decl.c (cp_finish_decl): Never throw for VLA bound == 0.
From-SVN: r204218
2013-10-30 13:30:10 -04:00
Jason Merrill
1652c6dada Makefile.tpl (STAGE1_CONFIGURE_FLAGS): Pass --disable-build-format-warnings.
/
	* Makefile.tpl (STAGE1_CONFIGURE_FLAGS): Pass
	--disable-build-format-warnings.
gcc/
	* configure.ac (loose_warn): Add -Wno-format if
	--disable-build-format-warnings.

From-SVN: r204217
2013-10-30 13:30:05 -04:00
David Malcolm
378cd6b1e3 Split symtab_node declarations onto multiple lines
gcc/
	* cgraphunit.c (analyze_functions): Split symtab_node
	declarations onto multiple lines to make things easier
	for rename_symtab.py.

	* symtab.c (symtab_dissolve_same_comdat_group_list): Likewise.
	(symtab_semantically_equivalent_p): Likewise.

gcc/lto
	* lto-symtab.c (lto_symtab_merge_decls_2): Split symtab_node
	declarations onto multiple lines to make things easier for
	rename_symtab.py.
	(lto_symtab_merge_decls_1): Likewise.
	(lto_symtab_merge_symbols_1): Likewise.

From-SVN: r204216
2013-10-30 15:58:45 +00:00
Vladimir Makarov
a26891f4f5 re PR target/58784 ([ARM] LRA legitimate address issue with misalign neon_store)
2013-10-30  Vladimir Makarov  <vmakarov@redhat.com>

	PR target/58784
	* lra.c (check_rtl): Remove address check before LRA work.

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

	PR target/58784
	* gcc.target/arm/pr58784.c: New.

From-SVN: r204215
2013-10-30 15:04:39 +00:00
Marc Glisse
6ecb8b21c8 tree-ssa-alias.c (ao_ref_init_from_ptr_and_size): Look for a POINTER_PLUS_EXPR in the defining statement.
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.

From-SVN: r204213
2013-10-30 14:33:49 +00:00
Vladimir Makarov
3b6d16993b regmove.c: Remove.
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.

From-SVN: r204212
2013-10-30 14:27:25 +00:00
Richard Biener
1bef9b2340 re PR rtl-optimization/57100 (ICE: in pre_and_rev_post_order_compute, at cfganal.c:869 with -fdump-rtl-pro_and_epilogue-graph)
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.

From-SVN: r204211
2013-10-30 14:22:01 +00:00
Jakub Jelinek
193ea7bc8c * cilk.c (create_cilk_helper_decl): Use HOST_WIDE_INT_PRINT_DEC.
From-SVN: r204209
2013-10-30 14:50:25 +01:00
Christian Bruel
ca494b8d78 sh-mem.cc (sh_expand_cmpnstr): New function.
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.

From-SVN: r204206
2013-10-30 13:35:27 +01:00
Martin Jambor
eb1474c1a2 re PR rtl-optimization/10474 (shrink wrapping for functions)
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.

From-SVN: r204205
2013-10-30 13:01:46 +01:00
Ramana Radhakrishnan
55ebf58738 re PR target/58854 ("sub sp, fp, #40" hoisted above frame accesses)
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.

From-SVN: r204203
2013-10-30 10:54:04 +00:00
Eric Botcazou
34a3fb96dc Minor tweaks
From-SVN: r204202
2013-10-30 10:36:49 +00:00
Ilya Enkovich
ea9637cdcd tree-core.h (tree_index): Add TI_POINTER_BOUNDS_TYPE.
* 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.

From-SVN: r204199
2013-10-30 09:09:44 +00:00
Ilya Enkovich
0038da6695 ipa.c (cgraph_build_static_cdtor_1): Support contructors with "chkp ctor" and "bnd_legacy" attributes.
* 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.

From-SVN: r204198
2013-10-30 09:08:14 +00:00
Ilya Enkovich
2017035a60 c-common.c (handle_bnd_variable_size_attribute): New.
* 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.

From-SVN: r204197
2013-10-30 09:07:24 +00:00
Ilya Enkovich
109719ebd4 builtin-types.def (BT_FN_VOID_CONST_PTR): New.
* 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.

From-SVN: r204196
2013-10-30 09:06:20 +00:00
Ilya Enkovich
f481a2ce85 target.def (builtin_chkp_function): New.
* 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.

From-SVN: r204195
2013-10-30 08:57:50 +00:00
Andrew Pinski
5d2a9da9a7 tree-ssa-ifcombine.c: Include rtl.h and tm_p.h.
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.


Co-Authored-By: Zhenqiang Chen <zhenqiang.chen@linaro.org>

From-SVN: r204194
2013-10-29 21:03:41 -07:00
Mike Stump
d8487c949a machmode.def (PARTIAL_INT_MODE): Add precision and name.
* 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.

From-SVN: r204193
2013-10-30 03:02:00 +00:00
GCC Administrator
f0be72ea22 Daily bump.
From-SVN: r204192
2013-10-30 00:17:24 +00:00
Tobias Burnus
8a1a4544e9 gcc_update (files_and_dependencies): Add rules for libcilkrts.
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.

From-SVN: r204189
2013-10-30 01:09:21 +01:00
Tobias Burnus
be0ec0a5dc Re-add changelog item to r204180 which got lost through r204181
From-SVN: r204187
2013-10-29 23:04:19 +01:00
Tobias Burnus
9efc08268f re PR fortran/44350 (accepts illegal fortran in BLOCK DATA)
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.

From-SVN: r204185
2013-10-29 22:48:02 +01:00
Jonathan Wakely
c8c0f5577d re PR libstdc++/58839 (dereferencing void* in shared_ptr(unique_ptr&& u) constructor)
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.

From-SVN: r204184
2013-10-29 21:33:29 +00:00
Jonathan Wakely
da2e699194 hashtable.cc (__access_protected_ctor): Define and use new type instead of _Hashtable_ebo_helper.
* 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.

From-SVN: r204182
2013-10-29 21:19:34 +00:00
Paul Thomas
94b89bc0ea correct format
From-SVN: r204181
2013-10-29 21:18:09 +00:00
Oleg Endo
dd331dd0b5 re PR target/54236 ([SH] Improve addc and subc insn utilization)
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.

From-SVN: r204180
2013-10-29 20:45:56 +00:00
Paul Thomas
c6a684e36c correct PR numbers
From-SVN: r204179
2013-10-29 20:41:39 +00:00
Teresa Johnson
b6c0035364 re PR ipa/58862 (LTO profiledbootstrap failure: lto1: ICE in edge_badness, at ipa-inline.c:1008)
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.

From-SVN: r204178
2013-10-29 20:39:49 +00:00
Paul Thomas
258125712b PR fortran 57893
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.

From-SVN: r204177
2013-10-29 20:30:51 +00:00
David Malcolm
d19245aa46 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").

From-SVN: r204174
2013-10-29 18:58:42 +00:00
Balaji V. Iyer
3038054c68 Added Cilk runtime library (libcilkrts) into GCC.
From-SVN: r204173
2013-10-29 11:37:47 -07:00
Balaji V. Iyer
939b37da6d 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.

From-SVN: r204172
2013-10-29 11:36:31 -07:00