aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2013-04-10re PR c++/56895 (ICE: unexpected expression of kind arrow_expr)Jakub Jelinek4-4/+61
PR c++/56895 * typeck.c (cp_build_binary_op): Call fold_non_dependent_expr_sfinae first before calling maybe_constant_value for warn_for_div_by_zero or invalid shift count warning purposes. * g++.dg/template/arrow3.C: New test. From-SVN: r197660
2013-04-10Daily bump.GCC Administrator1-1/+1
From-SVN: r197658
2013-04-09ipa.c (cgraph_externally_visible_p, [...]): Drop aliased parameter.Jan Hubicka4-57/+16
* ipa.c (cgraph_externally_visible_p, varpool_externally_visible_p): Drop aliased parameter. (function_and_variable_visibility): Do not handle alias pairs. * cgraph.c (varpool_externally_visible_p): Update prototype. * varpool.c (varpool_add_new_variable): Update. From-SVN: r197652
2013-04-09re PR c++/25466 (typeid expression fails to throw bad_typeid according to ↵Jason Merrill3-7/+47
5.2.8p2) PR c++/25466 * rtti.c (build_typeid): Check the address of the argument rather than looking for an INDIRECT_REF. From-SVN: r197644
2013-04-09arm.md (minmax_arithsi_non_canon): New pattern.Kyrylo Tkachov4-0/+64
2013-04-09 Kyrylo Tkachov <kyrylo.tkachov@arm.com> * config/arm/arm.md (minmax_arithsi_non_canon): New pattern. * gcc.target/arm/minmax_minus.c: New test. From-SVN: r197642
2013-04-09sched-vis.c (print_pattern): Print SEQUENCE of insns as insns.Steven Bosscher2-5/+28
* sched-vis.c (print_pattern): Print SEQUENCE of insns as insns. From-SVN: r197640
2013-04-09sparc.md: Use define_c_enum for "unspec" and "unspecv".Steven Bosscher2-82/+86
* config/sparc/sparc.md: Use define_c_enum for "unspec" and "unspecv". From-SVN: r197639
2013-04-09re PR tree-optimization/48762 (valgrind: Invalid read/write of size 8 in ↵Marek Polacek2-1/+7
cse_main with -O --param max-cse-path-length=0 on basic code) PR tree-optimization/48762 * params.def (PARAM_MAX_CSE_INSNS): Increase the minimum value to 1. From-SVN: r197637
2013-04-09tree-vect-slp.c (vect_get_and_check_slp_defs): Remove code dealing with cost.Richard Biener2-88/+143
2013-04-09 Richard Biener <rguenther@suse.de> * tree-vect-slp.c (vect_get_and_check_slp_defs): Remove code dealing with cost. (vect_build_slp_tree): Likewise. (vect_analyze_slp_cost_1, vect_analyze_slp_cost): New functions calculating the cost of a SLP instance. (vect_analyze_slp_instance): Use it from here, after building the SLP tree. From-SVN: r197635
2013-04-09re PR middle-end/56883 (error openmp parallel for order)Jakub Jelinek4-20/+119
PR middle-end/56883 * omp-low.c (expand_omp_for_generic, expand_omp_for_static_nochunk, expand_omp_for_static_chunk): Use simple_p = true in force_gimple_operand_gsi calls when assigning to addressable decls. * c-c++-common/gomp/pr56883.c: New test. From-SVN: r197633
2013-04-09tree-vrp.c (simplify_cond_using_ranges): Simplify test of boolean when the ↵Jeff Law4-1/+131
boolean was created by converting a wider... * tree-vrp.c (simplify_cond_using_ranges): Simplify test of boolean when the boolean was created by converting a wider object which had a boolean range. * gcc.dg/tree-ssa/vrp87.c: New test From-SVN: r197631
2013-04-09tree-vectorizer.h (slp_void_p): Remove.Richard Biener4-60/+66
2013-04-09 Richard Biener <rguenther@suse.de> * tree-vectorizer.h (slp_void_p): Remove. (slp_tree): Typedef before _slp_tree declaration. (struct _slp_tree): Use a vector of slp_tree as children. (vect_get_place_in_interleaving_chain): Remove. * tree-vect-data-refs.c (vect_get_place_in_interleaving_chain): Move ... * tree-vect-slp.c (vect_get_place_in_interleaving_chain): ... here and make static. (vect_free_slp_tree, vect_print_slp_tree, vect_mark_slp_stmts, vect_mark_slp_stmts_relevant, vect_slp_rearrange_stmts, vect_detect_hybrid_slp_stmts, vect_slp_analyze_node_operations, vect_schedule_slp_instance, vect_remove_slp_scalar_calls): Use slp_node instead of slp_void_p and adjust. From-SVN: r197629
2013-04-09expr.c (build_java_binop): Pass a type to build_int_cst.Richard Biener4-15/+27
2013-04-09 Richard Biener <rguenther@suse.de> java/ * expr.c (build_java_binop): Pass a type to build_int_cst. * tree-ssa-loop-manip.c (rewrite_into_loop_closed_ssa): Avoid work that is not necessary. From-SVN: r197626
2013-04-09re PR tree-optimization/56854 (error: non-decl/MEM_REF LHS in clobber statement)Jakub Jelinek4-1/+41
PR tree-optimization/56854 * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Don't forward into clobber stmts if it would change MEM_REF lhs into non-MEM_REF. * g++.dg/torture/pr56854.C: New test. From-SVN: r197625
2013-04-09gfortran.texi (KIND Type Parameters, [...]): Add crossrefs.Tobias Burnus2-11/+159
2013-04-09 Tobias Burnus <burnus@net-b.de> * gfortran.texi (KIND Type Parameters, Internal representation of LOGICAL variables): Add crossrefs. (Intrinsic Types): Mention issues with _Bool interop. (Naming and argument-passing conventions): New section. From-SVN: r197624
2013-04-09tree.c (type_hash_lookup, [...]): Make static.Maxim Kuvyrkov3-4/+7
* tree.c (type_hash_lookup, type_hash_add): Make static. * tree.h (type_hash_lookup, type_hash_add): Remove global declarations. From-SVN: r197623
2013-04-09tree.h (unsave_expr_now): Remove.Richard Biener4-137/+12
2013-04-09 Richard Biener <rguenther@suse.de> * tree.h (unsave_expr_now): Remove. * tree-inline.c (mark_local_for_remap_r): Remove. (unsave_expr_1): Likewise. (unsave_r): Likewise. (unsave_expr_now): Likewise. * tree-ssa-copy.c (replace_exp_1): Use unshare_expr. (propagate_tree_value): Likewise. From-SVN: r197620
2013-04-09Fix non-ASCII characters in names.Jakub Jelinek2-69/+69
From-SVN: r197618
2013-04-09Daily bump.GCC Administrator1-1/+1
From-SVN: r197617
2013-04-08re PR c++/56838 (GCC svn doesn't compile libreoffice 4.0.1.2)Jason Merrill3-2/+13
PR c++/56838 PR c++/17232 * typeck2.c (abstract_virtuals_error_sfinae): Disable complete_type again. From-SVN: r197613
2013-04-08rtl.texi (sequence): Rewrite documentation to match the current use of ↵Steven Bosscher4-42/+50
SEQUENCE rtl objects. * doc/rtl.texi (sequence): Rewrite documentation to match the current use of SEQUENCE rtl objects. * rtl.def (SEQUENCE): Likewise. * doc/rtl.texi (NOTE_INSN_EH_REGION_BEG, NOTE_INSN_EH_REGION_END): Update documentation. (NOTE_INSN_LOOP_BEG, NOTE_INSN_LOOP_END, NOTE_INSN_LOOP_CONT, NOTE_INSN_LOOP_VTOP): Remove documentation for non-existing notes. * reg-notes.def (REG_EH_CONTEXT): Remove unused note. From-SVN: r197611
2013-04-08re PR fortran/56872 (Incorrect SUM evaluation, involving implied-do loop, ↵Thomas Koenig4-1/+30
with -ffrontend-optimize) 2013-04-08 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/56782 * frontend-passes.c (callback_reduction): Dont't do any simplification if there is only a single element which has an iterator. 2013-04-08 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/56782 * gfortran.dg/array_constructor_44.f90: New test. From-SVN: r197610
2013-04-08re PR c++/56871 ([c++11] Specialization of constexpr Templated Function)Paolo Carlini4-5/+37
/cp 2013-04-08 Paolo Carlini <paolo.carlini@oracle.com> PR c++/56871 * decl.c (validate_constexpr_redeclaration): Allow an explicit specialization to be different wrt the constexpr specifier. /testsuite 2013-04-08 Paolo Carlini <paolo.carlini@oracle.com> PR c++/56871 * g++.dg/cpp0x/constexpr-specialization.C: New. From-SVN: r197597
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