Commit Graph

132002 Commits

Author SHA1 Message Date
David Malcolm 0f82e5c9fb Split NEXT_INSN/PREV_INSN into lvalue and rvalue forms
/
2014-08-19  David Malcolm  <dmalcolm@redhat.com>

	* rtx-classes-status.txt: Add SET_NEXT_INSN, SET_PREV_INSN.

gcc/
2014-08-19  David Malcolm  <dmalcolm@redhat.com>

	* rtl.h (PREV_INSN): Split macro in two: the existing one,
	for rvalues, and...
	(SET_PREV_INSN): New macro, for use as an lvalue.
	(NEXT_INSN, SET_NEXT_INSN): Likewise.

	* caller-save.c (save_call_clobbered_regs): Convert lvalue use of
	PREV_INSN/NEXT_INSN into SET_PREV_INSN/SET_NEXT_INSN.
	* cfgrtl.c (try_redirect_by_replacing_jump): Likewise.
	(fixup_abnormal_edges): Likewise.
	(unlink_insn_chain): Likewise.
	(fixup_reorder_chain): Likewise.
	(cfg_layout_delete_block): Likewise.
	(cfg_layout_merge_blocks): Likewise.
	* combine.c (update_cfg_for_uncondjump): Likewise.
	* emit-rtl.c (link_insn_into_chain): Likewise.
	(remove_insn): Likewise.
	(delete_insns_since): Likewise.
	(reorder_insns_nobb): Likewise.
	(emit_insn_after_1): Likewise.
	* final.c (rest_of_clean_state): Likewise.
	(final_scan_insn): Likewise.
	* gcse.c (can_assign_to_reg_without_clobbers_p): Likewise.
	* haifa-sched.c (concat_note_lists): Likewise.
	(remove_notes): Likewise.
	(restore_other_notes): Likewise.
	(move_insn): Likewise.
	(unlink_bb_notes): Likewise.
	(restore_bb_notes): Likewise.
	* jump.c (delete_for_peephole): Likewise.
	* optabs.c (emit_libcall_block_1): Likewise.
	* reorg.c (emit_delay_sequence): Likewise.
	(fill_simple_delay_slots): Likewise.
	* sel-sched-ir.c (sel_move_insn): Likewise.
	(sel_remove_insn): Likewise.
	(get_bb_note_from_pool): Likewise.
	* sel-sched.c (move_nop_to_previous_block): Likewise.

	* config/bfin/bfin.c (reorder_var_tracking_notes): Likewise.
	* config/c6x/c6x.c (gen_one_bundle): Likewise.
	(c6x_gen_bundles): Likewise.
	(hwloop_optimize): Likewise.
	* config/frv/frv.c (frv_function_prologue): Likewise.
	(frv_register_nop): Likewise.
	* config/ia64/ia64.c (ia64_init_dfa_pre_cycle_insn): Likewise.
	(ia64_reorg): Likewise.
	* config/mep/mep.c (mep_reorg_addcombine): Likewise.
	(mep_make_bundle): Likewise.
	(mep_bundle_insns): Likewise.
	* config/picochip/picochip.c (reorder_var_tracking_notes): Likewise.
	* config/tilegx/tilegx.c (reorder_var_tracking_notes): Likewise.
	* config/tilepro/tilepro.c (reorder_var_tracking_notes): Likewise.

From-SVN: r214128
2014-08-19 00:54:22 +00:00
Patrick Palka 9c9afb6905 MAINTAINERS (Write After Approval): Add myself.
2014-08-18  Patrick Palka  <ppalka@gcc.gnu.org>

	* MAINTAINERS (Write After Approval): Add myself.

From-SVN: r214127
2014-08-19 00:45:38 +00:00
David Malcolm ef0fe50308 Replace BB_HEAD et al macros with functions
gcc/
2014-08-19  David Malcolm  <dmalcolm@redhat.com>

	* basic-block.h (BB_HEAD): Convert to a function.  Strengthen the
	return type from rtx to rtx_insn *.
	(BB_END): Likewise.
	(BB_HEADER): Likewise.
	(BB_FOOTER): Likewise.
	(SET_BB_HEAD): Convert to a function.
	(SET_BB_END): Likewise.
	(SET_BB_HEADER): Likewise.
	(SET_BB_FOOTER): Likewise.

	* cfgrtl.c (BB_HEAD): New function, from macro of same name.
	Strengthen the return type from rtx to rtx_insn *.  For now, this
	is done by adding a checked cast, but this will eventually
	become a field lookup.
	(BB_END): Likewise.
	(BB_HEADER): Likewise.
	(BB_FOOTER): Likewise.
	(SET_BB_HEAD): New function, from macro of same name.  This is
	intended for use as an lvalue, and so returns an rtx& to allow
	in-place modification.
	(SET_BB_END): Likewise.
	(SET_BB_HEADER): Likewise.
	(SET_BB_FOOTER): Likewise.

