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