Commit Graph

59831 Commits

Author SHA1 Message Date
Jeff Law 6b1786aa65 re PR other/66259 (Combined gcc and binutils build from git-master fails, with gas/as-new not existing)
PR other/66259
	* config-ml.in: Reflects renaming of configure.in to configure.ac
	* configure: Likewise
	* configure.ac: Likewise

boehm-gc/

	PR other/66259
	* Makefile.direct: Reflects renaming of configure.in to configure.ac
	* Makefile.dist: Likewise
	* version.h: Likewise
	* doc/README: Likewise

config/

	PR other/66259
	* gettext.m4: Reflects renaming of configure.in to configure.ac
	* po.m4: Likewise
	* stdint.m4: Likewise
	* tcl.m4: Likewise

gcc/

	PR other/66259
	* acinclude.m4: Reflects renaming of configure.in to configure.ac
	* configure: Likewise
	* configure.ac: Likewise
	* doc/install.texi: Likewise
	* doc/tm.texi: Likewise
	* doc/tm.texi.in: Likewise

gcc/ada/

	PR other/66259
	* prj-nmsc.adb: Reflects renaming of configure.in to configure.ac
	* gcc-interface/Makefile.in: Likewise

intl/

	PR other/66259
	* configure: Reflects renaming of configure.in to configure.ac

libjava/

	PR other/66259
	* configure: Reflects renaming of configure.in to configure.ac

libjava/classpath

	PR other/66259
	* INSTALL: Reflects renaming of configure.in to configure.ac
	* ltconfig: Likewise
	* missing: Likewise
	* m4/ac_prog_javac.m4: Likewise
	* m4/ac_prog/javac_works.m4: Likewise
	* resource/META-INF/mimetypes.default: Likewise

libjava/libltdl

	PR other/66259
	* THREADS: Reflects renaming of configure.in to configure.ac

liboffloadmic/

	PR other/66259
	* configure: Reflects renaming of configure.in to configure.ac

From-SVN: r226183
2015-07-24 12:20:44 -06:00
Kyrylo Tkachov 4e1952ab19 [obvious] Use std::swap instead of manually swapping in a few more places
* alias.c (nonoverlapping_memrefs_p): Use std::swap instead of
	manually swapping values.
	* cse.c (fold_rtx): Likewise.
	* lra-eliminations.c (form_sum): Likewise.

From-SVN: r226179
2015-07-24 16:46:04 +00:00
Uros Bizjak 776280c4a8 re PR target/64003 (valgrind complains about get_attr_length_nobnd in insn-attrtab.c from i386.md)
PR target/64003
	* config/i386/i386.h (ADJUST_INSN_LENGTH): New define.
	* config/i386/i386.md (maybe_prefix_bnd): New attribute.
	(*jcc_1, *jcc_2, jump, simple_return_internal)
	(simple_return_pop_internal): Set attribute maybe_prefix_bnd.
	Set length_nobnd attribute instead of length attribute.
	(indirect_jump, *tablejump_1): Set attribute maybe_prefix_bnd.
	(length_nobnd): Remove attribute.
	(length): Remove length_nobnd processing.

From-SVN: r226173
2015-07-24 18:25:56 +02:00
Nathan Sidwell 72500605c1 gimplify.c (omp_default_clause): New function.
* gimplify.c (omp_default_clause): New function.  Reorganize flow
	for clarity. Broken out of ...
	(omp_notice_variable): ... here.

From-SVN: r226170
2015-07-24 16:13:04 +00:00
Gary Funck 64447a2d50 re PR middle-end/66984 (ICE: fold_binary changes type of operand, causing failure in verify_gimple_assign_binary)
2015-07-24  Gary Funck  <gary@intrepid.com>

	PR middle-end/66984
	* fold-const.c (fold_binary_loc): Call fold_convert on arguments to
        fold_build2 for CEIL_DIV_EXPR and FLOOR_DIV_EXPR optimization.