From-SVN: r214126
2014-08-19 00:26:56 +00:00
GCC Administrator a140b66ba7 Daily bump.
From-SVN: r214125
2014-08-19 00:16:38 +00:00
Paolo Carlini 726d48b0c4 parser.c (cp_parser_expression): Add default arguments.
2014-08-18  Paolo Carlini  <paolo.carlini@oracle.com>

	* parser.c (cp_parser_expression): Add default arguments.
	(cp_parser_primary_expression, cp_parser_postfix_expression,
	cp_parser_array_notation, cp_parser_postfix_open_square_expression,
	cp_parser_unary_expression, cp_parser_direct_new_declarator,
	cp_parser_question_colon_clause, cp_parser_assignment_operator_opt,
	cp_parser_lambda_body, cp_parser_expression_statement,
	cp_parser_condition, cp_parser_c_for, cp_parser_range_for,
	cp_parser_iteration_statement, cp_parser_jump_statement,
	cp_parser_decltype_expr, cp_parser_noexcept_specification_opt,
	cp_parser_asm_operand_list, cp_parser_objc_message_receiver,
	cp_parser_objc_synchronized_statement, cp_parser_objc_throw_statement,
	cp_parser_omp_var_list_no_open, cp_parser_omp_clause_num_threads,
	cp_parser_omp_clause_num_teams, cp_parser_omp_clause_thread_limit,
	cp_parser_omp_clause_linear, cp_parser_omp_clause_device,
	cp_parser_omp_atomic, cp_parser_omp_for_loop_init,
	cp_parser_omp_for_loop, cp_parser_omp_declare_reduction_exprs,
	cp_parser_transaction_expression): Adjust.

From-SVN: r214122
2014-08-18 22:26:03 +00:00
David Malcolm 190bea879f Split BB_HEAD et al into BB_HEAD/SET_BB_HEAD variants
gcc/
2014-08-18  David Malcolm  <dmalcolm@redhat.com>

	* basic-block.h (BB_HEAD): Split macro in two: the existing one,
	for rvalues, and...
	(SET_BB_HEAD): New macro, for use as a lvalue.
	(BB_END, SET_BB_END): Likewise.
	(BB_HEADER, SET_BB_HEADER): Likewise.
	(BB_FOOTER, SET_BB_FOOTER): Likewise.

	* bb-reorder.c (add_labels_and_missing_jumps): Convert lvalue use
	of BB_* macros into SET_BB_* macros.
	(fix_crossing_unconditional_branches): Likewise.
	* caller-save.c (save_call_clobbered_regs): Likewise.
	(insert_one_insn): Likewise.
	* cfgbuild.c (find_bb_boundaries): Likewise.
	* cfgcleanup.c (merge_blocks_move_successor_nojumps): Likewise.
	(outgoing_edges_match): Likewise.
	(try_optimize_cfg): Likewise.
	* cfgexpand.c (expand_gimple_cond): Likewise.
	(expand_gimple_tailcall): Likewise.
	(expand_gimple_basic_block): Likewise.
	(construct_exit_block): Likewise.
	* cfgrtl.c (delete_insn): Likewise.
	(create_basic_block_structure): Likewise.
	(rtl_delete_block): Likewise.
	(rtl_split_block): Likewise.
	(emit_nop_for_unique_locus_between): Likewise.
	(rtl_merge_blocks): Likewise.
	(block_label): Likewise.
	(try_redirect_by_replacing_jump): Likewise.
	(emit_barrier_after_bb): Likewise.
	(fixup_abnormal_edges): Likewise.
	(record_effective_endpoints): Likewise.
	(relink_block_chain): Likewise.
	(fixup_reorder_chain): Likewise.
	(fixup_fallthru_exit_predecessor): Likewise.
	(cfg_layout_duplicate_bb): Likewise.
	(cfg_layout_split_block): Likewise.
	(cfg_layout_delete_block): Likewise.
	(cfg_layout_merge_blocks): Likewise.
	* combine.c (update_cfg_for_uncondjump): Likewise.
	* emit-rtl.c (add_insn_after): Likewise.
	(remove_insn): Likewise.
	(reorder_insns): Likewise.
	(emit_insn_after_1): Likewise.
	* haifa-sched.c (get_ebb_head_tail): Likewise.
	(restore_other_notes): Likewise.
	(move_insn): Likewise.
	(sched_extend_bb): Likewise.
	(fix_jump_move): Likewise.
	* ifcvt.c (noce_process_if_block): Likewise.
	(dead_or_predicable): Likewise.
	* ira.c (update_equiv_regs): Likewise.
	* reg-stack.c (change_stack): Likewise.
	* sel-sched-ir.c (sel_move_insn): Likewise.
	* sel-sched.c (move_nop_to_previous_block): Likewise.

	* config/c6x/c6x.c (hwloop_optimize): Likewise.
	* config/ia64/ia64.c (emit_predicate_relation_info): Likewise.

