aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2007-06-12opts.c (common_handle_option): Handle new option -fdbg-cnt-list.Seongbae Park6-15/+89
2007-06-12 Seongbae Park <seongbae.park@gmail.com> * opts.c (common_handle_option): Handle new option -fdbg-cnt-list. * dbgcnt.c (dbg_cnt_set_limit_by_name): Return value to indicate an error. (dbg_cnt_process_single_pair, dbg_cnt_list_all_counters): New functions (dbg_cnt_process_opt): Print an error on a bad argument. * dbgcnt.h (dbg_cnt_list_all_counters): New function declaration. * common.opt (-fdbg-cnt-list): New. * doc/invoke.texi (-fdbg-cnt-list,-fdbg-cnt=): New. From-SVN: r125657
2007-06-12tree-ssa-alias.c (finalize_ref_all_pointers): Clear pt_anything flag on ↵Eric Botcazou2-1/+12
ref-all pointers. * tree-ssa-alias.c (finalize_ref_all_pointers): Clear pt_anything flag on ref-all pointers. From-SVN: r125656
2007-06-12re PR middle-end/31579 (ICE when compiling attached code)Andrew Pinski4-10/+27
2007-06-12 Andrew Pinski <andrew_pinski@playstation.sony.com> PR middle-end/31579 * expr.c (expand_expr_addr_expr_1): Call expand_expr for the offset with the modifier as EXPAND_INITIALIZER if the modifier is EXPAND_INITIALIZER. (expand_expr_real_1 <case INTEGER_CST>): Don't force to a register if we had an overflow. 2007-06-12 Andrew Pinski <andrew_pinski@playstation.sony.com> PR middle-end/31579 * g++.dg/torture/pr31579.C: New testcase. From-SVN: r125655
2007-06-12real.c (real_isfinite): New.Kaveh R. Ghazi4-18/+30
* real.c (real_isfinite): New. (real_sqrt): Use it. * real.h (real_isfinite): New. * builtins.c: Use it. From-SVN: r125654
2007-06-12re PR libstdc++/29286 (placement new does not change the dynamic type as it ↵Ian Lance Taylor23-66/+633
should) ./: PR libstdc++/29286 * tree.def: Add CHANGE_DYNAMIC_TYPE_EXPR. * tree.h (CHANGE_DYNAMIC_TYPE_NEW_TYPE): Define. (CHANGE_DYNAMIC_TYPE_LOCATION): Define. (DECL_NO_TBAA_P): Define. (struct tree_decl_common): Add no_tbaa_flag field. * tree-ssa-structalias.c (struct variable_info): Add no_tbaa_pruning field. (new_var_info): Initialize no_tbaa_pruning field. (unify_nodes): Copy no_tbaa_pruning field. (find_func_aliases): Handle CHANGE_DYNAMIC_TYPE_EXPR. (dump_solution_for_var): Print no_tbaa_pruning flag. (set_uids_in_ptset): Add no_tbaa_pruning parameter. Change all callers. (compute_tbaa_pruning): New static function. (compute_points_to_sets): Remove CHANGE_DYNAMIC_TYPE_EXPR nodes. Call compute_tbaa_pruning. * tree-ssa-alias.c (may_alias_p): Test no_tbaa_flag for pointers. * gimplify.c (gimplify_expr): Handle CHANGE_DYNAMIC_TYPE_EXPR. * gimple-low.c (lower_stmt): Likewise. * tree-gimple.c (is_gimple_stmt): Likewise. * tree-ssa-operands.c (get_expr_operands): Likewise. * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Likewise. * tree-inline.c (estimate_num_insns_1): Likewise. (copy_result_decl_to_var): Likewise. * expr.c (expand_expr_real_1): Likewise. * tree-pretty-print.c (dump_generic_node): Likewise. * tree-inline.c (copy_decl_to_var): Copy DECL_NO_TBAA_P flag. * omp-low.c (omp_copy_decl_2): Likewise. * print-tree.c (print_node): Print DECL_NO_TBAA_P flag. * doc/c-tree.texi (Expression trees): Document CHANGE_DYNAMIC_TYPE_EXPR. cp/: PR libstdc++/29286 * init.c (avoid_placement_new_aliasing): New static function. (build_new_1): Call it. testsuite/: PR libstdc++/29286 * g++.dg/init/new16.C: New test. * g++.dg/init/new17.C: New test. * g++.dg/init/new18.C: New test. * g++.dg/init/new19.C: New test. Co-Authored-By: Daniel Berlin <dberlin@dberlin.org> From-SVN: r125653
2007-06-12fold-const.c (fold_binary): Guard (X-X) -> 0 transformation with !HONOR_NANS ↵Kaveh R. Ghazi3-3/+16
and !HONOR_INFINITIES. * fold-const.c (fold_binary): Guard (X-X) -> 0 transformation with !HONOR_NANS and !HONOR_INFINITIES. * simplify-rtx.c (simplify_binary_operation_1): Likewise. From-SVN: r125652
2007-06-12reorder changelog entriesDirk Mueller2-2/+2
From-SVN: r125650
2007-06-12gcov.c: Comments updated.Tristan Gingold3-55/+132
* gcov.c: Comments updated. (source_info): Add file_time field. (source_index): New variable. (mutiple_files): New variable. (generate_results): New function extracted from process_file. (process_file): Save and restore chain of functions, generate results and free structures only if not merging results. (release_structures): File names are now freed in create_file_names (create_file_names): Free previous file names. (find_source): File date is now read here and modifications in source files is checked here. (read_graph_file): Only reverse order of functions for the current object file. (make_gcov_file_name): Do not generate long names if input_name is NULL. (output_lines): If merging results do not display graph, data and runs informations. Checking source file modification is done in find_source. * doc/gcov.texi: Append an s to sourcefile. From-SVN: r125649
2007-06-12bfin.md (UNSPEC_NOP): New constant.Bernd Schmidt3-21/+102
* config/bfin/bfin.md (UNSPEC_NOP): New constant. (forced_nop): New pattern. * config/bfin/bfin.c: Include "df.h". (add_to_reg): Use df_regs_ever_live_p instead of regs_ever_live. (bfin_discover_loop): Use df_get_live_in instead of global_live_at_start. (bfin_reorder_loops): Pass 0 to cfg_layout_initialize. Call df_analyze when done. (gen_one_bundle): Don't generate SEQUENCE insns, just put modes on the insns. Use QImode for the final insn in a bundle. Call df_insn_rescan on generated NOPs; use gen_forced_nop instead of gen_nop. (reorder_var_tracking_notes): New function. (bfin_reorg): Pass no argument to split_all_insns. Don't call update_life_info. Call df_analyze after scheduling and bundle generation. Call reorder_var_tracking_notes if generating these notes. Call df_finish_pass at the end. From-SVN: r125648
2007-06-12trans-stmt.c (gfc_trans_call): fix gcc_assert to a comparison, not an ↵Dirk Mueller4-4/+14
assignment. 2007-06-07 Dirk Mueller <dmueller@suse.de> * trans-stmt.c (gfc_trans_call): fix gcc_assert to a comparison, not an assignment. * optabls.c (debug_optab_libfuncs): fix gcc_assert to a comparison, not an assignment. From-SVN: r125647
2007-06-12tree-nested.c (convert_local_reference): Handle VIEW_CONVERT_EXPR.Olivier Hainque4-0/+54
* tree-nested.c (convert_local_reference): Handle VIEW_CONVERT_EXPR. Request walking the subtrees only, leaving the current is_lhs/val_only untouched. (convert_non_local_reference): Likewise. testsuite/ * gnat.dg/lhs_view_convert.adb: New test. From-SVN: r125646
2007-06-12* config/m68k/m68k-devices.def (52221, 52223, 5253): New.Nathan Sidwell2-0/+7
From-SVN: r125645
2007-06-12re PR tree-optimization/15353 ([tree-ssa] Merge two "if"s if one subsumes ↵Richard Guenther15-2/+778
the other.) 2007-06-12 Richard Guenther <rguenther@suse.de> PR tree-optimization/15353 PR tree-optimization/31657 * passes.c (init_optimization_passes): Add pass_tree_ifcombine. * timevar.def: Add TV_TREE_IFCOMBINE. * tree-pass.h (pass_tree_ifcombine): Declare. * tree-ssa-ifcombine.c: New file. * tree-ssa-phiopt.c (blocks_in_phiopt_order): Export. * tree-flow.h (blocks_in_phiopt_order): Declare. * Makefile.in (OBJS-common): Add tree-ssa-ifcombine.o. (tree-ssa-ifcombine.o): New dependencies. * gcc.c-torture/execute/20070424-1.c: New testcase. * gcc.dg/tree-ssa/ssa-ifcombine-1.c: Likewise. * gcc.dg/tree-ssa/ssa-ifcombine-2.c: Likewise. * gcc.dg/tree-ssa/ssa-ifcombine-3.c: Likewise. * gcc.dg/tree-ssa/ssa-ifcombine-4.c: Likewise. * gcc.dg/tree-ssa/ssa-ifcombine-5.c: Likewise. From-SVN: r125644
2007-06-12re PR rtl-optimization/32293 (internal compiler error: in do_SUBST, at ↵Uros Bizjak4-2/+80
combine.c:502) PR rtl-optimization/32293 * combine.c (simplify_if_then_else): Truncate return from nonzero_bits() to correct mode. testsuite/ChangeLog: PR rtl-optimization/32293 * gcc.dg/pr32293.c: New test. From-SVN: r125643
2007-06-12fold-const (fold_binary): Also optimize a/cbrt(b/c) into a*cbrt(c/b) if ↵Uros Bizjak4-2/+15
flag_unsafe_math_optimizations is set. * fold-const (fold_binary) [RDIV_EXPR]: Also optimize a/cbrt(b/c) into a*cbrt(c/b) if flag_unsafe_math_optimizations is set. testuite/ChangeLog: * gcc.dg/builtins-11.c: Also check folding of a/cbrt(b/c). From-SVN: r125641
2007-06-12trans-common.c (create_common): Initialize 'field_init'.Paul Thomas2-1/+5
2007-06-12 Paul Thomas <pault@gcc.gnu.org> * trans-common.c (create_common): Initialize 'field_init'. From-SVN: r125640
2007-06-12Fix a few nits.Eric Botcazou1-21/+18
From-SVN: r125638
2007-06-11Makefile.in (reload1.o-warn): Remove.Diego Novillo2-6/+4
* Makefile.in (reload1.o-warn): Remove. From-SVN: r125636
2007-06-12combine.c (subst): Fix typo.Seongbae Park1-1/+1
2007-06-11 Seongbae Park <seongbae.park@gmail.com> * combine.c (subst): Fix typo. From-SVN: r125635
2007-06-12combine.c (subst): Use reg_overlap_mentioned_p instead of comparing register ↵Seongbae Park2-1/+6
numbers directly. 2007-06-11 Seongbae Park <seongbae.park@gmail.com> * combine.c (subst): Use reg_overlap_mentioned_p instead of comparing register numbers directly. From-SVN: r125634
2007-06-12Daily bump.GCC Administrator1-1/+1
From-SVN: r125631
2007-06-11re PR fortran/29786 (Initialization of overlapping variables: Not implemented)Paul Thomas9-64/+396
2007-06-12 Paul Thomas <pault@gcc.gnu.org> PR fortran/29786 PR fortran/30875 * trans-common.c (get_init_field): New function. (create_common): Call get_init_field for overlapping initializers in equivalence blocks. * resolve.c (resolve_equivalence_derived, resolve_equivalence): Remove constraints on initializers in equivalence blocks. * target-memory.c (expr_to_char, gfc_merge_initializers): New functions. (encode_derived): Add the bit offset to the byte offset to get the total offset to the field. * target-memory.h : Add prototype for gfc_merge_initializers. 2007-06-12 Paul Thomas <pault@gcc.gnu.org> PR fortran/29786 * gfortran.dg/equiv_7.f90: New test. * gfortran.dg/equiv_constraint_7.f90: Change error message. PR fortran/30875 * gfortran.dg/equiv_constraint_5.f90: Correct code and error. From-SVN: r125628
2007-06-11reload1.c (mark_home_live_1): Use the mode parameter.Kenneth Zadeck2-1/+5
2007-06-11 Kenneth Zadeck <zadeck@naturalbridge.com> * reload1.c (mark_home_live_1): Use the mode parameter. From-SVN: r125627
2007-06-11setjmp-3.c: Rename raise to raise0.Andreas Tobler4-8/+14
2007-06-11 Andreas Tobler <a.tobler@schweiz.org> * gcc.dg/setjmp-3.c: Rename raise to raise0. * gcc.dg/setjmp-4.c: Likewise. * gcc.target/i386/980211-1.c: Rename __signbitl to __signbitl0. From-SVN: r125626
2007-06-11df-scan.c (df_insn_delete, [...]): Fixed spelling of word "deferred".Kenneth Zadeck4-14/+21
2007-06-11 Kenneth Zadeck <zadeck@naturalbridge.com> * df-scan.c (df_insn_delete, df_insn_rescan, df_insn_rescan_all, df_process_deferred_rescans, df_notes_rescan): Fixed spelling of word "deferred". * df-core.c: Ditto. From-SVN: r125625
2007-06-11Merge dataflow branch into mainlineDaniel Berlin167-13108/+24100
From-SVN: r125624
2007-06-11i386.md ("*movtf_internal): Penalize moves to and from integer registers.Uros Bizjak2-56/+63
* config/i386/i386.md ("*movtf_internal): Penalize moves to and from integer registers. (FP mode splitters): Handle TFmode. From-SVN: r125623
2007-06-11Add new testsArnaud Charlet8-0/+140
From-SVN: r125622
2007-06-11really remove signed(_or_unsigned)?_type langhooksRafael Espindola25-145/+52
From-SVN: r125621
2007-06-11tree-ssa-structalias.c (find_what_p_points_to): Return false for ref-all ↵Eric Botcazou2-4/+16
pointers that point-to anything. * tree-ssa-structalias.c (find_what_p_points_to): Return false for ref-all pointers that point-to anything. From-SVN: r125620
2007-06-11arm.c (arm_output_dwarf_dtprel, [...]): New.Joseph Myers2-0/+22
* config/arm/arm.c (arm_output_dwarf_dtprel, TARGET_ASM_OUTPUT_DWARF_DTPREL): New. From-SVN: r125619
2007-06-11bfin.md (movdi_insn, [...]): Don't allow constant to memory moves.Bernd Schmidt2-7/+13
* config/bfin/bfin.md (movdi_insn, movsi_insn, movv2hi_insn, movhi_insn, movqi_insn, movsf_insn, movdf_insn): Don't allow constant to memory moves. From-SVN: r125617
2007-06-11remove signed(_or_unsigned)?_type langhooksRafael Espindola6-0/+79
From-SVN: r125616
2007-06-11re PR target/32280 (_mm_srli_si128, heinous code for some shifts)Uros Bizjak5-26/+60
PR target/32280 * config/i386/sse.md ("sse2_ashlti", "sse2_lshrti3"): Move ... * config/i386/i386.md ("sse2_ashlti", "sse2_lshrti3"): ... to here. testsuite/ChangeLog: PR target/32280 * gcc.target/i386/pr32280.c: New test. From-SVN: r125615
2007-06-11re PR middle-end/32279 (Fold 1.0/sqrt(x/y) to sqrt(y/x))Uros Bizjak4-1/+33
PR middle-end/32279 * fold-const (fold_binary) [RDIV_EXPR]: Optimize a/sqrt(b/c) into a*sqrt(c/b) if flag_unsafe_math_optimizations is set. testsuite/ChangeLog: PR middle-end/32279 * gcc.dg/builtins-11.c: Also check folding of a/sqrt(b/c). From-SVN: r125614
2007-06-11ResyncBob Duff1-0/+8
From-SVN: r125613
2007-06-11g-stsifd-sockets.adb (Create): Work around strange behavior of 'bind' on ↵Bob Duff1-58/+101
windows that causes 'connect' to fail... 2007-06-11 Bob Duff <duff@adacore.com> Thomas Quinot <quinot@adacore.com> * g-stsifd-sockets.adb (Create): Work around strange behavior of 'bind' on windows that causes 'connect' to fail intermittently, by retrying the 'bind'. (GNAT.Sockets.Thin.Signalling_Fds): New procedure Close. From-SVN: r125612
2007-06-11re PR fortran/32235 (incorrectly position text file after backspace)Jerry DeLisle2-0/+60
2007-06-10 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR libgfortran/32235 * gfortran.dg/backspace_9.f: New test. From-SVN: r125611
2007-06-11Daily bump.GCC Administrator1-1/+1
From-SVN: r125609
2007-06-10lambda-code.c (remove_iv): New.Jan Sjodin2-0/+48
* lambda-code.c (remove_iv): New. (lambda_loopnest_to_gcc_loopnest): Use remove_iv. Co-Authored-By: Sebastian Pop <sebpop@gmail.com> From-SVN: r125605
2007-06-10tree-data-ref.c (dr_analyze_alias): Handle case smt is NULL.Zdenek Dvorak21-60/+466
* tree-data-ref.c (dr_analyze_alias): Handle case smt is NULL. * tree-predcom.c (mark_virtual_ops_for_renaming): Exported. * tree-ssa-loop-prefetch.c: Include optabs.h. (FENCE_FOLLOWING_MOVNT): New macro. (struct mem_ref): Add independent_p and storent_p fields. (record_ref): Initalize the new fields. (gather_memory_references_ref): Return true if the reference could be analysed. (gather_memory_references): Check whether all memory accesses in loop were recorded. (should_issue_prefetch_p): Return false for nontemporal stores. (nontemporal_store_p, mark_nontemporal_store, emit_mfence_after_loop, may_use_storent_in_loop_p, mark_nontemporal_stores): New functions. (determine_loop_nest_reuse): Detect independent memory references. (loop_prefetch_arrays): Call mark_nontemporal_stores. * tree-flow.h (mark_virtual_ops_for_renaming): Declare. * Makefile.in (tree-ssa-loop-prefetch.o): Add OPTABS_H dependency. * config/i386/i386.h (x86_mfence): Declare. (FENCE_FOLLOWING_MOVNT): Return x86_mfence. * config/i386/i386.c (x86_mfence): New variable. (ix86_init_mmx_sse_builtins): Initialize x86_mfence. * tree-pretty-print.c (dump_generic_node): Mark nontemporal stores. * optabs.c (init_optabs): Initialize storent_optab. * optabs.h (enum optab_index): Add OTI_storent. (storent_optab): Declare. * genopinit.c (optabs): Add initialization for storent_optab. * tree.h (MOVE_NONTEMPORAL): New macro. * expr.c (expand_assignment, store_expr, store_constructor_field, store_constructor, store_field, expand_expr_real_1): Propagate nontemporality of the expanded store. (emit_storent_insn): New function. * expr.h (expand_assignment, store_expr): Declaration changed. * function.c (assign_parm_setup_reg): Pass false as nontemporality to expand_assignment. * stmt.c (expand_asm_expr): Ditto. * calls.c (initialize_argument_information): Pass false as nontemporality to store_expr. * config/i386/sse.md (storentv4sf, storentv2df, storentv2di, storentsi): New. * gcc.dg/tree-ssa/prefetch-7.c: New test. From-SVN: r125604
2007-06-10tree-ssa-structalias.c (set_uids_in_ptset): Add is_deref'd parameter, use it.Daniel Berlin2-6/+17
2007-06-09 Daniel Berlin <dberlin@dberlin.org> * tree-ssa-structalias.c (set_uids_in_ptset): Add is_deref'd parameter, use it. (find_what_p_points_to): Pass new parameter to set_uids_in_ptset. From-SVN: r125603
2007-06-10decl.c (gnat_to_gnu_entity): Use pointers to dummy nodes...Duncan Sands5-84/+82
* decl.c (gnat_to_gnu_entity): Use pointers to dummy nodes, rather than to void, for the fields when making a new fat pointer type. (gnat_substitute_in_type): Now substitute_in_type. * gigi.h (gnat_substitute_in_type): Likewise. * trans.c (gnat_gimplify_expr): Remove COMPONENT_REF kludge. * utils.c (update_pointer_to): Update fat pointers by updating the dummy node pointers used for the fields. From-SVN: r125602
2007-06-10tree-data-ref.c (dr_may_alias_p): Check that decl_a != decl_b, and allow ↵Daniel Berlin2-2/+8
DECL_P here. 2007-06-09 Daniel Berlin <dberlin@dberlin.org> * tree-data-ref.c (dr_may_alias_p): Check that decl_a != decl_b, and allow DECL_P here. From-SVN: r125601
2007-06-10Daily bump.GCC Administrator1-1/+1
From-SVN: r125598
2007-06-09tree-scalar-evolution.c (follow_ssa_edge_in_rhs, [...]): Keep more precise ↵Zdenek Dvorak5-4/+57
track of the size of the expression. * tree-scalar-evolution.c (follow_ssa_edge_in_rhs, follow_ssa_edge_in_condition_phi, follow_ssa_edge): Keep more precise track of the size of the expression. * cfghooks.c (merge_blocks): Remove block from loops structure only after call of the merge_blocks hook. * gcc.dg/tree-ssa/loop-28.c: New testcase. From-SVN: r125595
2007-06-09c-decl.c (grokdeclarator): Added 'deprecated_state' argument.Tom Tromey2-21/+37
* c-decl.c (grokdeclarator): Added 'deprecated_state' argument. (deprecated_state): Removed. (start_decl): Update. (enum deprecated_states): Moved earlier. (groktypename): Update. (push_parm_decl): Likewise. (grokfield): Likewise. (start_function): Likewise. From-SVN: r125593
2007-06-09re PR tree-optimization/32169 (Ice in set_value_range, at tree-vrp.c:326)Ian Lance Taylor4-0/+31
./: PR tree-optimization/32169 * tree-vrp.c (extract_range_from_unary_expr): For NOP_EXPR and CONVERT_EXPR, check whether min and max both converted to an overflow infinity representation. testsuite/: PR tree-optimization/32169 * gcc.c-torture/compile/pr32169.c: New test. From-SVN: r125591
2007-06-09Daily bump.GCC Administrator1-1/+1
From-SVN: r125585
2007-06-08reload1.c (fixup_abnormal_edges): Clear bb field for insns not inserted on ↵Eric Botcazou2-1/+8
the edge. * reload1.c (fixup_abnormal_edges): Clear bb field for insns not inserted on the edge. From-SVN: r125582