aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2013-04-08First phase of unifying the computation of profile scale ↵Teresa Johnson22-80/+147
factors/probabilities and the actual scaling to use rounding divides... First phase of unifying the computation of profile scale factors/probabilities and the actual scaling to use rounding divides: - Add new macro GCOV_COMPUTE_SCALE to basic-block.h to compute the scale factor/probability via a rounding divide. - Change all locations that already perform rounding divides (inline or via RDIV) to use the appropriate helper: GCOV_COMPUTE_SCALE, apply_probability or combine_probabilities. - Change ipa-cp.c truncating divides to use rounding divides. - Add comments to all other locations (currently using truncating divides) to switch them to one of the helpers so they use a rounding divide. Next phase will be to replace the locations using truncating divides, marked with a comment here, into rounding divides via the helper methods. 2013-04-08 Teresa Johnson <tejohnson@google.com> * basic-block.h (GCOV_COMPUTE_SCALE): Define. * ipa-inline-analysis.c (param_change_prob): Use helper rounding divide methods. (estimate_edge_size_and_time): Add comment to suggest using rounding methods. (estimate_node_size_and_time): Ditto. (remap_edge_change_prob): Use helper rounding divide methods. * value-prof.c (gimple_divmod_fixed_value_transform): Ditto. (gimple_mod_pow2_value_transform): Ditto. (gimple_mod_subtract_transform): Ditto. (gimple_ic_transform): Ditto. (gimple_stringops_transform): Ditto. * stmt.c (conditional_probability): Ditto. (emit_case_dispatch_table): Ditto. * lto-cgraph.c (merge_profile_summaries): Ditto. * tree-optimize.c (execute_fixup_cfg): Ditto. * cfgcleanup.c (try_forward_edges): Ditto. * cfgloopmanip.c (scale_loop_profile): Ditto. (loopify): Ditto. (duplicate_loop_to_header_edge): Ditto. (lv_adjust_loop_entry_edge): Ditto. * tree-vect-loop.c (vect_transform_loop): Ditto. * profile.c (compute_branch_probabilities): Ditto. * cfgbuild.c (compute_outgoing_frequencies): Ditto. * lto-streamer-in.c (input_cfg): Ditto. * gimple-streamer-in.c (input_bb): Ditto. * ipa-cp.c (update_profiling_info): Ditto. (update_specialized_profile): Ditto. * tree-vect-loop-manip.c (slpeel_tree_peel_loop_to_edge): Ditto. * cfg.c (update_bb_profile_for_threading): Add comment to suggest using rounding methods. * sched-rgn.c (compute_dom_prob_ps): Ditto. (compute_trg_info): Ditto. * cfgrtl.c (force_nonfallthru_and_redirect): Ditto. (purge_dead_edges): Ditto. * loop-unswitch.c (unswitch_loop): Ditto. * cgraphclones.c (cgraph_clone_edge): Ditto. (cgraph_clone_node): Ditto. * tree-inline.c (copy_bb): Ditto. (copy_edges_for_bb): Ditto. (initialize_cfun): Ditto. (copy_cfg_body): Ditto. (expand_call_inline): Ditto. From-SVN: r197595
2013-04-08cygwin.h (EXTRA_OS_CPP_BUILTINS): Replaced TARGET_CYGWIN64 by TARGET_64BIT.Kai Tietz2-1/+6
* config/i386/cygwin.h (EXTRA_OS_CPP_BUILTINS): Replaced TARGET_CYGWIN64 by TARGET_64BIT. From-SVN: r197593
2013-04-08epiphany.md (<insn_opname>v2si3): Use gen_addsi3_i / gen_subsi3_i.Joern Rennecke2-2/+10
* config/epiphany/epiphany.md (<insn_opname>v2si3): Use gen_addsi3_i / gen_subsi3_i. From-SVN: r197592
2013-04-08ChangeLog typo fix.Joern Rennecke1-1/+1
From-SVN: r197591
2013-04-08epiphany.md (mov_f+2): New peephole2 pattern.Joern Rennecke2-8/+35
* config/epiphany/epiphany.md (mov_f+2): New peephole2 pattern. (cstoresi4): Also allow re-use of zero result when doing a NE comparison to a non-zero operand. Use (clobber (sratch)) for first insn if the gpr output is not needed. From-SVN: r197590
2013-04-08epiphany.md (logical_op): New code iterator.Joern Rennecke2-0/+109
* config/epiphany/epiphany.md (logical_op): New code iterator. (op_mnc): New code attribute. (<op_mnc>_f, mov_f, cstoresi4): New patterns. (mov_f+1, mov_f+2): New peephole2 patterns. From-SVN: r197589
2013-04-08constraints.md (CnL): New constraint.Joern Rennecke4-5/+20
* config/epiphany/constraints.md (CnL): New constraint. * config/epiphany/epiphany.md (addsi3_i): Add r/r/CnL alternative. * config/epiphany/predicates.md (add_operand): Allow 1024. From-SVN: r197588
2013-04-08epiphany.c (epiphany_select_cc_mode): Don't use CC_FPmode for ORDERED / ↵Joern Rennecke3-2/+8
UNORDERED. * config/epiphany/epiphany.c (epiphany_select_cc_mode): Don't use CC_FPmode for ORDERED / UNORDERED. * config/epiphany/epiphany.md (cmpsf_ord): Make pattern unconditional. From-SVN: r197587
2013-04-08epiphany.md (GPR_1): New constant.Joern Rennecke3-9/+48
* config/epiphany/epiphany.md (GPR_1): New constant. (define_expand "mov<mode>cc): FAIL if gen_compare_reg returned 0. * config/epiphany/epiphany.c (gen_compare_reg): For flag_finite_math_only, avoid swapping operands when r0 and/or r1 is already in place. Use GPR_0 / GPR_1 instead of 0/1 for r0/r1 register numbers. Don't require being called during rtl expansion; If y operlaps r0, return 0. (epiphany_compute_frame_size, epiphany_expand_prologue): Use GPR_1. (epiphany_expand_epilogue): Likewise. From-SVN: r197586
2013-04-08* gcc.c-torture/execute/pr56837.c: New test.Jakub Jelinek2-0/+23
From-SVN: r197582
2013-04-08re PR c++/34949 (Dead code in empty destructors.)Jakub Jelinek6-10/+171
PR c++/34949 PR c++/50243 * tree-eh.c (optimize_clobbers): Only remove clobbers if bb doesn't contain anything but clobbers, at most one __builtin_stack_restore, optionally debug stmts and final resx, and if it has at least one incoming EH edge. Don't check for SSA_NAME on LHS of a clobber. (sink_clobbers): Don't check for SSA_NAME on LHS of a clobber. Instead of moving clobbers with MEM_REF LHS with SSA_NAME address which isn't defaut definition, remove them. (unsplit_eh, cleanup_empty_eh): Use single_{pred,succ}_{p,edge} instead of EDGE_COUNT comparisons or EDGE_{PRED,SUCC}. * tree-ssa-ccp.c (execute_fold_all_builtins): Remove clobbers with MEM_REF LHS with SSA_NAME address. * g++.dg/opt/vt3.C: New test. * g++.dg/opt/vt4.C: New test. From-SVN: r197580
2013-04-08gimple.c (canonicalize_cond_expr_cond): Rewrite x ^ y into x != y.Jeff Law4-1/+56
* gimple.c (canonicalize_cond_expr_cond): Rewrite x ^ y into x != y. * gcc.dg/tree-ssa/forwprop-25.c: New test From-SVN: r197579
2013-04-08gimple-pretty-print.c (debug_gimple_stmt): Do not print extra newline.Richard Biener7-31/+47
2013-04-08 Richard Biener <rguenther@suse.de> * gimple-pretty-print.c (debug_gimple_stmt): Do not print extra newline. * tree-vect-loop.c (vect_determine_vectorization_factor): Dump determined vector type. (vect_analyze_data_refs): Likewise. (vect_get_new_vect_var): Adjust. (vect_create_destination_var): Preserve SSA name versions. * tree-vect-stmts.c (get_vectype_for_scalar_type_and_size): Do not dump anything here. * gfortran.dg/vect/fast-math-mgrid-resid.f: Adjust. From-SVN: r197578
2013-04-08epiphany.h (struct GTY (()) machine_function): Add member lr_slot_known.Joern Rennecke4-24/+44
* config/epiphany/epiphany.h (struct GTY (()) machine_function): Add member lr_slot_known. * config/epiphany/epiphany.md (reload_insi_ra): Compute lr_slot_offs if necessary. * config/epiphany/epiphany.c (epiphany_compute_frame_size): Remove code that sets lr_slot_offset according to what a previous version of epiphany_emit_save_restore used to do. (epiphany_emit_save_restore): When doing an lr save or restore, set/verify lr_slot_known and lr_slot_offset. From-SVN: r197577
2013-04-08Fix PR target/54338 - Include IWMMXT_GR_REGS in ALL_REGS.Xinyu Qi2-1/+7
For Xinyu Qi. 2013-04-08 Xinyu Qi <xyqi@marvell.com> PR target/54338 * config/arm/arm.h (REG_CLASS_CONTENTS): Include IWMMXT_GR_REGS in ALL_REGS. From-SVN: r197576
2013-04-08alias.c (find_base_term): Fix thinko in previous change.Richard Biener2-8/+12
2013-04-08 Richard Biener <rguenther@suse.de> * alias.c (find_base_term): Fix thinko in previous change. From-SVN: r197572
2013-04-08fast-math-pr37021.f90: Adjust.Richard Biener2-0/+5
2013-04-08 Richard Biener <rguenther@suse.de> * gfortran.dg/vect/fast-math-pr37021.f90: Adjust. From-SVN: r197571
2013-04-08slp-pr56812.cc: Adjust.Richard Biener2-0/+5
2013-04-08 Richard Biener <rguenther@suse.de> * g++.dg/vect/slp-pr56812.cc: Adjust. From-SVN: r197569
2013-04-08tree-loop-distribution.c (const_with_all_bytes_same): New function.Jakub Jelinek5-33/+132
* tree-loop-distribution.c (const_with_all_bytes_same): New function. (generate_memset_builtin): Only handle integer_all_onesp as -1 val if TYPE_PRECISION is equal to mode bitsize. Use const_with_all_bytes_same if possible to compute val. (classify_partition): Verify CONSTRUCTOR doesn't have any elts. For QImode integers don't require anything about precision. Use const_with_all_bytes_same to find out if the constant doesn't have repeated bytes in it. * gcc.dg/pr56837.c: New test. * gcc.dg/tree-ssa/ldist-19.c: Don't check for "generated memset minus one". From-SVN: r197568
2013-04-08s390.c (s390_expand_insv): Only accept insertions within mode size.Andreas Krebbel2-0/+8
2013-04-08 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> * config/s390/s390.c (s390_expand_insv): Only accept insertions within mode size. From-SVN: r197566
2013-04-08re PR rtl-optimization/48182 (ICE: SIGSEGV in try_crossjump_to_edge ↵Marek Polacek2-1/+7
(cfgcleanup.c:1703) with --param min-crossjump-insns=0 on basic code) PR rtl-optimization/48182 * params.def (PARAM_MIN_CROSSJUMP_INSNS): Increase the minimum value to 1. From-SVN: r197564
2013-04-08Daily bump.GCC Administrator1-1/+1
From-SVN: r197562
2013-04-07parser.c (cp_parser_std_attribute): Treat [[noreturn]] like GNU noreturn ↵Jason Merrill3-7/+17
attribute. * parser.c (cp_parser_std_attribute): Treat [[noreturn]] like GNU noreturn attribute. From-SVN: r197555
2013-04-07* c-pragma.c (add_to_renaming_pragma_list): Fix leading comment.Steven Bosscher2-1/+5
From-SVN: r197553
2013-04-07re PR fortran/56849 (Missing compile-time shape check for RESHAPE ↵Tobias Burnus4-4/+22
assignments with an ORDER= attribute) 2013-04-07 Tobias Burnus <burnus@net-b.de> PR fortran/56849 * iresolve.c (gfc_resolve_reshape): Set shape also with order=. 2013-04-07 Tobias Burnus <burnus@net-b.de> PR fortran/56849 * gfortran.dg/reshape_5.f90: New. From-SVN: r197550
2013-04-07Daily bump.GCC Administrator1-1/+1
From-SVN: r197549
2013-04-06re PR target/55487 (ICE in mark_jump_label_1, at jump.c:1134 compiling ↵John David Anglin2-1/+9
gcc.c-torture/execute/pr51447.c at -O2 and above) PR target/55487 * config/pa/pa.c (legitimize_pic_address): Before incrementing label nuses, make sure we have a label. From-SVN: r197541
2013-04-06Daily bump.GCC Administrator1-1/+1
From-SVN: r197540
2013-04-05re PR target/56843 (PowerPC Newton-Raphson reciprocal estimates can be improved)Bill Schmidt8-84/+86
gcc: 2013-04-05 Bill Schmidt <wschmidt@linux.vnet.ibm.com> PR target/56843 * config/rs6000/rs6000.c (rs6000_emit_swdiv_high_precision): Remove. (rs6000_emit_swdiv_low_precision): Remove. (rs6000_emit_swdiv): Rewrite to handle between one and four iterations of Newton-Raphson generally; modify required number of iterations for some cases. * config/rs6000/rs6000.h (RS6000_RECIP_HIGH_PRECISION_P): Remove. gcc/testsuite: 2013-04-05 Bill Schmidt <wschmidt@linux.vnet.ibm.com> PR target/56843 * gcc.target/powerpc/recip-1.c: Modify expected output. * gcc.target/powerpc/recip-3.c: Likewise. * gcc.target/powerpc/recip-4.c: Likewise. * gcc.target/powerpc/recip-5.c: Add expected output for iterations. From-SVN: r197534
2013-04-05bb-reorder.c (fix_crossing_unconditional_branches): Remove a set-but-unused ↵Steven Bosscher5-8/+55
variable. * bb-reorder.c (fix_crossing_unconditional_branches): Remove a set-but-unused variable. * cgraph.c (cgraph_release_function_body): Clear cfun->cfg to make basic blocks of released function bodies garbage-collectable. * ree.c (find_and_remove_re): Do not call df_finish_pass here. (struct rtl_opt_pass): Add TODO_df_finish. * rtl.def (DEFINE_SUBST, DEFINE_SUBST_ATTR): Add documentation. From-SVN: r197533
2013-04-05peep-ldrd-1.c: New test.Greta Yorsh11-8/+588
2013-04-05 Greta Yorsh <Greta.Yorsh@arm.com> gcc/testsuite * gcc.target/arm/peep-ldrd-1.c: New test. * gcc.target/arm/peep-strd-1.c: Likewise. gcc/ * config/arm/constraints.md (q): New constraint. * config/arm/ldrdstrd.md: New file. * config/arm/arm.md (ldrdstrd.md) New include. (arm_movdi): Use "q" instead of "r" constraint for double-word memory access. (movdf_soft_insn): Likewise. * config/arm/vfp.md (movdi_vfp): Likewise. * config/arm/t-arm (MD_INCLUDES): Add ldrdstrd.md. * config/arm/arm-protos.h (gen_operands_ldrd_strd): New declaration. * config/arm/arm.c (gen_operands_ldrd_strd): New function. (mem_ok_for_ldrd_strd): Likewise. (output_move_double): Update assertion. From-SVN: r197530
2013-04-05arm.md: Comment on splitting Thumb1 patterns.Greta Yorsh2-0/+23
2013-04-05 Greta Yorsh <Greta.Yorsh@arm.com> * config/arm/arm.md: Comment on splitting Thumb1 patterns. From-SVN: r197529
2013-04-05arm.md (arm_smax_insn): Convert define_insn into define_insn_and_split.Greta Yorsh2-18/+56
2013-04-05 Greta Yorsh <Greta.Yorsh@arm.com> * config/arm/arm.md (arm_smax_insn): Convert define_insn into define_insn_and_split. (arm_smin_insn,arm_umaxsi3,arm_uminsi3): Likewise. From-SVN: r197528
2013-04-05arm.md (arm_ashldi3_1bit): Convert define_insn into define_insn_and_split.Greta Yorsh3-8/+87
2013-04-05 Greta Yorsh <Greta.Yorsh@arm.com> * config/arm/arm.md (arm_ashldi3_1bit): Convert define_insn into define_insn_and_split. (arm_ashrdi3_1bit,arm_lshrdi3_1bit): Likewise. (shiftsi3_compare): New pattern. (rrx): New pattern. * config/arm/unspecs.md (UNSPEC_RRX): New. From-SVN: r197527
2013-04-05arm.md (negdi_extendsidi): New pattern.Greta Yorsh7-0/+145
2013-04-05 Greta Yorsh <Greta.Yorsh@arm.com> gcc/ * config/arm/arm.md (negdi_extendsidi): New pattern. (negdi_zero_extendsidi): Likewise. gcc/testsuite * gcc.target/arm/negdi-1.c: New test. * gcc.target/arm/negdi-2.c: Likewise. * gcc.target/arm/negdi-3.c: Likewise. * gcc.target/arm/negdi-4.c: Likewise. From-SVN: r197526
2013-04-05target-supports.exp (add_options_for_arm_v8_neon): Add -march=armv8-a when ↵Kyrylo Tkachov6-21/+91
we use v8 NEON. 2013-04-05 Kyrylo Tkachov <kyrylo.tkachov@arm.com> * lib/target-supports.exp (add_options_for_arm_v8_neon): Add -march=armv8-a when we use v8 NEON. (check_effective_target_vect_call_btruncf): Remove arm-*-*-*. (check_effective_target_vect_call_ceilf): Likewise. (check_effective_target_vect_call_floorf): Likewise. (check_effective_target_vect_call_roundf): Likewise. (check_vect_support_and_set_flags): Remove check for arm_v8_neon. * gcc.target/arm/vect-rounding-btruncf.c: New testcase. * gcc.target/arm/vect-rounding-ceilf.c: Likewise. * gcc.target/arm/vect-rounding-floorf.c: Likewise. * gcc.target/arm/vect-rounding-roundf.c: Likewise. From-SVN: r197523
2013-04-05arm.md (andsi_iorsi3_notsi): Convert define_insn into define_insn_and_split.Greta Yorsh2-16/+175
2013-04-05 Greta Yorsh <Greta.Yorsh@arm.com> * config/arm/arm.md (andsi_iorsi3_notsi): Convert define_insn into define_insn_and_split. (arm_negdi2,arm_abssi2,arm_neg_abssi2): Likewise. (arm_cmpdi_insn,arm_cmpdi_unsigned): Likewise. From-SVN: r197522
2013-04-05arm.md (arm_subdi3): Convert define_insn into define_insn_and_split.Greta Yorsh2-12/+101
2013-04-05 Greta Yorsh <Greta.Yorsh@arm.com> * config/arm/arm.md (arm_subdi3): Convert define_insn into define_insn_and_split. (subdi_di_zesidi,subdi_di_sesidi): Likewise. (subdi_zesidi_di,subdi_sesidi_di,subdi_zesidi_zesidi): Likewise. From-SVN: r197521
2013-04-05arm.md (subsi3_carryin): New pattern.Greta Yorsh2-1/+92
2013-04-05 Greta Yorsh <Greta.Yorsh@arm.com> * config/arm/arm.md (subsi3_carryin): New pattern. (subsi3_carryin_const): Likewise. (subsi3_carryin_compare,subsi3_carryin_compare_const): Likewise. (subsi3_carryin_shift,rsbsi3_carryin_shift): Likewise. From-SVN: r197520
2013-04-05arm.md (incscc,arm_incscc,decscc,arm_decscc): Delete.Greta Yorsh2-45/+4
2013-04-05 Greta Yorsh <Greta.Yorsh@arm.com> * config/arm/arm.md (incscc,arm_incscc,decscc,arm_decscc): Delete. From-SVN: r197519
2013-04-05arm.md (addsi3_carryin_<optab>): Set attribute predicable.Greta Yorsh2-2/+10
2013-04-05 Greta Yorsh <Greta.Yorsh@arm.com> * config/arm/arm.md (addsi3_carryin_<optab>): Set attribute predicable. (addsi3_carryin_alt2_<optab>,addsi3_carryin_shift_<optab>): Likewise. From-SVN: r197518
2013-04-05arm.c (arm_expand_builtin): Change fcode type to unsigned int.Kyrylo Tkachov2-1/+6
2013-04-05 Kyrylo Tkachov <kyrylo.tkachov@arm.com> * config/arm/arm.c (arm_expand_builtin): Change fcode type to unsigned int. From-SVN: r197517
2013-04-05sd-vsx.c: Skip on AIX.David Edelsohn5-2/+12
* gcc.target/powerpc/sd-vsx.c: Skip on AIX. * gcc.target/powerpc/sd-pwr6.c: Same. * gcc.dg/stack-usage-1.c: Define SIZE on AIX. * g++.dg/debug/pr56294.C: XFAIL on AIX. From-SVN: r197516
2013-04-05There can be only one ref qualifier at most.Ed Smith-Rowland4-15/+52
gcc/cp: 2013-04-05 Ed Smith-Rowland <3dw4rd@verizon.net> * g++.dg/cpp0x/ref-qual-multi-neg.C: New test. gcc/testsuite: 2013-04-05 Ed Smith-Rowland <3dw4rd@verizon.net> * parser.c (cp_parser_ref_qualifier_seq_opt): Move to cp_parser_ref_qualifier_opt. Error if more than one ref-qual found. From-SVN: r197514
2013-04-05Document cortex-a53 in ARM options.Ramana Radhakrishnan2-2/+6
2013-04-05 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> * doc/invoke.texi (ARM Options): Document cortex-a53 support. From-SVN: r197513
2013-04-05standards.texi (Standards): The Go frontend supports the Go 1 language standard.Ian Lance Taylor2-7/+7
* doc/standards.texi (Standards): The Go frontend supports the Go 1 language standard. From-SVN: r197507
2013-04-05Daily bump.GCC Administrator1-1/+1
From-SVN: r197501
2013-04-04re PR fortran/40881 ([F03] warn for obsolescent features)Janus Weil10-32/+51
2013-04-04 Janus Weil <janus@gcc.gnu.org> PR fortran/40881 * match.c (gfc_match_return): Remove standard notification. * primary.c (gfc_match_actual_arglist): Add standard notification. 2013-04-04 Janus Weil <janus@gcc.gnu.org> PR fortran/40881 * gfortran.dg/altreturn_1.f90: Add -std=gnu. * gfortran.dg/altreturn_4.f90: Ditto. * gfortran.dg/altreturn_3.f90: Replace -std=legacy by -std=gnu. * gfortran.dg/altreturn_5.f90: Ditto. * gfortran.dg/altreturn_6.f90: Ditto. * gfortran.dg/altreturn_7.f90: Ditto. From-SVN: r197495
2013-04-04re PR middle-end/56729 (ICE in df_insn_delete)Steven Bosscher2-1/+15
PR middle-end/56729 * df-scan.c (df_insn_delete): Disable failing assert. From-SVN: r197492
2013-04-04target-supports.exp (check_effective_target_arm_v8_neon_hw): New procedure.Kyrylo Tkachov2-21/+90
2013-04-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com> * lib/target-supports.exp (check_effective_target_arm_v8_neon_hw): New procedure. (check_effective_target_arm_v8_neon_ok_nocache): Likewise. (check_effective_target_arm_v8_neon_ok): Change to use check_effective_target_arm_v8_neon_ok_nocache. (add_options_for_arm_v8_neon): Use et_arm_v8_neon_flags to set ARMv8 NEON flags. (check_effective_target_vect_call_btruncf): Enable for arm and ARMv8 NEON. (check_effective_target_vect_call_ceilf): Likewise. (check_effective_target_vect_call_floorf): Likewise. (check_effective_target_vect_call_roundf): Likewise. (check_vect_support_and_set_flags): Handle ARMv8 NEON effective target. From-SVN: r197491