/
2014-08-18  David Malcolm  <dmalcolm@redhat.com>

	* rtx-classes-status.txt (TODO): Add SET_BB_HEAD, SET_BB_END,
	SET_BB_HEADER, SET_BB_FOOTER

From-SVN: r214121
2014-08-18 20:48:17 +00:00
David Malcolm bb3fff0136 Fix whitespace in ChangeLog entry
From-SVN: r214120
2014-08-18 20:32:36 +00:00
David Malcolm 70e7f57d38 New function: for_each_rtx_in_insn
gcc/
2014-08-18  David Malcolm  <dmalcolm@redhat.com>

	* rtl.h (for_each_rtx_in_insn): New function.
	* rtlanal.c (for_each_rtx_in_insn): Likewise.

From-SVN: r214119
2014-08-18 20:25:45 +00:00
David Malcolm 15f8d3ab4a Introduce rtx_insn subclass of rtx_def
gcc/
2014-08-18  David Malcolm  <dmalcolm@redhat.com>

	* coretypes.h (class rtx_insn): Add forward declaration.

	* rtl.h: Include is-a.h.
	(struct rtx_def): Add dummy "desc" and "tag" GTY options as a
	workaround to ensure gengtype knows inheritance is occurring,
	whilst continuing to use the pre-existing special-casing for
	rtx_def.
	(class rtx_insn): New subclass of rtx_def, adding the
	invariant that we're dealing with something we can sanely use
	INSN_UID, NEXT_INSN, PREV_INSN on.
	(is_a_helper <rtx_insn *>::test): New.
	(is_a_helper <const rtx_insn *>::test): New.

From-SVN: r214118
2014-08-18 20:02:17 +00:00
David Malcolm 26b3538ba2 Introduce safe_as_a
gcc/
2014-08-18  David Malcolm  <dmalcolm@redhat.com>

	* is-a.h (template<T, U> safe_as_a <U *p>) New function.

From-SVN: r214117
2014-08-18 19:50:38 +00:00
David Malcolm c41b94cef2 Add rtx-classes-status.txt
2014-08-18  David Malcolm  <dmalcolm@redhat.com>

        * rtx-classes-status.txt: New file

From-SVN: r214116
2014-08-18 19:37:45 +00:00
Jan Hubicka 2e4c1e6c81 ipa-visibility.c (update_visibility_by_resolution_info): Do no turn UNDEF comdats as extern.
* ipa-visibility.c (update_visibility_by_resolution_info): Do no turn UNDEF
	comdats as extern.

From-SVN: r214115
2014-08-18 19:21:58 +00:00
Jan Hubicka c5ac1780e4 gimple-fold.c (fold_gimple_assign): Do not intorudce referneces to BUILT_IN_UNREACHABLE.
* gimple-fold.c (fold_gimple_assign): Do not intorudce referneces
	to BUILT_IN_UNREACHABLE.

From-SVN: r214114
2014-08-18 19:21:12 +00:00
Uros Bizjak 374f5bf801 re PR target/62011 (False Data Dependency in popcnt instruction)
PR target/62011
	* config/i386/x86-tune.def (X86_TUNE_AVOID_FALSE_DEP_FOR_BMI):
	New tune flag.
	* config/i386/i386.h (TARGET_AVOID_FALSE_DEP_FOR_BMI): New define.
	* config/i386/i386.md (unspec) <UNSPEC_INSN_FALSE_DEP>: New unspec.
	(ffs<mode>2): Do not expand with tzcnt for
	TARGET_AVOID_FALSE_DEP_FOR_BMI.
	(ffssi2_no_cmove): Ditto.
	(*tzcnt<mode>_1): Disable for TARGET_AVOID_FALSE_DEP_FOR_BMI.
	(ctz<mode>2): New expander.
	(*ctz<mode>2_falsedep_1): New insn_and_split pattern.
	(*ctz<mode>2_falsedep): New insn.
	(*ctz<mode>2): Rename from ctz<mode>2.
	(clz<mode>2_lzcnt): New expander.
	(*clz<mode>2_lzcnt_falsedep_1): New insn_and_split pattern.
	(*clz<mode>2_lzcnt_falsedep): New insn.
	(*clz<mode>2): Rename from ctz<mode>2.
	(popcount<mode>2): New expander.
	(*popcount<mode>2_falsedep_1): New insn_and_split pattern.
	(*popcount<mode>2_falsedep): New insn.
	(*popcount<mode>2): Rename from ctz<mode>2.
	(*popcount<mode>2_cmp): Remove.
	(*popcountsi2_cmp_zext): Ditto.

