Commit Graph

139034 Commits

Author SHA1 Message Date
Marek Polacek
9ea65ca688 match.pd ((x ^ y) ^ (x | y) -> x & y, (x & y) + (x ^ y) -> x | y, (x & y) | (x ^ y) -> x | y, (x & y) ^ (x ^ y) -> x | y, (x & y) + (x | y) -> x + y, (x | y) - (x ^ y) -> x & y, (x | y) - (x & y) -> x ^ y): New patterns.
* match.pd ((x ^ y) ^ (x | y) -> x & y,
	(x & y) + (x ^ y) -> x | y, (x & y) | (x ^ y) -> x | y,
	(x & y) ^ (x ^ y) -> x | y, (x & y) + (x | y) -> x + y,
	(x | y) - (x ^ y) -> x & y, (x | y) - (x & y) -> x ^ y): New patterns.

	* gcc.dg/fold-ior-1.c: New test.
	* gcc.dg/fold-minus-2.c: New test.
	* gcc.dg/fold-minus-3.c: New test.
	* gcc.dg/fold-plus-1.c: New test.
	* gcc.dg/fold-plus-2.c: New test.
	* gcc.dg/fold-xor-4.c: New test.
	* gcc.dg/fold-xor-5.c: New test.

From-SVN: r224734
2015-06-22 14:46:14 +00:00
Joseph Myers
f4f9641b12 * sv.po: Update.
From-SVN: r224730
2015-06-22 15:06:40 +01:00
Uros Bizjak
1ea0e674b0 re PR target/65871 (bzhi builtin/intrinsic wrongly assumes bzhi instruction doesn't set the ZF flag)
PR target/65871
	* config/i386/i386.c (ix86_rtx_costs) <case COMPARE>: Ignore the
	cost of embedded comparison.

From-SVN: r224729
2015-06-22 15:54:58 +02:00
Bill Schmidt
8f77aa9086 re PR target/65914 (error: unrecognizable insn)
[gcc]

2015-06-22  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	PR target/65914
	* config/rs6000/predicates.md (altivec_register_operand): Permit
	virtual stack registers.
	(vsx_register_operand): Likewise.
	(vfloat_operand): Likewise.
	(vint_operand): Likewise.
	(vlogical_operand): Likewise.

[gcc/testsuite]

2015-06-22  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	PR target/65914
	* g++.dg/torture/pr65914.C:  New.

From-SVN: r224725
2015-06-22 13:16:04 +00:00
Richard Biener
1a7611575b c-torture.exp: Set LTO_TORTURE_OPTIONS conditional on not existing TORTURE_OPTIONS only.
2015-06-22  Richard Biener  <rguenther@suse.de>

	* lib/c-torture.exp: Set LTO_TORTURE_OPTIONS conditional on
	not existing TORTURE_OPTIONS only.
	* lib/gcc-dg.exp: Likewise.

From-SVN: r224724
2015-06-22 10:45:47 +00:00
Richard Biener
6d098c572a tree-vectorizer.h (_loop_vec_info): Add scalar_cost_vec and single_scalar_iteration_cost members.
2015-06-22  Richard Biener  <rguenther@suse.de>

	* tree-vectorizer.h (_loop_vec_info): Add scalar_cost_vec
	and single_scalar_iteration_cost members.
	(LOOP_VINFO_SCALAR_ITERATION_COST): New.
	(LOOP_VINFO_SINGLE_SCALAR_ITERATION_COST): Likewise.
	(vect_get_single_scalar_iteration_cost): Remove.
	* tree-vect-data-refs.c (vect_peeling_hash_get_lowest_cost):
	Use LOOP_VINFO_SCALAR_ITERATION_COST.
	* tree-vect-loop.c (destroy_loop_vec_info): Free
	scalar_cost_vec.
	(vect_get_single_scalar_iteration_cost): Compute result into
	LOOP_VINFO_SINGLE_SCALAR_ITERATION_COST and
	LOOP_VINFO_SCALAR_ITERATION_COST.  Make static.
	(vect_analyze_loop_2): Call vect_get_single_scalar_iteration_cost.
	(vect_estimate_min_profitable_iters): Use them.

From-SVN: r224723
2015-06-22 10:44:02 +00:00
Christian Bruel
606e3099e8 add PR reference
From-SVN: r224722
2015-06-22 09:38:23 +02:00
Christian Bruel
e65530503a Add -mflip-thumb for testing.
PR target/52144n
* config/arm/arm.c (add_attribute, arm_insert_attributes): New functions
(TARGET_INSERT_ATTRIBUTES): Define.
(thumb_flipper): New var.
* config/arm/arm.opt (-mflip-thumb): New switch.

PR target/52144
* gcc.target/arm/flip-thumb.c: New test.

From-SVN: r224721
2015-06-22 09:32:15 +02:00
Jan Hubicka
1628e36bcf re PR ipa/65908 (ICE: in expand_thunk, at cgraphunit.c:1700)
PR ipa/65908
	* ipa-icf.c (sem_item::target_supports_symbol_aliases): Remove
	construction of arg_types.
	(sem_function::sem_function): Likewise.
	(sem_function::~sem_function): Remove destruction of arg_types.
	(sem_function::compatible_parm_types_p): New function.
	(sem_function::equals_wpa): Reorg matching of return values
	and parameter types.
	(sem_function::equals_private): Reorg mathcing of argument types.
	(sem_function::parse_tree_args): Remove.
	* ipa-icf.h (init_wpa): Do not call it.
	(parse_tree_args): Remove.
	(compatible_parm_types_p): Declare.
	(result_type): Remove.
	(arg_types): Remove.
	* testsuite/g++.dg/ipa/pr65908.C: New testcase.

Co-Authored-By: Martin Liska <mliska@suse.cz>

From-SVN: r224720
2015-06-22 07:12:22 +00:00
Jan Hubicka
7083621fad re PR rtl-optimization/66351 (r223883 miscompiles stage2 compiler on ia64)
PR ipa/66351
	* ipa-polymorphic-call.c
	(ipa_polymorphic_call_context::get_dynamic_type): Fix thinko when
	initializing alias oracle; fix formating; set base_alias_set if it
	is known.

From-SVN: r224719
2015-06-22 07:02:50 +00:00
Mikhail Maltsev
6b4db50158 Use std::swap instead of manual swaps.
gcc/
	* auto-inc-dec.c (reverse_mem, reverse_inc): Remove.
	(parse_add_or_inc): Use std::swap instead of reverse_{mem,inc}.
	(find_inc): Likewise.
	* combine.c (combine_simplify_rtx): Use std::swap instead of manually
	swapping.
	* df-core.c (df_worklist_dataflow_doublequeue): Likewise.
	* df-scan.c (df_swap_refs): Remove.
	(df_sort_and_compress_refs): Use std::swap instead of df_swap_refs.
	* dominance.c (link_roots): Use std::swap instead of manually swapping.
	* expr.c (expand_expr_real_2, do_store_flag): Likewise.
	* fold-const.c (fold_relational_const): Likewise.
	* genattrtab.c (simplify_test_exp): Likewise.
	* gimple-match-head.c (gimple_resimplify2, gimple_resimplify3,
	gimple_simplify): Likewise.
	* ifcvt.c (noce_try_abs, find_if_header): Likewise.
	* internal-fn.c (expand_addsub_overflow, expand_mul_overflow): Likewise.
	* ipa-devirt.c (add_type_duplicate): Likewise.
	* loop-iv.c (get_biv_step_1, iv_number_of_iterations): Likewise.
	* lra-lives.c (lra_setup_reload_pseudo_preferenced_hard_reg): Likewise.
	* lra.c (lra_create_copy): Likewise.
	* lto-streamer-out.c (DFS::DFS): Likewise.
	* modulo-sched.c (get_sched_window): Likewise.
	* omega.c (omega_pretty_print_problem): Likewise.
	* optabs.c (prepare_float_lib_cmp, expand_mult_highpart): Likewise.
	* reload1.c (reloads_unique_chain_p): Likewise.
	* sel-sched-ir.c (exchange_lv_sets, exchange_av_sets): Remove.
	(exchange_data_sets): Move logic from exchange_{av,lv}_sets here and
	use std::swap.
	* simplify-rtx.c (simplify_unary_operation_1): Use std::swap instead of
	manually swapping.
	* tree-if-conv.c (is_cond_scalar_reduction, predicate_scalar_phi,
	predicate_mem_writes): Likewise.
	* tree-loop-distribution.c (pg_add_dependence_edges): Likewise.
	* tree-predcom.c (combine_chains): Likewise.
	* tree-ssa-alias.c (nonoverlapping_component_refs_p,
	refs_may_alias_p_1): Likewise.
	* tree-ssa-ifcombine.c (recognize_if_then_else): Likewise.
	* tree-ssa-loop-ivopts.c (extract_cond_operands): Likewise.
	* tree-ssa-loop-niter.c (refine_bounds_using_guard,
	number_of_iterations_cond): Likewise.
	* tree-ssa-phiopt.c (tree_ssa_phiopt_worker): Likewise.
	* tree-ssa-sccvn.c (vn_nary_op_compute_hash): Likewise.
	* tree-vect-slp.c (vect_build_slp_tree): Likewise.
	* tree-vect-stmts.c (supportable_widening_operation): Likewise.
	* tree-vrp.c (extract_range_from_binary_expr_1,
	extract_range_from_unary_expr_1): Likewise.

gcc/cp/
	* pt.c (maybe_adjust_types_for_deduction): Use std::swap instead of
	manually swapping.
	* semantics.c (finish_omp_atomic): Likewise.
	* typeck.c (cp_build_array_ref): Likewise.

gcc/c-family/
	* c-common.c (scalar_to_vector): Use std::swap instead of manually
	swapping.

From-SVN: r224718
2015-06-22 02:54:11 +00:00
GCC Administrator
b40bfc067d Daily bump.
From-SVN: r224717
2015-06-22 00:16:20 +00:00
GCC Administrator
1fa37db378 Daily bump.
From-SVN: r224712
2015-06-21 00:16:16 +00:00
Marek Polacek
0115b91d4c * common.opt (fsanitize-undefined-trap-on-error): Add Driver.
From-SVN: r224708
2015-06-20 12:11:52 +00:00
GCC Administrator
b684754590 Daily bump.
From-SVN: r224706
2015-06-20 00:16:15 +00:00
Mikhail Maltsev
cd95a0d559 re PR c++/65882 (Internal compiler error: Error reporting routines re-entered)
PR c++/65882

gcc/cp/
	* call.c (build_new_op_1): Check tf_warning flag in all cases.

gcc/testsuite/
	* g++.dg/diagnostic/inhibit-warn-1.C: New test.
	* g++.dg/diagnostic/inhibit-warn-2.C: New test.

From-SVN: r224702
2015-06-20 00:10:00 +00:00
Kaz Kojima
3cad5f64a8 re PR target/66591 ([SH] ICE: in get_reload_reg, at lra-constraints.c:633 with -mlra)
PR target/66591
* config/sh/sh.c (prepare_move_operands): Pre-allocate R0 for subreg
  index term for base and index addressing when LRA is used.

From-SVN: r224701
2015-06-19 22:58:58 +00:00
Eric Botcazou
c1a569ef31 gigi.h (record_builtin_type): Adjust comment.
* gcc-interface/gigi.h (record_builtin_type): Adjust comment.
	(tree create_type_decl): Likewise.
	(create_var_decl_1): Add artificial_p and debug_info_p parameters.
	(create_var_decl): Likewise.
	(create_true_var_decl): Delete.
	(create_subprog_decl): Add debug_info_p parameter.
	* gcc-interface/decl.c (gnat_to_gnu_entity): Add artificial_p local
	variable and use it throughout.  Remove DECL_ARTIFICIAL settings.
	<E_Variable>: Adjust calls to create_var_decl and create_var_decl_1.
	Remove DECL_IGNORED_P settings.
	<E_Enumeration_Type>: Likewise.
	<E_Record_Type>: Likewise.
	<E_Subprogram_Type>: Likewise.  Remove artificial_flag local variable.
	Adjust call to create_subprog_decl.
	(get_minimal_subprog_decl): Likewise.
	(elaborate_expression_1): Adjust call to create_var_decl.
	* gcc-interface/trans.c (gigi): Adjust calls to create_var_decl and
	create_subprog_decl.  Remove DECL_ARTIFICIAL & DECL_IGNORED_P settings.
	* gcc-interface/utils.c (maybe_pad_type): Likewise.
	(record_builtin_type): Adjust comment.
	(create_type_stub_decl): Remove obsolete comment.
	(create_var_decl_1): Add artificial_p and debug_info_p parameters.
	Set DECL_ARTIFICIAL and DECL_IGNORED_P accordingly.
	(create_subprog_decl): Add debug_info_p parameter.  Set DECL_IGNORED_P
	accordingly.

From-SVN: r224699
2015-06-19 20:25:38 +00:00
Eric Botcazou
034e7d4912 * gcc-interface/misc.c (LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL): Define.
From-SVN: r224698
2015-06-19 20:17:36 +00:00
Eric Botcazou
b24f734536 decl.c (gnat_to_gnu_entity): Make sure the size of a padding type built around the return type is positive.
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Function>: Make sure
	the size of a padding type built around the return type is positive.
	* gcc-interface/trans.c (gnat_to_gnu) <N_Simple_Return_Statement>:
	Use INIT_EXPR instead of MODIFY_EXPR to assign to the return object.

From-SVN: r224697
2015-06-19 20:10:50 +00:00
Jason Merrill
1539357d45 fix ChangeLog date
From-SVN: r224696
2015-06-19 15:55:21 -04:00
Jason Merrill
2ddf4350d3 re PR c++/66585 (Internal compiler error when initialize field with lambda)
PR c++/66585
	* pt.c (instantiate_class_template_1): Clear
	cp_unevaluated_operand and c_inhibit_evaluation_warnings.

From-SVN: r224684
2015-06-19 14:37:41 -04:00
Jason Merrill
62245e6f7e re PR c++/65880 (Member function issue with argument "pointer to const array of member function pointers")
PR c++/65880
	* decl.c (build_ptrmemfunc_type): Check TYPE_GET_PTRMEMFUNC_TYPE after
	cv-qualifiers.
	* typeck.c (merge_types): build_ptrmemfunc_type before applying
	quals and attributes.

From-SVN: r224678
2015-06-19 14:15:36 -04:00
Jason Merrill
30ac6e80ba re PR c++/65973 (segmentation fault when compiling C++14 code)
PR c++/65973
	* constexpr.c (build_constexpr_constructor_member_initializers):
	Handle an empty STATEMENT_LIST.

From-SVN: r224677
2015-06-19 14:15:30 -04:00
Jason Merrill
892562cf28 re PR c++/65843 (multiple use of const variable in lamba in template function causes compile error)
PR c++/65843
	* pt.c (tsubst_copy_and_build): Register a capture proxy in
	local_specializations.

From-SVN: r224676
2015-06-19 14:15:24 -04:00
Jason Merrill
2e56298708 re PR c++/66061 (Internal Compiler Error when specializing a variable template when the specialization is variadic)
PR c++/66061
	* g++.dg/cpp1y/var-templ31.C: New.

From-SVN: r224675
2015-06-19 14:15:17 -04:00
Jim Wilson
490948ca36 aarch64.md (mov<mode>:GPF): Don't call force_reg if op1 is an fp zero.
gcc/
	* config/aarch64/aarch64.md (mov<mode>:GPF): Don't call force_reg if
	op1 is an fp zero.
	(movsf_aarch64): Change condition from register_operand to
	aarch64_reg_or_fp_zero for op1.  Change type for alternative 6 to
	load1.  Change type for alternative 7 to store1.
	(movdf_aarch64): Likewise.
gcc/testsuite/
	* gcc.target/aarch64/fmovd-zero-mem.c: New.
	* gcc.target/aarch64/fmovd-zero-reg.c: New.
	* gcc.target/aarch64/fmovf-zero-mem.c: New.
	* gcc.target/aarch64/fmovf-zero-reg.c: New.
	* gcc.target/aarch64/fmovld-zero-mem.c: New.
	* gcc.target/aarch64/fmovld-zero-mem.c: New.
	* gcc.target/aarch64/fmovd-zero.c: Delete.
	* gcc.target/aarch64/fmovf-zero.c: Delete.

From-SVN: r224673
2015-06-19 10:22:38 -07:00
James Greenhalgh
590f5d5125 [Patch Vax] zero/sign extend patterns need to be SUBREG aware
gcc/

	* config/vax/vax.md: Adjust sign/zero extend patterns to
	handle SUBREGs in operands[1].

gcc/testsuite/

	* gcc.target/vax/bswapdi-1.c: New.

From-SVN: r224672
2015-06-19 16:43:04 +00:00
Christophe Lyon
590d172b1c vtst.c: New file.
2015-06-19  Christophe Lyon  <christophe.lyon@linaro.org>

	* gcc.target/aarch64/advsimd-intrinsics/vtst.c: New file.

From-SVN: r224669
2015-06-19 16:07:10 +02:00
Christophe Lyon
5d2719ab5d vtbX.c: New file.
2015-06-19  Christophe Lyon  <christophe.lyon@linaro.org>

	* gcc.target/aarch64/advsimd-intrinsics/vtbX.c: New file.

From-SVN: r224668
2015-06-19 16:05:57 +02:00
Christophe Lyon
4069ef63c5 vstX_lane.c: New file.
2015-06-19  Christophe Lyon  <christophe.lyon@linaro.org>

	* gcc.target/aarch64/advsimd-intrinsics/vstX_lane.c: New file.

From-SVN: r224667
2015-06-19 16:03:12 +02:00
Christophe Lyon
38ae89187a vst1_lane.c: New file.
2015-06-19  Christophe Lyon  <christophe.lyon@linaro.org>

	* gcc.target/aarch64/advsimd-intrinsics/vst1_lane.c: New file.

From-SVN: r224666
2015-06-19 16:01:33 +02:00
Christophe Lyon
fe175e3434 vsra_n.c: New file.
2015-06-19  Christophe Lyon  <christophe.lyon@linaro.org>

	* gcc.target/aarch64/advsimd-intrinsics/vsra_n.c: New file.

From-SVN: r224665
2015-06-19 16:00:26 +02:00
Christophe Lyon
686f3b7726 vshrn_n.c: New file.
2015-06-19  Christophe Lyon  <christophe.lyon@linaro.org>

	* gcc.target/aarch64/advsimd-intrinsics/vshrn_n.c: New file.

From-SVN: r224664
2015-06-19 15:59:07 +02:00
Christophe Lyon
5d3b46d6cf vshl_n.c: New file.
2015-06-19  Christophe Lyon  <christophe.lyon@linaro.org>

	* gcc.target/aarch64/advsimd-intrinsics/vshl_n.c: New file.

From-SVN: r224663
2015-06-19 15:58:02 +02:00
Christophe Lyon
edd3deac48 vshll_n.c: New file.
2015-06-19  Christophe Lyon  <christophe.lyon@linaro.org>

	* gcc.target/aarch64/advsimd-intrinsics/vshll_n.c: New file.

From-SVN: r224662
2015-06-19 15:56:45 +02:00
Christophe Lyon
ca06e09f3d vset_lane.c: New file.
2015-06-19  Christophe Lyon  <christophe.lyon@linaro.org>

	* gcc.target/aarch64/advsimd-intrinsics/vset_lane.c: New file.

From-SVN: r224661
2015-06-19 15:55:37 +02:00
Christophe Lyon
364c52153d vrsra_n.c: New file.
2015-06-19  Christophe Lyon  <christophe.lyon@linaro.org>

	* gcc.target/aarch64/advsimd-intrinsics/vrsra_n.c: New file.

From-SVN: r224660
2015-06-19 15:54:35 +02:00
Christophe Lyon
083de97958 vrsqrts.c: New file.
2015-06-19  Christophe Lyon  <christophe.lyon@linaro.org>

	* gcc.target/aarch64/advsimd-intrinsics/vrsqrts.c: New file.

From-SVN: r224659
2015-06-19 15:53:19 +02:00
Christophe Lyon
6c6d7550c4 vrsqrte.c: New file.
2015-06-19  Christophe Lyon  <christophe.lyon@linaro.org>

	* gcc.target/aarch64/advsimd-intrinsics/vrsqrte.c: New file.

From-SVN: r224658
2015-06-19 15:52:32 +02:00
Christophe Lyon
fc4645f8da vrshrn_n.c: New file.
2015-06-19  Christophe Lyon  <christophe.lyon@linaro.org>

	* gcc.target/aarch64/advsimd-intrinsics/vrshrn_n.c: New file.

From-SVN: r224657
2015-06-19 15:51:01 +02:00
Christophe Lyon
f897dc1524 vrshr_n.c: New file.
2015-06-19  Christophe Lyon  <christophe.lyon@linaro.org>

	* gcc.target/aarch64/advsimd-intrinsics/vrshr_n.c: New file.

From-SVN: r224656
2015-06-19 15:49:36 +02:00
Christophe Lyon
442e81270a vshr_n.c: New file.
2015-06-19  Christophe Lyon  <christophe.lyon@linaro.org>

	* gcc.target/aarch64/advsimd-intrinsics/vshr_n.c: New file.

From-SVN: r224655
2015-06-19 15:48:23 +02:00
Christophe Lyon
061df55eca vrshl.c: New file.
2015-06-19  Christophe Lyon  <christophe.lyon@linaro.org>

	* gcc.target/aarch64/advsimd-intrinsics/vrshl.c: New file.

From-SVN: r224654
2015-06-19 15:47:21 +02:00
Christophe Lyon
0b29b7091b vrev.c: New file.
2015-06-19  Christophe Lyon  <christophe.lyon@linaro.org>

	* gcc.target/aarch64/advsimd-intrinsics/vrev.c: New file.

From-SVN: r224653
2015-06-19 15:46:31 +02:00
Christophe Lyon
dea1b119bb vreinterpret.c: New file.
2015-06-19  Christophe Lyon  <christophe.lyon@linaro.org>

	* gcc.target/aarch64/advsimd-intrinsics/vreinterpret.c: New file.

From-SVN: r224652
2015-06-19 15:44:17 +02:00
Christophe Lyon
d6a5cb5b6c vrecps.c: New file.
2015-06-19  Christophe Lyon  <christophe.lyon@linaro.org>

	* gcc.target/aarch64/advsimd-intrinsics/vrecps.c: New file.

From-SVN: r224651
2015-06-19 15:43:18 +02:00
Christophe Lyon
650c3cc477 2015-06-19 Christophe Lyon <christophe.lyon@linaro.org>
* gcc.target/aarch64/advsimd-intrinsics/arm-neon-ref.h
	(_ARM_FPSCR): Add FZ field.
	(clean_results): Force FZ=1 on AArch64.
	* gcc.target/aarch64/advsimd-intrinsics/vrecpe.c: New file.

From-SVN: r224650
2015-06-19 15:42:22 +02:00
Christophe Lyon
f6abd7f1b3 pr62308.c: New test.
2015-06-19  Christophe Lyon  <christophe.lyon@linaro.org>

	gcc/testsuite/
	* gcc.target/aarch64/pr62308.c: New test.

From-SVN: r224649
2015-06-19 15:02:55 +02:00
Mikael Morin
f0e99403af Fix openmp global state fortran regression
PR fortran/66549
gcc/fortran/
	* resolve.c (resolve_global_procedure): Don't save and restore
	OpenMP state around the call to gfc_resolve.
	(gfc_resolve): Save OpenMP state on entry and restore it on return.
gcc/testsuite/
	* gfortran.dg/gomp/omp_parallel_1.f90: New file.

From-SVN: r224648
2015-06-19 12:50:00 +00:00