From-SVN: r226168
2015-07-24 16:10:39 +00:00
Tom de Vries a5a57bf378 Add transform_to_exit_first_loop_alt dump success message
2015-07-24  Tom de Vries  <tom@codesourcery.com>

	* tree-parloops.c (gen_parallel_loop): Add debug print for alternative
	exit-first loop transform.

	* gcc.dg/parloops-exit-first-loop-alt-2.c: Use debug print for
	alternative exit-first loop transform.
	* gcc.dg/parloops-exit-first-loop-alt-3.c: Same.
	* gcc.dg/parloops-exit-first-loop-alt-4.c: Same.
	* gcc.dg/parloops-exit-first-loop-alt-5.c: Same.
	* gcc.dg/parloops-exit-first-loop-alt-6.c: Same.
	* gcc.dg/parloops-exit-first-loop-alt-7.c: Same.
	* gcc.dg/parloops-exit-first-loop-alt-pr66652.c: Same.
	* gcc.dg/parloops-exit-first-loop-alt.c: Same.
	* gfortran.dg/parloops-exit-first-loop-alt-2.f95: Same.
	* gfortran.dg/parloops-exit-first-loop-alt.f95: Same.

From-SVN: r226164
2015-07-24 15:00:59 +00:00
Cesar Philippidis 710ee21854 re PR libgomp/66714 (ICE in loc_list_from_tree with -g)
PR 66714

	gcc/
	* tree-cfg.c (struct replace_decls_d): New struct.
	(replace_block_vars_by_duplicates_1): New function.
	(replace_block_vars_by_duplicates): Use it to replace the decls
	in the value exprs by duplicates.

	libgomp/
	* testsuite/libgomp.c/pr66714.c: New test.

From-SVN: r226160
2015-07-24 07:38:43 -07:00
Szabolcs Nagy 009cea8635 [AArch64] elf toolchain does not pass -shared linker option
2015-07-24  Szabolcs Nagy  <szabolcs.nagy@arm.com>

	* config/aarch64/aarch64-elf-raw.h (LINK_SPEC): Handle -h, -static,
	-shared, -symbolic, -rdynamic.

