1. 02 May, 2013 5 commits
  2. 01 May, 2013 17 commits
    • re PR c++/57132 (spurious warning: division by zero [-Wdiv-by-zero] in if (m) res %=m;) · 1a989b61
      /cp
      2013-05-01  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/57132
      	* pt.c (tsubst_copy_and_build, MODOP_EXPR): Increase / decrease
      	c_inhibit_evaluation_warnings around build_x_modify_expr call.
      
      /testsuite
      2013-05-01  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/57132
      	* g++.dg/warn/Wdiv-by-zero-bogus-2.C: New.
      
      From-SVN: r198504
      Paolo Carlini committed
    • re PR target/57091 (ICE: in assign_by_spills, at lra-assigns.c:1268 with… · 36ff9dfb
      re PR target/57091 (ICE: in assign_by_spills, at lra-assigns.c:1268 with -mcmodel=large and indirect call)
      
      2013-05-01  Vladimir Makarov  <vmakarov@redhat.com>
      
      	PR target/57091
      	* lra-constraints.c (best_small_class_operands_num): Remove.
      	(process_alt_operands): Remove small_class_operands_num.  Take
      	small classes operands into losers and only if the operand is not
      	matched.  Modify debugging output.
      	(curr_insn_transform): Remove best_small_class_operands_num.
      	Print insn name.
      
      2013-05-01  Vladimir Makarov  <vmakarov@redhat.com>
      
      	PR target/57091
      	* gcc.target/i386/pr57091.c: New test.
      
      From-SVN: r198503
      Vladimir Makarov committed
    • [AArch64] Refactor reduc_<su>plus patterns. · 36054fab
      gcc/
      	* config/aarch64/aarch64-builtins.c
      	(aarch64_gimple_fold_builtin.c): Fold more modes for reduc_splus_.
      	* config/aarch64/aarch64-simd-builtins.def
      	(reduc_splus_): Add new modes.
      	(reduc_uplus_): New.
      	* config/aarch64/aarch64-simd.md (aarch64_addvv4sf): Remove.
      	(reduc_uplus_v4sf): Likewise.
      	(reduc_splus_v4sf): Likewise.
      	(aarch64_addv<mode>): Likewise.
      	(reduc_uplus_<mode>): Likewise.
      	(reduc_splus_<mode>): Likewise.
      	(aarch64_addvv2di): Likewise.
      	(reduc_uplus_v2di): Likewise.
      	(reduc_splus_v2di): Likewise.
      	(aarch64_addvv2si): Likewise.
      	(reduc_uplus_v2si): Likewise.
      	(reduc_splus_v2si): Likewise.
      	(reduc_<sur>plus_<mode>): New.
      	(reduc_<sur>plus_v2di): Likewise.
      	(reduc_<sur>plus_v2si): Likewise.
      	(reduc_<sur>plus_v4sf): Likewise.
      	(aarch64_addpv4sf): Likewise.
      	* config/aarch64/arm_neon.h
      	(vaddv<q>_<s,u,f><8, 16, 32, 64): Rewrite using builtins.
      	* config/aarch64/iterators.md (unspec): Remove UNSPEC_ADDV,
      	add UNSPEC_SADDV, UNSPEC_UADDV.
      	(SUADDV): New.
      	(sur): Add UNSPEC_SADDV, UNSPEC_UADDV.
      
      gcc/testsuite/
      	* gcc.target/aarch64/vect-vaddv.c: New.
      
      From-SVN: r198500
      James Greenhalgh committed
    • [AArch64] Rewrite v<max,min><nm><q><v>_<sfu><8, 16, 32, 64> intrinsics using builtins. · 6dce23a8
      gcc/
      	* config/aarch64/arm_neon.h
      	(v<max,min><nm><q><v>_<sfu><8, 16, 32, 64>): Rewrite using builtins.
      
      gcc/testsuite/
      	* gcc.target/aarch64/vect-vmaxv.c: New.
      	* gcc.target/aarch64/vect-vfmaxv.c: Likewise.
      
      From-SVN: r198499
      James Greenhalgh committed
    • [AArch64] Fold max and min reduction builtins to tree. · 1598945b
      gcc/
      	* config/aarch64/aarch64-builtins
      	(aarch64_gimple_fold_builtin): Fold reduc_<su><maxmin>_ builtins.
      
      From-SVN: r198498
      James Greenhalgh committed
    • [AArch64] Refactor vector max and min RTL and builtins. · 998eaf97
      gcc/
      	* config/aarch64/aarch64-simd-builtins.def
      	(reduc_smax_): New.
      	(reduc_smin_): Likewise.
      	(reduc_umax_): Likewise.
      	(reduc_umin_): Likewise.
      	(reduc_smax_nan_): Likewise.
      	(reduc_smin_nan_): Likewise.
      	(fmax): Remove.
      	(fmin): Likewise.
      	(smax): Update for V2SF, V4SF and V2DF modes.
      	(smin): Likewise.
      	(smax_nan): New.
      	(smin_nan): Likewise.
      	* config/aarch64/aarch64-simd.md (<maxmin><mode>3): Rename to...
      	(<su><maxmin><mode>3): ...This, refactor.
      	(s<maxmin><mode>3): New.
      	(<maxmin_uns><mode>3): Likewise.
      	(reduc_<maxmin_uns>_<mode>): Refactor.
      	(reduc_<maxmin_uns>_v4sf): Likewise.
      	(reduc_<maxmin_uns>_v2si): Likewise.
      	(aarch64_<fmaxmin><mode>: Remove.
      	* config/aarch64/arm_neon.h (vmax<q>_f<32,64>): Rewrite to use
      	new builtin names.
      	(vmin<q>_f<32,64>): Likewise.
      	* config/iterators.md (unspec): Add UNSPEC_FMAXNMV, UNSPEC_FMINNMV.
      	(FMAXMIN): New.
      	(su): Add mappings for smax, smin, umax, umin.
      	(maxmin): New.
      	(FMAXMINV): Add UNSPEC_FMAXNMV, UNSPEC_FMINNMV.
      	(FMAXMIN): Rename as...
      	(FMAXMIN_UNS): ...This.
      	(maxminv): Remove.
      	(fmaxminv): Likewise.
      	(fmaxmin): Likewise.
      	(maxmin_uns): New.
      	(maxmin_uns_op): Likewise.
      
      From-SVN: r198497
      James Greenhalgh committed
    • [AArch64] Add testcases for FAC, FCM changes. · 92d9038e
      gcc/testsuite/
      	* gcc.target/aarch64/scalar-vca.c: New.
      	* gcc.target/aarch64/vect-vca.c: Likewise.
      
      From-SVN: r198496
      James Greenhalgh committed
    • [AArch64] Rewrite vca<ge, gt, le, lt> Neon patterns in C. · bd11644e
      gcc/
      	* config/aarch64/arm_neon.h
      	(vac<ge, gt><sd>_f<32, 64>): Rename to...
      	(vca<ge, gt><sd>_f<32, 64>): ...this, reimpliment in C.
      	(vca<ge, gt, lt, le><q>_f<32, 64>): Reimpliment in C.
      
      From-SVN: r198495
      James Greenhalgh committed
    • [AArch64] Add combiner patterns for FAC instructions · 75dd5ace
      gcc/
      	* config/aarch64/aarch64-simd.md (*aarch64_fac<optab><mode>): New.
      	* config/aarch64/iterators.md (FAC_COMPARISONS): New.
      
      From-SVN: r198494
      James Greenhalgh committed
    • [AArch64 Testsuite] Fix fallout from FCM changes. · ad755ff1
      gcc/testsuite/
      	* gcc.target/aarch64/scalar_intrinsics.c (force_simd): New.
      	(test_vceqd_s64): Force arguments to SIMD registers.
      	(test_vceqzd_s64): Likewise.
      	(test_vcged_s64): Likewise.
      	(test_vcled_s64): Likewise.
      	(test_vcgezd_s64): Likewise.
      	(test_vcged_u64): Likewise.
      	(test_vcgtd_s64): Likewise.
      	(test_vcltd_s64): Likewise.
      	(test_vcgtzd_s64): Likewise.
      	(test_vcgtd_u64): Likewise.
      	(test_vclezd_s64): Likewise.
      	(test_vcltzd_s64): Likewise.
      	(test_vtst_s64): Likewise.
      	(test_vtst_u64): Likewise.
      
      From-SVN: r198493
      James Greenhalgh committed
    • [AArch64] Add special case when expanding vcond with arms {-1, -1}, {0, 0}. · 7c19979f
      gcc/
      	* config/aarch64/aarch64-simd.md
      	(vcond<mode>_internal): Handle special cases for constant masks.
      	(vcond<mode><mode>): Allow nonmemory_operands for outcome vectors.
      	(vcondu<mode><mode>): Likewise.
      	(vcond<v_cmp_result><mode>): New.
      
      From-SVN: r198492
      James Greenhalgh committed
    • [AArch64] Remap neon vcmp functions to C/TREE · bb60efd9
      gcc/
      	* config/aarch64/aarch64-builtins.c (BUILTIN_VALLDI): Define.
      	(aarch64_fold_builtin): Add folding for cm<eq,ge,gt,tst>.
      	* config/aarch64/aarch64-simd-builtins.def
      	(cmeq): Update to BUILTIN_VALLDI.
      	(cmgt): Likewise.
      	(cmge): Likewise.
      	(cmle): Likewise.
      	(cmlt): Likewise.
      	* config/aarch64/arm_neon.h
      	(vc<eq, lt, le, gt, ge, tst><z><qsd>_<fpsu><8,16,32,64>): Remap
      	to builtins or C as appropriate.
      
      From-SVN: r198491
      James Greenhalgh committed
    • [AArch64] Improve description of <F>CM instructions in RTL · 889b9412
      gcc/
      	* config/aarch64/aarch64-simd-builtins.def (cmhs): Rename to...
      	(cmgeu): ...This.
      	(cmhi): Rename to...
      	(cmgtu): ...This.
      	* config/aarch64/aarch64-simd.md
      	(simd_mode): Add SF.
      	(aarch64_vcond_internal): Use new names for unsigned comparison insns.
      	(aarch64_cm<optab><mode>): Rewrite to not use UNSPECs.
      	* config/aarch64/aarch64.md (*cstore<mode>_neg): Rename to...
      	(cstore<mode>_neg): ...This.
      	* config/aarch64/iterators.md
      	(VALLF): new.
      	(unspec): Remove UNSPEC_CM<EQ, LE, LT, GE, GT, HS, HI, TST>.
      	(COMPARISONS): New.
      	(UCOMPARISONS): Likewise.
      	(optab): Add missing comparisons.
      	(n_optab): New.
      	(cmp_1): Likewise.
      	(cmp_2): Likewise.
      	(CMP): Likewise.
      	(cmp): Remove.
      	(VCMP_S): Likewise.
      	(VCMP_U): Likewise.
      	(V_cmp_result): Add DF, SF modes.
      	(v_cmp_result): Likewise.
      	(v): Likewise.
      	(vmtype): Likewise.
      	* config/aarch64/predicates.md (aarch64_reg_or_fp_zero): New.
      
      From-SVN: r198490
      James Greenhalgh committed
    • thumb2.md (thumb2_smaxsi3,thumb2_sminsi3): Convert define_insn to define_insn_and_split. · 0a7dbb76
      2013-05-01  Greta Yorsh  <Greta.Yorsh@arm.com>
      
      	* config/arm/thumb2.md (thumb2_smaxsi3,thumb2_sminsi3): Convert
      	define_insn to define_insn_and_split.
      	(thumb32_umaxsi3,thumb2_uminsi3): Likewise.
      	(thumb2_negdi2,thumb2_abssi2,thumb2_neg_abssi2): Likewise.
      	(thumb2_mov_scc,thumb2_mov_negscc,thumb2_mov_notscc): Likewise.
      	(thumb2_movsicc_insn,thumb2_and_scc,thumb2_ior_scc): Likewise.
      	(thumb2_negscc): Likewise.
      
      From-SVN: r198489
      Greta Yorsh committed
    • re PR c++/57092 (Using decltype of function pointer type to define a data member… · 57c16a5e
      re PR c++/57092 (Using decltype of function pointer type to define a data member causes compiler crash)
      
      /cp
      2013-05-01  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/57092
      	* semantics.c (finish_decltype_type): Handle instantiated template
      	non-type arguments.
      
      /testsuite
      2013-05-01  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/57092
      	* g++.dg/cpp0x/decltype53.C: New.
      
      From-SVN: r198487
      Paolo Carlini committed
    • frontend-passes.c (optimize_power): Fix typo in comment. · e1e14947
      2013-05-01  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	* frontend-passes.c (optimize_power):  Fix typo
      	in comment.
      
      From-SVN: r198486
      Thomas Koenig committed
    • Daily bump. · dceb1653
      From-SVN: r198484
      GCC Administrator committed
  3. 30 Apr, 2013 15 commits
    • re PR fortran/57071 (Optimize (-1)**k to 1 - 2 * mod(K, 2)) · 068b04fe
      2013-04-30  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/57071
      	* frontend-passes.c (optimize_power):  Simplify
      	1**k to 1.
      
      2013-04-30  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/57071
      	* gfortran.dg/power_5.f90:  New test.
      
      From-SVN: r198476
      Thomas Koenig committed
    • MAINTAINERS: Update my email; move myself from Fortran reviewer to Write After Approval. · dc4ea06f
      * MAINTAINERS: Update my email; move myself from Fortran
      reviewer to Write After Approval.
      
      From-SVN: r198469
      Brooks Moses committed
    • thumb2.md (thumb2_incscc, [...]): Delete. · fb614ca6
      2013-04-30  Greta Yorsh  <Greta.Yorsh@arm.com>
      
      	* config/arm/thumb2.md (thumb2_incscc, thumb2_decscc): Delete.
      
      From-SVN: r198465
      Greta Yorsh committed
    • Committed as obvious. · 9e64a0bf
      2013-04-30  Greta Yorsh  <Greta.Yorsh@arm.com>
      
      	* config/arm/thumb2.md: Remove trailing whitespaces.
      
      From-SVN: r198464
      Greta Yorsh committed
    • explow.c (plus_constant): Pass "mode" to immed_double_int_const. · d6b28156
      gcc/
      	* explow.c (plus_constant): Pass "mode" to immed_double_int_const.
      	Use gen_int_mode rather than GEN_INT.
      
      From-SVN: r198462
      Richard Sandiford committed
    • Fix a typo in ChangeLog · b0dec607
      From-SVN: r198458
      H.J. Lu committed
    • Remove the trayed debug_gimple_stmt · f91674c3
      	* value-prof.c (stream_in_histogram_value): Remove the trayed
      	debug_gimple_stmt.
      
      From-SVN: r198457
      H.J. Lu committed
    • re PR tree-optimization/57122 (ICE in verify_loop_structure, at cfgloop.c:1647… · 3551257c
      re PR tree-optimization/57122 (ICE in verify_loop_structure, at cfgloop.c:1647 (loop n’s latch does not have an edge to its header !))
      
      2013-04-30  Richard Biener  <rguenther@suse.de>
      
      	PR middle-end/57122
      	* cfghooks.c (split_edge): Properly check for the loop
      	latch edge.
      
      	* gcc.dg/torture/pr57122.c: New testcase.
      
      From-SVN: r198456
      Richard Biener committed
    • re PR middle-end/57107 (tree check fail in unlink_stmt_vdef) · 4c1aff1c
      2013-04-30  Richard Biener  <rguenther@suse.de>
      
      	PR middle-end/57107
      	* tree-eh.c (sink_clobbers): Preserve virtual SSA form.
      
      	* g++.dg/torture/pr57107.C: New testcase.
      
      From-SVN: r198454
      Richard Biener committed
    • re PR rtl-optimization/56957 (ICE in add_insn_after, at emit-rtl.c:3783) · 54b8379a
              PR rtl-optimization/56957
              PR rtl-optimization/57105
      
              * sel-sched.c (move_op_orig_expr_found): Remove insn_emitted
              variable.  Use just INSN_UID for determining whether an insn
              should be only disconnected from the insn stream.
              * sel-sched-ir.h (EXPR_WAS_CHANGED): Remove.
      
      	* gcc.dg/pr57105.c: New test.
      
      From-SVN: r198449
      Andrey Belevantsev committed
    • re PR sanitizer/57104 (ICE: in expand_expr_addr_expr_1, at expr.c:7594 with… · abc27962
      re PR sanitizer/57104 (ICE: in expand_expr_addr_expr_1, at expr.c:7594 with -fsanitize=thread and hardreg variable)
      
      	PR tree-optimization/57104
      	* tsan.c (instrument_expr): Don't instrument accesses to
      	DECL_HARD_REGISTER VAR_DECLs.
      
      	* gcc.dg/pr57104.c: New test.
      
      From-SVN: r198445
      Jakub Jelinek committed
    • config-list.mk (LIST): Add aarch64-elf and aarch64-linux-gnu. · a46d0aff
      From-SVN: r198443
      Sofiane Naci committed
    • function.h (loops_for_fn): New inline function. · 0fc822d0
      2013-04-30  Richard Biener  <rguenther@suse.de>
      
      	* function.h (loops_for_fn): New inline function.
      	(set_loops_for_fn): Likewise.
      	* cfgloop.h (place_new_loop): Add struct function parameter.
      	(get_loop): Likewise.
      	(get_loops): Likewise.
      	(number_of_loops): Likewise.
      	(fel_next): Adjust.
      	(fel_init): Likewise.
      	* cfg.c (get_loop_copy): Adjust.
      	* cfgloop.c (flow_loops_dump): Likewise.
      	(record_loop_exits): Likewise.
      	(verify_loop_structure): Likewise.
      	* cfgloopanal.c (mark_irreducible_loops): Likewise.
      	(estimate_reg_pressure_cost): Likewise.
      	(mark_loop_exit_edges): Likewise.
      	* cfgloopmanip.c (place_new_loop): Likewise.
      	(add_loop): Likewise.
      	(duplicate_loop): Likewise.
      	* graph.c (draw_cfg_nodes): Likewise.
      	* graphite-clast-to-gimple.c (translate_clast_user): Likewise.
      	* graphite-sese-to-poly.c (build_scop_scattering): Likewise.
      	(extract_affine_chrec): Likewise.
      	(build_scop_iteration_domain): Likewise.
      	* graphite.c (graphite_initialize): Likewise.
      	* ira-build.c (create_loop_tree_nodes): Likewise.
      	(more_one_region_p): Likewise.
      	(rebuild_regno_allocno_maps): Likewise.
      	(mark_loops_for_removal): Likewise.
      	(mark_all_loops_for_removal): Likewise.
      	(remove_unnecessary_regions): Likewise.
      	(ira_build): Likewise.
      	* ira-emit.c (setup_entered_from_non_parent_p): Likewise.
      	* loop-init.c (fix_loop_structure): Likewise.
      	(gate_rtl_move_loop_invariants): Likewise.
      	(gate_rtl_unswitch): Likewise.
      	(gate_rtl_unroll_and_peel_loops): Likewise.
      	(rtl_doloop): Likewise.
      	* lto-streamer-in.c (input_cfg): Likewise.
      	* lto-streamer-out.c (output_cfg): Likewise.
      	* modulo-sched.c (sms_schedule): Likewise.
      	* predict.c (tree_estimate_probability): Likewise.
      	(tree_estimate_probability_driver): Likewise.
      	(estimate_loops): Likewise.
      	* tree-cfg.c (fixup_loop_arrays_after_move): Likewise.
      	(move_sese_region_to_fn): Likewise.
      	(debug_loop_num): Likewise.
      	* tree-chrec.c (chrec_evaluate): Likewise.
      	(hide_evolution_in_other_loops_than_loop): Likewise.
      	(chrec_component_in_loop_num): Likewise.
      	(reset_evolution_in_loop): Likewise.
      	(evolution_function_is_invariant_rec_p): Likewise.
      	* tree-if-conv.c (main_tree_if_conversion): Likewise.
      	* tree-inline.c (copy_loops): Likewise.
      	(copy_cfg_body): Likewise.
      	(tree_function_versioning): Likewise.
      	* tree-loop-distribution.c (rdg_flag_loop_exits): Likewise.
      	* tree-scalar-evolution.c (chrec_contains_symbols_defined_in_loop):
      	Likewise.
      	(add_to_evolution_1): Likewise.
      	(scev_const_prop): Likewise.
      	* tree-scalar-evolution.h (get_chrec_loop): Likewise.
      	* tree-ssa-loop-ch.c (copy_loop_headers): Likewise.
      	* tree-ssa-loop-im.c (analyze_memory_references): Likewise.
      	(tree_ssa_lim_initialize): Likewise.
      	* tree-ssa-loop-manip.c (rewrite_into_loop_closed_ssa): Likewise.
      	(verify_loop_closed_ssa): Likewise.
      	* tree-ssa-loop.c  (tree_ssa_loop_init): Likewise.
      	(tree_ssa_loop_im): Likewise.
      	(tree_ssa_loop_unswitch): Likewise.
      	(tree_vectorize): Likewise.
      	(check_data_deps): Likewise.
      	(tree_ssa_loop_ivcanon): Likewise.
      	(tree_ssa_loop_bounds): Likewise.
      	(tree_complete_unroll): Likewise.
      	(tree_complete_unroll_inner): Likewise.
      	(tree_parallelize_loops): Likewise.
      	(tree_ssa_loop_prefetch): Likewise.
      	(tree_ssa_loop_ivopts): Likewise.
      	* tree-ssa.c (execute_update_addresses_taken): Liekwise.
      	* tree-vectorizer.c (vectorize_loops): Likewise.
      
      From-SVN: r198441
      Richard Biener committed
    • gcc: arm: linux-eabi: fix handling of armv4 bx fixups when linking · 37953bd3
      The bpabi.h header already sets up defines to automatically use the
      --fix-v4bx flag with the assembler & linker as needed, and creates a
      default assembly & linker spec which uses those.  Unfortunately, the
      linux-eabi.h header clobbers the LINK_SPEC define and doesn't include
      the v4bx define when setting up its own.  So while the assembler spec
      is retained and works fine to generate the right relocs, building for
      armv4 targets doesn't invoke the linker correctly so all the relocs
      get processed as if we had an armv4t target.
      
      You can see this with -dumpspecs when configuring gcc for an armv4
      target and using --with-arch=armv4:
      $ armv4l-unknown-linux-gnueabi-gcc -dumpspecs |& grep -B 1 fix-v4bx
      *subtarget_extra_asm_spec:
      .... %{mcpu=arm8|mcpu=arm810|mcpu=strongarm*|march=armv4|mcpu=fa526|mcpu=fa626:--fix-v4bx} ...
      
      With this fix in place, we also get the link spec:
      $ armv4l-unknown-linux-gnueabi-gcc -dumpspecs |& grep -B 1 fix-v4bx
      *link:
      ...  %{mcpu=arm8|mcpu=arm810|mcpu=strongarm*|march=armv4|mcpu=fa526|mcpu=fa626:--fix-v4bx} ...
      
      And all my hello world tests / glibc builds automatically turn the
      bx insn into the 'mov pc, lr' insn and all is right in the world.
      
      Signed-off-by: Mike Frysinger <vapier@gentoo.org>
      
      From-SVN: r198438
      Mike Frysinger committed
    • Daily bump. · 5eb8b03c
      From-SVN: r198437
      GCC Administrator committed
  4. 29 Apr, 2013 3 commits