From-SVN: r214112
2014-08-18 20:00:52 +02:00
Aldy Hernandez d6b0bb1c4e * guality/nrv-1.c: Add `used' attribute to a1.
From-SVN: r214111
2014-08-18 17:38:50 +00:00
Ajit Agarwal 57fb889f41 Add Init_priority support.
Added TARGET_ASM_CONSTRUCTOR and TARGET_ASM_DESTRUCTOR macros. These
macros allows users to control the order of initialization of objects
defined at namespace scope with the init_priority attribute by
specifying a relative priority.

ChangeLog:
2014-07-28  Ajit Agarwal  <ajitkum@xilinx.com>

	* config/microblaze/microblaze.c (microblaze_elf_asm_cdtor): New.
	(microblaze_elf_asm_constructor,microblaze_elf_asm_destructor): New.
	* config/microblaze/microblaze.h
	(TARGET_ASM_CONSTRUCTOR,TARGET_ASM_DESTRUCTOR): New Macros.

From-SVN: r214110
2014-08-18 17:04:41 +00:00
H.J. Lu f8df6750f4 Set install_gold_as_default to no for --enable-gold=no
PR other/62168
	* configure.ac: Set install_gold_as_default to no for
	 --enable-gold=no.
	 * configure: Regenerated.

From-SVN: r214108
2014-08-18 08:49:16 -07:00
Roman Gareev eae1a5d419 configure.ac: Eliminate ClooG installation dependency.
* configure.ac: Eliminate ClooG installation dependency.
	* configure: Regenerate.
	* Makefile.tpl: Add definition of ISLLIBS and HOST_ISLLIBS.
	* Makefile.in: Regenerate.

[config/]

	* cloog.m4: Remove the path to isllibs from clooglibs.
	* isl.m4: Add paths to islinc, isllibs.

[gcc/]

	* Makefile.in: Add definition of ISLLIBS, HOST_ISLLIBS.
	* config.in: Add undef of HAVE_isl.
	* configure: Regenerate.
	* configure.ac: Add definition of HAVE_isl.
	* graphite-blocking.c: Add checking of HAVE_isl.
	* graphite-dependences.c: Likewise.
	* graphite-interchange.c: Likewise.
	* graphite-isl-ast-to-gimple.c: Likewise.
	* graphite-optimize-isl.c: Likewise.
	* graphite-poly.c: Likewise.
	* graphite-scop-detection.c: Likewise.
	* graphite-sese-to-poly.c: Likewise.
	* graphite.c: Likewise.
	* toplev.c: Replace the checking of HAVE_cloog with the checking
	of HAVE_isl.

From-SVN: r214106
2014-08-18 15:42:11 +00:00
Richard Biener d7e7844708 re PR middle-end/62090 (ice in compute_may_aliases)
2014-08-18  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/62090
	* builtins.c (fold_builtin_snprintf): Move to gimple-fold.c.
	(fold_builtin_3): Do not fold snprintf.
	(fold_builtin_4): Likewise.
	* gimple-fold.c (gimple_fold_builtin_snprintf): New function
	moved from builtins.c.
	(gimple_fold_builtin_with_strlen): Fold snprintf and sprintf.
	(gimple_fold_builtin): Do not fold sprintf here.

	* gcc.dg/pr62090-2.c: New testcase.

From-SVN: r214105
2014-08-18 14:51:04 +00:00
Richard Biener 040292e700 gimple-fold.c (maybe_fold_reference): Move re-gimplification code to ...
2014-08-18  Richard Biener  <rguenther@suse.de>

	* gimple-fold.c (maybe_fold_reference): Move re-gimplification
	code to ...
	(maybe_canonicalize_mem_ref_addr): ... this function.
	(fold_stmt_1): Apply it here before all simplification.

From-SVN: r214103
2014-08-18 14:30:30 +00:00
Ilya Enkovich d34af02260 re PR ipa/61800 (ICE: Segmentation fault during Firefox build)
PR ipa/61800

gcc/
	* cgraph.h (cgraph_node::create_indirect_edge): Add
	compute_indirect_info param.
	* cgraph.c (cgraph_node::create_indirect_edge): Compute
	indirect_info only when it is required.
	* cgraphclones.c (cgraph_clone_edge): Do not recompute
	indirect_info fore cloned indirect edge.

gcc/testsuite/
	* g++.dg/ipa/pr61800.C: New.

From-SVN: r214099
2014-08-18 13:26:06 +00:00
Alexander Ivchenko 44f5982995 sse.md (define_mode_iterator VI8_AVX2_AVX512BW): New.
gcc/
	* config/i386/sse.md
	(define_mode_iterator VI8_AVX2_AVX512BW): New.
	(define_insn "<sse2_avx2>_psadbw"): Add evex version.


Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>

From-SVN: r214094
2014-08-18 11:07:27 +00:00
Alexander Ivchenko 4769c826c6 sse.md (define_mode_iterator VF1_AVX512VL): New.
gcc/
	* config/i386/sse.md
	(define_mode_iterator VF1_AVX512VL): New.
	(define_insn "ufloatv16siv16sf2<mask_name><round_name>"): Delete.
	(define_insn "ufloat<sseintvecmodelower><mode>2<mask_name><round_name>"):
	New.


Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>

From-SVN: r214092
2014-08-18 11:04:38 +00:00
Alexander Ivchenko 39012b09a2 i386.c: Rename ufloatv8siv8df_mask to ufloatv8siv8df2_mask.
gcc/
	* config/i386/i386.c: Rename ufloatv8siv8df_mask to ufloatv8siv8df2_mask.
	* config/i386/i386.md
	(define_code_iterator any_float): New.
	(define_code_attr floatsuffix): New.
	* config/i386/sse.md
	(define_mode_iterator VF1_128_256VL): New.
	(define_mode_iterator VF2_512_256VL): New.
	(define_insn "float<si2dfmodelower><mode>2<mask_name>"): Remove unnecessary
	TARGET check.
	(define_insn "ufloatv8siv8df<mask_name>"): Delete.
	(define_insn "<floatsuffix>float<sseintvecmodelower><mode>2<mask_name><round_name>"):
	New.
	(define_mode_attr qq2pssuff): New.
	(define_mode_attr sselongvecmode): New.
	(define_mode_attr sselongvecmodelower): New.
	(define_mode_attr sseintvecmode3): New.
	(define_insn "<floatsuffix>float<sselongvecmodelower><mode>2<mask_name><round_name>"):
	New.
	(define_insn "*<floatsuffix>floatv2div2sf2"): New.
	(define_insn "<floatsuffix>floatv2div2sf2_mask"): New.
	(define_insn "ufloat<si2dfmodelower><mode>2<mask_name>"): New.
	(define_insn "ufloatv2siv2df2<mask_name>"): New.


Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>

From-SVN: r214091
2014-08-18 11:02:31 +00:00
Alexander Ivchenko 3bcf35e76f sse.md (define_mode_iterator VF2_AVX512VL): New.
gcc/
	* config/i386/sse.md
	(define_mode_iterator VF2_AVX512VL): New.
	(define_mode_attr sseintvecmode2): New.
	(define_insn "ufix_truncv2dfv2si2<mask_name>"): Add masking.
	(define_insn "fix_truncv4dfv4si2<mask_name>"): New.
	(define_insn "ufix_truncv4dfv4si2<mask_name>"): Ditto.
	(define_insn
	"<fixsuffix>fix_trunc<mode><sseintvecmodelower>2<mask_name><round_saeonly_name>"):
	Ditto.
	(define_insn "fix_notrunc<mode><sseintvecmodelower>2<mask_name><round_name>"):
	Ditto.
	(define_insn "ufix_notrunc<mode><sseintvecmodelower>2<mask_name><round_name>"):
	Ditto.


Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>

From-SVN: r214090
2014-08-18 10:59:46 +00:00
Alexander Ivchenko 6f108bc620 i386.md (define_insn "*movoi_internal_avx"): Add evex version.
gcc/
	* config/i386/i386.md
	(define_insn "*movoi_internal_avx"): Add evex version.
	(define_insn "*movti_internal"): Ditto.


Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>

From-SVN: r214089
2014-08-18 10:50:35 +00:00
Alexander Ivchenko 0148f0b699 i386.md (define_attr "isa"): Add avx512dq, noavx512dq.
gcc/
	* config/i386/i386.md
	(define_attr "isa"): Add avx512dq, noavx512dq.
	(define_attr "enabled"): Ditto.
	* config/i386/sse.md
	(define_insn "vec_extract_hi_<mode><mask_name>"): Support masking.


Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>

From-SVN: r214088
2014-08-18 10:47:48 +00:00
Alexander Ivchenko e0aacde412 gcc/
* config/i386/i386.c
	(ix86_expand_special_args_builtin): Handle avx512vl_storev8sf_mask,
	avx512vl_storev8si_mask, avx512vl_storev4df_mask, avx512vl_storev4di_mask,
	avx512vl_storev4sf_mask, avx512vl_storev4si_mask, avx512vl_storev2df_mask,
	avx512vl_storev2di_mask, avx512vl_loadv8sf_mask, avx512vl_loadv8si_mask,
	avx512vl_loadv4df_mask, avx512vl_loadv4di_mask, avx512vl_loadv4sf_mask,
	avx512vl_loadv4si_mask, avx512vl_loadv2df_mask,	avx512vl_loadv2di_mask,
	avx512bw_loadv64qi_mask, avx512vl_loadv32qi_mask, avx512vl_loadv16qi_mask,
	avx512bw_loadv32hi_mask, avx512vl_loadv16hi_mask, avx512vl_loadv8hi_mask.
	* config/i386/i386.md (define_mode_attr ssemodesuffix): Allow V32HI mode.
	* config/i386/sse.md
	(define_mode_iterator VMOVE): Allow V4TI mode.
	(define_mode_iterator V_AVX512VL): New.
	(define_mode_iterator V): New handling for AVX512VL.
	(define_insn "avx512f_load<mode>_mask"): Delete.
	(define_insn "<avx512>_load<mode>_mask"): New.
	(define_insn "avx512f_store<mode>_mask"): Delete.
	(define_insn "<avx512>_store<mode>_mask"): New.


Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>

From-SVN: r214087
2014-08-18 10:45:23 +00:00
Yury Gribov 87d1d65af7 re PR sanitizer/62089 (Sanitizer may fail to instrument struct accesses)
2014-08-18  Yury Gribov  <y.gribov@samsung.com>

	PR sanitizer/62089

gcc/
	* asan.c (instrument_derefs): Fix bitfield check.

gcc/testsuite/
	* c-c++-common/asan/pr62089.c: New test.
	* c-c++-common/asan/bitfield-1.c: New test.
	* c-c++-common/asan/bitfield-2.c: New test.
	* c-c++-common/asan/bitfield-3.c: New test.
	* c-c++-common/asan/bitfield-4.c: New test.

From-SVN: r214086
2014-08-18 08:23:47 +00:00
Kugan Vivekanandarajah 495e77b35b re PR tree-optimization/52904 (-Wstrict-overflow false alarm with bounded loop)
gcc/testsuite
2014-08-18  Kugan Vivekanandarajah  <kuganv@linaro.org>

	PR tree-optimization/52904
	* gcc.dg/pr52904.c: New test.

From-SVN: r214084
2014-08-18 06:28:35 +00:00
GCC Administrator 86cde5ecfd Daily bump.
From-SVN: r214083
2014-08-18 00:17:39 +00:00
Segher Boessenkool 44c3a8bb73 constraints.md ("S"): Require TARGET_POWERPC64.
2014-08-17  Segher Boessenkool  <segher@kernel.crashing.org>

	* config/rs6000/constraints.md ("S"): Require TARGET_POWERPC64.
	* config/rs6000/htm.md (ttest): Remove clobber.
	* config/rs6000/predicates.md (any_mask_operand): New predicate.
	(and_operand): Reformat.
	(and_2rld_operand): New predicate.
	* config/rs6000/rs6000-protos.h (rs6000_split_logical): Remove last
	parameter.
	* config/rs6000/rs6000.c (rs6000_split_logical_inner): Remove last
	parameter.  Handle AND directly.
	(rs6000_split_logical_di): Remove last parameter.
	(rs6000_split_logical): Remove last parameter.  Remove obsolete
	comment.
	* config/rs6000/rs6000.md (BOOL_REGS_AND_CR0): Delete.
	(one_cmpl<mode>2): Adjust call of rs6000_split_logical.
	(ctz<mode>2, ffs<mode>2): Delete clobber.  Reformat.
	(andsi3, andsi3_mc, andsi3_nomc, *andsi3_internal2_mc,
	*andsi3_internal3_mc, *andsi3_internal4, *andsi3_internal5_mc,
	and 5 anonymous splitters):  Delete.
	(and<mode>3): New expander.
	(*and<mode>3, *and<mode>3_dot, *and<mode>3_dot2): New.
	(and<mode>3_imm, *and<mode>3_imm_dot, *and<mode>3_imm_dot2): New.
	(*and<mode>3_mask, *and<mode>3_mask_dot, *and<mode>3_mask_dot2): New.
	(ior<mode>, xor<mode>3): Adjust call of rs6000_split_logical.
	(floatdisf2_internal1): Remove clobbers.
	(anddi3, anddi3_mc, anddi3_nomc, anddi3_internal2_mc,
	*anddi3_internal3_mc, and 4 anonymous splitters): Delete.
	(*anddi3_2rld, *anddi3_2rld_dot, *anddi3_2rld_dot2): New.
	(and<mode>3 for BOOL_128): Remove clobber.
	(*and<mode>3_internal for BOOL_128): Remove clobber.  Adjust call of
	rs6000_split_logical.
	(*bool<mode>3_internal for BOOL_128): Adjust call of
	rs6000_split_logical.
	(*boolc<mode>3_internal1 for BOOL_128,
	*boolc<mode>3_internal2 for BOOL_128,
	*boolcc<mode>3_internal1 for BOOL_128,
	*boolcc<mode>3_internal2 for BOOL_128,
	*eqv<mode>3_internal1 for BOOL_128,
	*eqv<mode>3_internal2 for BOOL_128,
	*one_cmpl<mode>3_internal for BOOL_128): Ditto.
	* config/rs6000/vector.md (*vec_reload_and_plus_<mptrsize): Remove
	clobber.
	(*vec_reload_and_reg_<mptrsize>): Delete.

From-SVN: r214080
2014-08-18 01:39:53 +02:00
Segher Boessenkool e7ee9a588e rs6000.md (*boolccsi3_internal1, [...]): Delete.
2014-08-17  Segher Boessenkool  <segher@kernel.crashing.org>

	* config/rs6000/rs6000.md (*boolccsi3_internal1, *boolccsi3_internal2
	and split, *boolccsi3_internal3 and split): Delete.
	(*boolccdi3_internal1, *boolccdi3_internal2 and split,
	*boolccdi3_internal3 and split): Delete.
	(*boolcc<mode>3, *boolcc<mode>3_dot, *boolcc<mode>3_dot2): New.
	(*eqv<mode>3): Move.  Add TODO comment.  Fix attributes.

From-SVN: r214079
2014-08-18 01:38:16 +02:00
Segher Boessenkool 2c7b41df9d rs6000.md (*boolcsi3_internal1, [...]): Delete.
2014-08-17  Segher Boessenkool  <segher@kernel.crashing.org>

	* config/rs6000/rs6000.md (*boolcsi3_internal1, *boolcsi3_internal2
	and split, *boolcsi3_internal3 and split): Delete.
	(*boolcdi3_internal1, *boolcdi3_internal2 and split,
	*boolcdi3_internal3 and split): Delete.
	(*boolc<mode>3, *boolc<mode>3_dot, *boolc<mode>3_dot2): New.

From-SVN: r214078
2014-08-18 01:36:53 +02:00
Segher Boessenkool 10802beec7 rs6000.c (print_operand): New.
2014-08-17  Segher Boessenkool  <segher@kernel.crashing.org>

	* config/rs6000/rs6000.c (print_operand) <'e'>: New.
	<'u'>: Also support printing the low-order 16 bits.
	* config/rs6000/rs6000.md (iorsi3, xorsi3, *boolsi3_internal1,
	*boolsi3_internal2 and split, *boolsi3_internal3 and split): Delete.
	(iordi3, xordi3, *booldi3_internal1, *booldi3_internal2 and split,
	*booldi3_internal3 and split): Delete.
	(ior<mode>3, xor<mode>3, *bool<mode>3, *bool<mode>3_dot,
	*bool<mode>3_dot2): New.
	(two anonymous define_splits for non_logical_cint_operand): Merge.

From-SVN: r214077
2014-08-18 01:35:30 +02:00
Tobias Burnus 19fe965886 resolve.c (gfc_resolve_finalizers): Ensure that parents are resolved first.
2014-08-17  Tobias Burnus  <burnus@net-b.de>

        * resolve.c (gfc_resolve_finalizers): Ensure that parents are
        resolved first.

2014-08-17  Tobias Burnus  <burnus@net-b.de>

        * gfortran.dg/finalize_27.f90: New.

From-SVN: r214076
2014-08-17 18:42:19 +02:00
Tobias Burnus 0522a84e51 trans-io.c (gfc_build_io_library_fndecls): Fix decl of IOCALL_SET_NML_VAL.
2014-08-17  Tobias Burnus  <burnus@net-b.de>

        * trans-io.c (gfc_build_io_library_fndecls): Fix decl of
        IOCALL_SET_NML_VAL.
        (transfer_namelist_element): Use proper int type as argument.

From-SVN: r214075
2014-08-17 18:40:04 +02:00
Marek Polacek 544c27ba10 re PR c/62059 (signed integer overflow in diagnostic.c adjust_line)
PR c/62059
	* diagnostic.c (adjust_line): Add gcc_checking_assert.
	(diagnostic_show_locus): Don't print caret diagnostic
	if a column is larger than the line_width.

Co-Authored-By: Manuel López-Ibáñez <manu@gcc.gnu.org>

From-SVN: r214074
2014-08-17 16:19:43 +00:00
Andrew Pinski 387d13bc7b 20140816-1.c: New testcase.
2014-08-16  Andrew Pinski  <apinski@cavium.com>

* gcc.c-torture/compile/20140816-1.c: New testcase.

From-SVN: r214073
2014-08-16 22:20:42 -07:00
GCC Administrator 3b3ff585ce Daily bump.
From-SVN: r214072
2014-08-17 00:16:25 +00:00
Roman Gareev b860c92e14 common.opt: Make the ISL AST generator to be the main code generator of Graphite.
[gcc/]

	* common.opt: Make the ISL AST generator to be the main code generator
	of Graphite.

From-SVN: r214069
2014-08-16 21:18:24 +00:00
Gerald Pfeifer 3655abdd6b * wide-int.h (generic_wide_int): Declare as class instead of struct.
From-SVN: r214068
2014-08-16 19:27:54 +00:00
John David Anglin 3ba07ad320 re PR target/61641 (undefined label in jump_table_data)
PR target/61641
	* config/pa/pa-protos.h (pa_output_addr_vec, pa_output_addr_diff_vec):
	Declare.
	* config/pa/pa.c (pa_reorg): Remove code to insert brtab marker insns.
	(pa_output_addr_vec, pa_output_addr_diff_vec): New.
	* config/pa/pa.h (ASM_OUTPUT_ADDR_VEC, ASM_OUTPUT_ADDR_DIFF_VEC):
	Define.
	* config/pa/pa.md (begin_brtab): Delete insn.
	(end_brtab): Likewise.

From-SVN: r214064
2014-08-16 16:36:33 +00:00
Manuel López-Ibáñez 5f05dc5550 cppopts.texi (ftrack-macro-expansion): Add missing @code.
2014-08-16  Manuel López-Ibáñez  <manu@gcc.gnu.org>

        * doc/cppopts.texi (ftrack-macro-expansion): Add missing @code.

From-SVN: r214063
2014-08-16 14:19:38 +00:00
Paolo Carlini 9fec7f592f re PR c++/52819 (ICE: tree check: expected tree that contains 'decl minimal' structure, have 'nop_expr' in decl_linkage, at cp/tree.c:3136)
2014-08-16  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/52819
	* g++.dg/template/pr52819.C: New.

From-SVN: r214062
2014-08-16 10:07:41 +00:00
Jan Hubicka 4d7cf10d21 ipa-utils.h (ipa_polymorphic_call_context): Turn into class; add ctors.
* ipa-utils.h (ipa_polymorphic_call_context): Turn into class; add ctors.
	(possible_polymorphic_call_targets, dump_possible_polymorphic_call_targets,
	possible_polymorphic_call_target_p, possible_polymorphic_call_target_p): Simplify.
	(get_dynamic_type): Remove.
	* ipa-devirt.c (ipa_dummy_polymorphic_call_context): Remove.
	(clear_speculation): Bring to ipa-deivrt.h
	(get_class_context): Rename to ...
	(ipa_polymorphic_call_context::restrict_to_inner_class): ... this one.
	(contains_type_p): Update.
	(get_dynamic_type): Rename to ...
	ipa_polymorphic_call_context::get_dynamic_type(): ... this one.
	(possible_polymorphic_call_targets): UPdate.
	* tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): Update.
	* ipa-prop.c (ipa_analyze_call_uses): Update.

From-SVN: r214060
2014-08-16 09:10:23 +00:00
Ian Lance Taylor 1a985ca83a compiler: Pass initialization of frame temporary to backend.
From-SVN: r214057
2014-08-16 00:54:32 +00:00
GCC Administrator 9fa05a40f6 Daily bump.
From-SVN: r214056
2014-08-16 00:18:18 +00:00
Oleg Endo a03b75b1d2 invoke.texi (SH options): Document missing processor variant options.
gcc/
	* doc/invoke.texi (SH options): Document missing processor variant
	options.  Remove references to Hitachi.  Undocument deprecated mspace
	option.

From-SVN: r214050
2014-08-15 22:55:47 +00:00
Jason Merrill 2b14490e73 re PR c++/61566 (ICE in write_unscoped_name)
PR c++/61566
	* pt.c (lookup_template_class_1): Revert recent change.
	* mangle.c (CLASSTYPE_TEMPLATE_ID_P): Revert recent change.

From-SVN: r214049
2014-08-15 18:27:06 -04:00