From-SVN: r226159
2015-07-24 14:30:41 +00:00
Szabolcs Nagy cbc4d45487 [AArch64] Fix LINUX_TARGET_LINK_SPEC to be consistent with ARM
2015-07-24  Szabolcs Nagy  <szabolcs.nagy@arm.com>

	PR target/65711
	* config/aarch64/aarch64-linux.h (LINUX_TARGET_LINK_SPEC): Move
	-dynamic-linker within %{!static %{!shared, and -rdynamic within
	%{!static.

From-SVN: r226158
2015-07-24 14:27:55 +00:00
Ilya Enkovich 349e312b4c re PR ipa/66566 ([CHKP] ICE in early_inliner: internal compiler error: in operator[], at vec.h:714)
gcc/

	PR ipa/66566
	* ipa-inline-analysis.c (estimate_calls_size_and_time): Check
	edge summary is available.

gcc/testsuite/

	PR ipa/66566
	* gcc.target/i386/mpx/pr66566.c: New test.

From-SVN: r226155
2015-07-24 13:15:49 +00:00
Richard Biener 803835ded7 genmatch.c (struct dt_node): Add statistic fields.
2015-07-24  Richard Biener  <rguenther@suse.de>

	* genmatch.c (struct dt_node): Add statistic fields.
	(dt_node::analyze): New method.
	(decision_tree::gen_gimple): Call analyze on the root node
	and print statistics to stderr.
	(decision_tree::gen_generic): Likewise.

From-SVN: r226154
2015-07-24 12:39:08 +00:00
Richard Biener 21aacde458 fold-const.c (fold_binary_loc): Move simplifying of comparisons against the highest or lowest possible integer ...
2015-07-24  Richard Biener  <rguenther@suse.de>

	* fold-const.c (fold_binary_loc): Move simplifying of comparisons
	against the highest or lowest possible integer ...
	* match.pd: ... as patterns here.

From-SVN: r226153
2015-07-24 12:36:00 +00:00
Richard Biener fa138f6efd genmatch.c (struct capture_info): Add same_as field.
2015-07-24  Richard Biener  <rguenther@suse.de>

	* genmatch.c (struct capture_info): Add same_as field.
	(capture_info::capture_info): Initialize same_as.
	(capture_info::walk_match): Compute same_as.
	(capture_info::walk_result): Compute stuff for the leader.
	(capture_info::walk_c_expr): Likewise.
	(dt_simplify::gen_1): Only look at leaders when deciding
	to force no side-effects or emit side-effects of omitted operands.

From-SVN: r226152
2015-07-24 12:35:22 +00:00
Andreas Krebbel b8fedf996b S/390: Fix cfi for GPR 2 FPR saves
gcc/ChangeLog:

2015-07-24  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

	    * config/s390/s390.c (s390_save_gprs_to_fprs): Add CFA_REGISTER
	    reg note to the GPR -> FPR save instructions.

gcc/testsuite/ChangeLog:

2015-07-24  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

	    * gcc.target/s390/gpr2fprsavecfi.c: New test.

From-SVN: r226149
2015-07-24 11:29:50 +00:00
Andreas Krebbel 3d44ff9919 [PATCH] S/390: Improve risbg usage
gcc/ChangeLog:

2015-07-24  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

	    * config/s390/s390.c (s390_rtx_costs): Make risbg patterns
	    cheaper.
	    (s390_expand_insv): Don't generate risbg pattern for constant zero
	    sources.
	    * config/s390/s390.md ("*insv<mode>_zEC12_appendbitsleft")
	    ("*insv<mode>_z10_appendbitsleft"): New pattern definitions.  New
	    splitters.

gcc/testsuite/ChangeLog:

2015-07-24  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

	    * gcc.target/s390/insv-1.c: New test.
	    * gcc.target/s390/insv-2.c: New test.
	    * gcc.target/s390/insv-3.c: New test.

From-SVN: r226148
2015-07-24 11:28:06 +00:00
Dominik Vogt bacf8ec3df [PATCH 4/4] S390 -march=native related fixes
gcc/ChangeLog

	* config/s390/s390.c (s390_reorg): Clean up handling of processors with
	-mtune=
	(s390_issue_rate): Likewise.
	(s390_sched_reorder): Likewise.
	(s390_sched_variable_issue): Likewise.
	(s390_loop_unroll_adjust): Likewise.
	(s390_option_override):  Likewise.

From-SVN: r226147
2015-07-24 11:25:01 +00:00
Dominik Vogt b1b5aa2f2c [PATCH 3/4] S390 -march=native related fixes
gcc/ChangeLog

	* config/s390/driver-native.c (s390_host_detect_local_cpu): Handle
	processor capabilities with -march=native.
	* config/s390/s390.h (MARCH_MTUNE_NATIVE_SPECS): Likewise.
	(DRIVER_SELF_SPECS): Likewise.  Join specs for 31 and 64 bit.
	(S390_TARGET_BITS_STRING): Macro to simplify specs.

From-SVN: r226146
2015-07-24 11:23:53 +00:00
Dominik Vogt fd9c86e091 [PATCH 2/4] S390 -march=native related fixes
gcc/ChangeLog

	* config/s390/s390.c (s390_issue_rate): Handle PROCESSOR_2094_Z9_EC.
	(s390_option_override): Likewise.
	(s390_adjust_priority): Likewise.

From-SVN: r226145
2015-07-24 11:22:32 +00:00
Dominik Vogt 63281f61cb S390 -march=native related fixes
gcc/ChangeLog:

	* config/s390/s390.h: S390: Do not define EXTRA_SPEC_FUNCTIONS when
	cross compiling.

From-SVN: r226144
2015-07-24 11:19:59 +00:00
Richard Biener 24f1db9c0d fold-const.c (maybe_canonicalize_comparison_1): Move A code CST canonicalization ...
2015-07-24  Richard Biener  <rguenther@suse.de>

	* fold-const.c (maybe_canonicalize_comparison_1): Move
	A code CST canonicalization ...
	* match.pd: ... to a pattern here.

	cp/
	* init.c (build_vec_init): Build iterator bound in the same
	type as the iterator.

From-SVN: r226143
2015-07-24 10:31:21 +00:00
Jiong Wang d076e1b7ba [AArch64] Revert REG_ALLOC_ORDER/HONOR_REG_ALLOC_ORDER
2015-07-24  Jiong Wang  <jiong.wang@arm.com>

  Revert:
  2015-07-22  Jiong Wang  <jiong.wang@arm.com>
  PR target/63521
  * config/aarch64/aarch64.h (REG_ALLOC_ORDER): Define.
  (HONOR_REG_ALLOC_ORDER): Define.

From-SVN: r226141
2015-07-24 09:06:53 +00:00
Richard Biener 96a111a3df genmatch.c (add_operator): Allow SSA_NAME as predicate.
2015-07-24  Richard Biener  <rguenther@suse.de>

	* genmatch.c (add_operator): Allow SSA_NAME as predicate.
	* fold-const.c (fold_comparison): Move parameter does not
	alias &local simplification ...
	* match.pd: ... as a pattern here.

From-SVN: r226140
2015-07-24 08:31:07 +00:00
Richard Biener 37d486ab11 gimple-fold.c (replace_stmt_with_simplification): Special-case valueizing call operands.
2015-07-24  Richard Biener  <rguenther@suse.de>

	* gimple-fold.c (replace_stmt_with_simplification): Special-case
	valueizing call operands.
	* gimple-match-head.c (maybe_push_res_to_seq): Take
	number of call arguments from ops array.
	(do_valueize): New function.
	(gimple_simplify): Return true if valueization changed
	any operand even if the result didn't simplify further.

From-SVN: r226139
2015-07-24 08:25:41 +00:00
Naveen H.S 5f8d832e47 re PR middle-end/25530 ((unsigned / 2)*2 is not changed into unsigned &~1)
PR middle-end/25530
2015-07-24  Naveen H.S  <Naveen.Hurugalawadi@caviumnetworks.com>

gcc/testsuite/ChangeLog:
	* gcc.dg/pr25530.c: New test.

gcc/ChangeLog:
	* match.pd (mult (trunc_div @0 integer_pow2p@1) @1) : New simplifier.

From-SVN: r226137
2015-07-24 04:50:41 +00:00
Naveen H.S 887ab60965 re PR middle-end/25529 ((unsigned * 2)/2 is not changed into unsigned &0x7FFFFFFF)
PR middle-end/25529
2015-07-24  Naveen H.S  <Naveen.Hurugalawadi@caviumnetworks.com>

gcc/testsuite/ChangeLog:
	* gcc.dg/pr25529.c: New test.

gcc/ChangeLog:
	* match.pd (trunc_div (mult @0 integer_pow2p@1) @1) : New simplifier.

From-SVN: r226136
2015-07-24 04:47:48 +00:00
Kugan Vivekanandarajah 390875e694 reg_equal_test.c: New test.
gcc/testsuite/ChangeLog:

2015-07-23  Kugan Vivekanandarajah  <kuganv@linaro.org>

	* gcc.target/arm/reg_equal_test.c: New test.

gcc/ChangeLog:

2015-07-23  Kugan Vivekanandarajah  <kuganv@linaro.org>

	* config/arm/arm.c (arm_emit_movpair): Add REG_EQUAL notes to
	instruction.

From-SVN: r226135
2015-07-24 01:43:22 +00:00
Kugan Vivekanandarajah fa24123b0f cse.c (cse_insn): Fix missing check for STRICT_LOW_PART and minor clean up.
gcc/ChangeLog:

2015-07-23  Kugan Vivekanandarajah  <kuganv@linaro.org>

	* cse.c (cse_insn): Fix missing check for STRICT_LOW_PART and minor
	clean up.

From-SVN: r226134
2015-07-24 01:38:19 +00:00
Uros Bizjak 6135666dd4 i386.c (ix86_build_builtin_va_list_64): Rename from ix86_build_builtin_va_list_abi.
* config/i386/i386.c (ix86_build_builtin_va_list_64): Rename
	from ix86_build_builtin_va_list_abi.  Handle only 64bit non-MS_ABI
	targets here.
	(ix86_build_builtin_va_list): Rewrite sysv_va_list_type_node and
	ms_va_list_type_node initialization.

From-SVN: r226127
2015-07-23 23:49:34 +02:00
Jeff Law d37f946ace re PR lto/66752 (spec2000 255.vortex performance compiled with GCC is ~20% lower than with CLANG)
PR lto/66752
	* tree-ssa-threadedge.c (simplify_conrol_stmt_condition): If we are
	unable to find X NE 0 in the tables, return X as the simplified
	condition.
	(fsm_find_control_statement_thread_paths): If nodes in NEXT_PATH are
	in VISISTED_BBS, then return failure.  Else add nodes from NEXT_PATH
	to VISISTED_BBS.  */
	* tree-ssa-threadupdate.c (duplicate_thread_path): Fix up edge flags
	after removing the control flow statement and unnecessary edges.

testsuite/
	PR lto/66752
	* gcc.dg/tree-ssa/pr66752-2.c: New test.
	* gcc.dg/torture/pr66752-1.c: New test
	* g++.dg/torture/pr66752-2.C: New test.

From-SVN: r226125
2015-07-23 14:42:15 -06:00
Bernd Edlinger 0358f01b2e tree-pass.h (get_current_pass_name): Removed.
2015-07-23  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        * tree-pass.h (get_current_pass_name): Removed.

From-SVN: r226121
2015-07-23 19:01:03 +00:00
Alexandre Oliva 7eb9f42e3b [PR64164] Drop copyrename, use coalescible partition as base when optimizing.
for  gcc/ChangeLog

	PR rtl-optimization/64164
	* Makefile.in (OBJS): Drop tree-ssa-copyrename.o.
	* tree-ssa-copyrename.c: Removed.
	* opts.c (default_options_table): Drop -ftree-copyrename.  Add
	-ftree-coalesce-vars.
	* passes.def: Drop all occurrences of pass_rename_ssa_copies.
	* common.opt (ftree-copyrename): Ignore.
	(ftree-coalesce-inlined-vars): Likewise.
	* doc/invoke.texi: Remove the ignored options above.
	* gimple-expr.h (gimple_can_coalesce_p): Move declaration
	* tree-ssa-coalesce.h: ... here.
	* tree-ssa-uncprop.c: Include tree-ssa-coalesce.h and other
	headers required by it.
	* gimple-expr.c (gimple_can_coalesce_p): Allow coalescing
	across variables when flag_tree_coalesce_vars.  Check register
	use and promoted modes to allow coalescing.  Moved to
	tree-ssa-coalesce.c.
	* tree-ssa-live.c (struct tree_int_map_hasher): Move along
	with its member functions to tree-ssa-coalesce.c.
	(var_map_base_init): Likewise.  Renamed to
	compute_samebase_partition_bases.
	(partition_view_normal): Drop want_bases parameter.
	(partition_view_bitmap): Likewise.
	* tree-ssa-live.h: Adjust declarations.
	* tree-ssa-coalesce.c: Include explow.h.
	(build_ssa_conflict_graph): Process PARM_ and RESULT_DECLs's
	default defs at the entry point.
	(dump_part_var_map): New.
	(compute_optimized_partition_bases): New, called by...
	(coalesce_ssa_name): ... when flag_tree_coalesce_vars, instead
	of compute_samebase_partition_bases.  Adjust.
	* alias.c (nonoverlapping_memrefs_p): Disregard gimple-regs.
	* cfgexpand.c (leader_merge): New.
	(get_rtl_for_parm_ssa_default_def): New.
	(set_rtl): Merge exprs and attrs, even for MEMs and non-SSA
	vars.  Update DECL_RTL for PARM_DECLs and RESULT_DECLs too.
	(expand_one_stack_var_at): Handle anonymous SSA_NAMEs.  Drop
	redundant MEM attr setting.
	(expand_one_stack_var_1): Handle anonymous SSA_NAMEs.  Renamed
	from...
	(expand_one_stack_var): ... this.  New wrapper to check and
	skip already expanded SSA partitions.
	(record_alignment_for_reg_var): New, factored out of...
	(expand_one_var): ... this.
	(expand_one_ssa_partition): New.
	(adjust_one_expanded_partition_var): New.
	(expand_one_register_var): Check and skip already expanded SSA
	partitions.
	(expand_used_vars): Don't create DECLs for anonymous SSA
	names.  Expand all SSA partitions, then adjust all SSA names.
	(pass::execute): Replace the loops that set
	SA.partition_to_pseudo from partition leaders and cleared
	DECL_RTL for multi-location variables, and that which used to
	rename vars and set attrs, with one that clears DECL_RTL and
	checks that PARMs and RESULTs default_defs match DECL_RTL.
	* cfgexpand.h (get_rtl_for_parm_ssa_default_def): Declare.
	* emit-rtl.c (set_reg_attrs_for_parm): Handle NULL decl.
	* explow.c (promote_ssa_mode): New.
	* explow.h (promote_ssa_mode): Declare.
	* expr.c (expand_expr_real_1): Handle anonymous SSA_NAMEs.
	* function.c: Include cfgexpand.h.
	(use_register_for_decl): Handle SSA_NAMEs, anonymous or not.
	(use_register_for_parm_decl): Wrapper for the above to
	special-case the result_ptr.
	(rtl_for_parm): Ditto for get_rtl_for_parm_ssa_default_def.
	(split_complex_args): Take assign_parm_data_all argument.
	Pass it to rtl_for_parm.  Set up rtl and context for split
	args.
	(assign_parms_augmented_arg_list): Adjust.
	(maybe_reset_rtl_for_parm): Reset DECL_RTL of parms with
	multiple locations.  Recognize split complex args.
	(assign_parm_adjust_stack_rtl): Add all and parm arguments,
	for rtl_for_parm.  For SSA-assigned parms, zero stack_parm.
	(assign_parm_setup_block): Prefer SSA-assigned location.
	(assign_parm_setup_reg): Likewise.  Use entry_parm for equiv
	if stack_parm is NULL.
	(assign_parm_setup_stack): Prefer SSA-assigned location.
	(assign_parms): Maybe reset DECL_RTL of params.  Adjust stack
	rtl before testing for pointer bounds.  Special-case result_ptr.
	(expand_function_start): Maybe reset DECL_RTL of result.
	Prefer SSA-assigned location for result and static chain.
	Factor out DECL_RESULT and SET_DECL_RTL.
	* tree-outof-ssa.c (insert_value_copy_on_edge): Handle
	anonymous SSA names.  Use promote_ssa_mode.
	(get_temp_reg): Likewise.
	(remove_ssa_form): Adjust.
	* stor-layout.c (layout_decl): Don't set mem attributes of
	non-MEMs.
	* var-tracking.c (dataflow_set_clear_at_call): Take call_insn
	and get its reg_usage for reg invalidation.
	(compute_bb_dataflow): Pass it insn.
	(emit_notes_in_bb): Likewise.

for  gcc/testsuite/ChangeLog

	* gcc.dg/guality/pr54200.c: Add -fno-tree-coalesce-vars.
	* gcc.dg/ssp-1.c: Make counter a register.
	* gcc.dg/ssp-2.c: Likewise.
	* gcc.dg/torture/parm-coalesce.c: New.

From-SVN: r226113
2015-07-23 15:34:49 +00:00
Segher Boessenkool a34f4f6468 re PR target/66217 (PowerPC rotate/shift/mask instructions not optimal)
PR target/66217
	* config/rs6000/rs6000-protos.h (rs6000_emit_2insn_and): Change
	prototype.
	* config/rs6000/rs6000.c (rs6000_emit_dot_insn): New function.
	(rs6000_emit_2insn_and): Handle dot forms.
	* config/rs6000/rs6000.md (and<mode>3): Adjust.
	(*and<mode>3_2insn): Remove TODO.  Adjust.  Add "type" attr.
	(*and<mode>3_2insn_dot, *and<mode>3_2insn_dot2): New.

From-SVN: r226112
2015-07-23 16:37:57 +02:00
Richard Biener d057c8669b generic-match-head.c: Include cgraph.h.
2015-07-23  Richard Biener  <rguenther@suse.de>

	* generic-match-head.c: Include cgraph.h.
	* gimple-match-head.c: Likewise.
	* tree-ssa-sccvn.c (free_scc_vn): Guard against newly created
	SSA names.
	* fold-const.c (fold_binary_loc): Move &A ==/!= &B simplification...
	* match.pd: ...to a pattern here.  Add &A ==/!= 0 simplification
	pattern.

From-SVN: r226111
2015-07-23 14:31:44 +00:00
Richard Biener 62fb67d77a gimple-fold.c (fold_gimple_cond): Do not require folding results to pass valid_gimple_rhs_p.
2015-07-23  Richard Biener  <rguenther@suse.de>

	* gimple-fold.c (fold_gimple_cond): Do not require folding
	results to pass valid_gimple_rhs_p.
	* tree-cfg.h (fold_cond_expr_cond): Remove.
	* tree-cfg.c (fold_cond_expr_cond): Likewise.
	(make_edges): Do not call it.
	* tree-inline.c (tree_function_versioning): Likewise.

From-SVN: r226109
2015-07-23 13:33:43 +00:00
Tom de Vries bcdaf37084 Check TYPE_OVERFLOW_WRAPS for parloops reductions
2015-07-23  Tom de Vries  <tom@codesourcery.com>

	* tree-parloops.c (gather_scalar_reductions): Add arg to call to
	vect_force_simple_reduction.
	* tree-vect-loop.c (vect_analyze_scalar_cycles_1): Same.
	(vect_is_simple_reduction_1): Add and handle
	need_wrapping_integral_overflow parameter.
	(vect_is_simple_reduction, vect_force_simple_reduction): Add and pass
	need_wrapping_integral_overflow parameter.
	(vectorizable_reduction): Add arg to call to vect_is_simple_reduction.
	* tree-vectorizer.h (vect_force_simple_reduction): Add parameter to decl.

	* gcc.dg/autopar/outer-4.c: Add xfail.
	* gcc.dg/autopar/outer-5.c: Same.
	* gcc.dg/autopar/outer-6.c: Same.
	* gcc.dg/autopar/reduc-2.c: Same.
	* gcc.dg/autopar/reduc-2char.c: Same.
	* gcc.dg/autopar/reduc-2short.c: Same.
	* gcc.dg/autopar/reduc-8.c: Same.
	* gcc.dg/autopar/uns-outer-4.c: New test.
	* gcc.dg/autopar/uns-outer-5.c: New test.
	* gcc.dg/autopar/uns-outer-6.c: New test.

From-SVN: r226107
2015-07-23 12:17:52 +00:00
Yuri Rumyantsev b5fd0440dc PR tree-optimization/66926,66951
gcc/

	PR tree-optimization/66926,66951
	* tree-vect-loop-manip.c (slpeel_tree_peel_loop_to_edge): Delete
	INNER_LOOP and fix up condition for renaming virtual operands.

gcc/testsuite/

	PR tree-optimization/66926,66951
	* gcc.dg/vect/pr66951.c: New test.

From-SVN: r226103
2015-07-23 11:13:00 +00:00
Kyrylo Tkachov 7bed1d3d81 [combine][obvious] Use std::swap in try_combine
* combine.c (try_combine): Use std::swap instead of manually
	swapping.

From-SVN: r226094
2015-07-23 09:21:27 +00:00
Prachi Godbole 7ccb4e4e6a I6400 scheduling.
gcc/
	* config/mips/i6400.md: New file.
	* config/mips/mips-cpus.def (mips32r6): Change to PROCESSOR_I6400.
	(mips64r6): Likewise.
	(i6400): Define.
	* config/mips/mips-tables.opt: Regenerate.
	* config/mips/mips.c (mips_rtx_cost_data): Add I6400 processor.
	(mips_issue_rate): Add support for i6400.
	(mips_multipass_dfa_lookahead): Likewise.
	* config/mips/mips.h (TUNE_I6400): Define.
	* config/mips/mips.md: Include i6400.md.
	(processor): Add i6400.
	* doc/invoke.texi (-march=@var{arch}): Add i6400.

From-SVN: r226090
2015-07-23 07:58:20 +00:00
Richard Biener 2fde61e3ca re PR middle-end/66916 (FAIL: gcc.target/arm/pr43920-2.c object-size text <= 54)
2015-07-23  Richard Biener  <rguenther@suse.de>

	PR middle-end/66916
	* match.pd: Guard widen and sign-change comparison simplification
	with single_use.

From-SVN: r226089
2015-07-23 07:29:53 +00:00
Richard Biener 28537a45de re PR middle-end/66945 (ICE in generic_simplify (generic-match.c:24790))
2015-07-23  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/66945
	* tree-ssa-propagate.c (substitute_and_fold_dom_walker
	::before_dom_children): Force the propagators idea of
	non-executable edges to materialize, not what the folder
	chooses.

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

From-SVN: r226088
2015-07-23 07:23:23 +00:00
Richard Biener bde7d04b62 gimple.h (gimple_cond_make_false): Use 0 != 0.
2015-07-23  Richard Biener  <rguenther@suse.de>

	* gimple.h (gimple_cond_make_false): Use 0 != 0.
	(gimple_cond_make_true): Use 1 != 0.

From-SVN: r226087
2015-07-23 07:22:06 +00:00
DJ Delorie 3f02735bcf t-msp430 (MULTILIB_DIRNAMES): Remove trailing slashes.
* config/msp430/t-msp430 (MULTILIB_DIRNAMES): Remove trailing
slashes.

* config/msp430/msp430.md (ashlhi3): Optimize shifts of subregs.
(ashrhi3): Likewise.
(lshrhi3): Likewise.
(movhi): Take advantage of zero-extend to load small constants.
(movpsi): Likewise.
(and<mode>3): Likewise.
(zero_extendqihi2): Likewise.
(zero_extendqisi2): New.
* config/msp430/constraints.md (N,O): New.
* config/msp430/msp430.h (WORD_REGISTER_OPERATIONS): Define.

From-SVN: r226085
2015-07-22 23:32:47 -04:00
Uros Bizjak 54d22142b1 re PR target/66954 (function multiversioning fails for target "aes")
libgcc/ChangeLog:

	PR target/66954
	* config/i386/cpuinfo.c (enum processor_features): Add FEATURE_AES.
	(get_available_features): Handle FEATURE_AES.

gcc/ChangeLog:

	PR target/66954
	* config/i386/i386.c (get_builtin_code_for_version): Add P_AES
	to enum feature_priority and feature_list.
	(fold_builtin_cpu): Add F_AES to enum processor_features
	and isa_names_table.

gcc/testsuite/ChangeLog:

	PR target/66954
	* g++.dg/ext/mv24.C: New test.

From-SVN: r226081
2015-07-22 20:01:33 +02:00
Ilya Enkovich 65defbee13 re PR driver/66737 (ld: warning: -z bndplt ignored)
PR driver/66737
	* config/i386/linux-common.h (MPX_SPEC): Use linker option
	for 64bit target only.

From-SVN: r226076
2015-07-22 16:24:28 +00:00
Bernd Schmidt ecf6e535fc * config/nvptx/nvptx.c: Expand some comments.
From-SVN: r226075
2015-07-22 15:30:14 +00:00
James Greenhalgh bf976c5824 [Patch ARM/AArch64 obvious] Fix typo: Rename insn_reservation cortex_53_advsimd to cortex_a53_advsimd
gcc/

	* config/arm/cortex-a53 (cortex_53_advsimd): Rename to...
	(cortex_a53_advsimd): ...This.

From-SVN: r226069
2015-07-22 14:15:26 +00:00
Richard Biener 38b52b2fdd genmatch.c (expr::gen_transform): Clarify error message and display location.
2015-07-22  Richard Biener  <rguenther@suse.de>

	* genmatch.c (expr::gen_transform): Clarify error message
	and display location.

From-SVN: r226068
2015-07-22 13:18:47 +00:00
Richard Biener 0889c52f15 genmatch.c (struct operand): Add location member.
2015-07-22  Richard Biener  <rguenther@suse.de>

	* genmatch.c (struct operand): Add location member.
	(predicate, expr, c_expr, capture, if_expr, with_expr): Adjust
	constructors.
	(struct simplify): Remove match_location and result_location
	members.
	(elsehwere): Adjust.

From-SVN: r226067
2015-07-22 13:16:50 +00:00
Prachi Godbole 6dd74463ea Add scheduling for M51xx core family.
gcc/
	* config/mips/m5100.md: New file.
	* config/mips/mips-cpus.def (m5100, m5101): Define.
	* config/mips/mips-tables.opt: Regenerate.
	* config/mips/mips.c (mips_rtx_cost_data): Add costs for m5100.
	* config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Map -march=m5100 and
	-march=m5101 to -mips32r5.
	(MIPS_ARCH_FLOAT_SPEC): Map -m5101 to -msoft-float.
	(MIPS_ISA_NAN2008_SPEC): Map -march=m51* to -mnan=2008 if
	!-msoft-float.
	* config/mips/mips.md: Include m5100.md.
	(processor): Add m5100.
	* doc/invoke.texi (-march=@var{arch}): Add m5100, m5101.

From-SVN: r226066
2015-07-22 12:46:09 +00:00
Robert Suchanek 8ced5d2def Add -march=interaptiv.
gcc/
	* config/mips/mips-cpus.def (interaptiv): Define.
	* config/mips/mips-tables.opt: Regenerate.
	* config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Map -march=interaptiv to
	-mips32r2.
	(BASE_DRIVER_SELF_SPECS): Likewise but map to -mdsp.
	* doc/invoke.texi (-march=@var{arch}): Add interaptiv.

From-SVN: r226065
2015-07-22 12:45:51 +00:00