- 30 Jul, 2010 15 commits
-
-
* rtlanal.c (simplify_subreg_regno): Don't treat HARD_FRAME_POINTER_REGNUM specially. From-SVN: r162726
Bernd Schmidt committed -
2010-07-30 Janus Weil <janus@gcc.gnu.org> Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/44929 * match.c (match_type_spec): Try to parse derived types before intrinsic types. 2010-07-30 Janus Weil <janus@gcc.gnu.org> PR fortran/44929 * gfortran.dg/allocate_derived_3.f90: New. Co-Authored-By: Steven G. Kargl <kargl@gcc.gnu.org> From-SVN: r162724
Janus Weil committed -
* common.opt (-G): Don't define option here. * config/g.opt: New. * config.gcc: Use g.opt for alpha, frv, ia64, lm32, m32r, mips, rs6000/powerpc and score targets. * opts.c (common_handle_option): Don't handle -G here. * config/alpha/alpha.c (alpha_handle_option): Handle -G. * config/frv/frv.c (frv_handle_option): Handle -G. * config/ia64/ia64.c (ia64_handle_option): Handle -G. * config/lm32/lm32.c (lm32_handle_option, TARGET_HANDLE_OPTION): New. * config/m32r/m32r.c (m32r_handle_option): Handle -G. * config/mips/mips.c (mips_handle_option): Handle -G. * config/rs6000/rs6000.c (rs6000_handle_option) Handle -G. * config/score/score.c (score_handle_option): Handle -G. From-SVN: r162721
Joseph Myers committed -
From-SVN: r162720
Xinliang David Li committed -
2010-07-30 Mikael Morin <mikael@gcc.gnu.org> * gfortran.h (gfc_release_symbol): New prototype. * symbol.c (gfc_release_symbol): New. Code taken from free_sym_tree. (gfc_undo_symbols, free_sym_tree, gfc_free_finalizer): Use gfc_release_symbol. * parse.c (gfc_fixup_sibling_symbols): Ditto. * resolve.c (resolve_symbol): Ditto. From-SVN: r162719
Mikael Morin committed -
* config/mmix/mmix.c: Include basic-block.h. From-SVN: r162718
Anatoly Sokolov committed -
gcc/ PR c++/45112 * cp/decl.c (duplicate_decls): Merge DECL_USER_ALIGN and DECL_PACKED. gcc/testsuite/ PR c++/45112 * testsuite/g++.dg/pr45112.C: New test. From-SVN: r162716
Ulrich Weigand committed -
PR debug/45055 PR rtl-optimization/45137 * rtl.h (prev_nonnote_nondebug_insn, next_nonnote_nondebug_insn): New prototypes. * emit-rtl.c (prev_nonnote_nondebug_insn, next_nonnote_nondebug_insn): New functions. * combine.c (next_nonnote_nondebug_insn): Removed. * ifcvt.c (noce_process_if_block): Use prev_nonnote_nondebug_insn. * haifa-sched.c (queue_to_ready): Use next_nonnote_nondebug_insn. * sched-deps.c (sched_analyze_insn): Likewise. (fixup_sched_groups, deps_start_bb): Use prev_nonnote_nondebug_insn. * rtlanal.c (canonicalize_condition): Likewise. * postreload.c (reload_combine_recognize_pattern): Likewise. (reload_cse_move2add): Use next_nonnote_nondebug_insn. * gcc.dg/pr45055.c: New test. From-SVN: r162714
Jakub Jelinek committed -
* config/i386/i386.md (int_cond): Remove code iterator. (fp_cond): Ditto. (cbranch<mode>4): Use ordered_comparison_operator predicate for operator0. (cstore<mode>4): Ditto for operator1. (mov<SWIM:mode>cc): Ditto. From-SVN: r162710
Uros Bizjak committed -
2010-07-30 Richard Guenther <rguenther@suse.de> PR middle-end/45141 * expr.c (expand_expr_real_1): Check for not handled base address. From-SVN: r162709
Richard Guenther committed -
2010-07-30 Andrew Haley <aph@redhat.com> * javax/print/attribute/standard/JobStateReasons.java (add): Fix infinite recursion with call to super. From-SVN: r162708
Andrew Haley committed -
2010-07-30 Richard Guenther <rguenther@suse.de> * ipa-prop.c (ipa_modify_formal_parameters): Use build_distinct_type_copy. From-SVN: r162707
Richard Guenther committed -
From-SVN: r162706
Anthony Green committed -
From-SVN: r162705
Alan Modra committed -
From-SVN: r162701
GCC Administrator committed
-
- 29 Jul, 2010 21 commits
-
-
* dce.c (run_word_dce): Take flag_dce into account. Clear and restore df flags as in run_fast_df_dce. From-SVN: r162697
Bernd Schmidt committed -
2010-07-29 Tobias Burnus <burnus@net-b.de> PR fortran/45087 PR fortran/45125 * trans-decl.c (gfc_get_extern_function_decl): Correctly handle external procedure declarations in modules. (gfc_get_symbol_decl): Modify assert. 2010-07-29 Tobias Burnus <burnus@net-b.de> PR fortran/45087 PR fortran/45125 * gfortran.dg/whole_file_25.f90: New. * gfortran.dg/whole_file_26.f90: New. * gfortran.dg/whole_file_27.f90: New. From-SVN: r162696
Tobias Burnus committed -
2010-07-29 Janus Weil <janus@gcc.gnu.org> PR fortran/44962 * resolve.c (resolve_fl_derived): Call gfc_resolve_array_spec. 2010-07-29 Janus Weil <janus@gcc.gnu.org> PR fortran/44962 * gfortran.dg/typebound_proc_17.f03: New. From-SVN: r162695
Janus Weil committed -
Revert: * rtl.def (NOTE): Swap operands 4 and 5. * rtl.h (NOTE_DATA, NOTE_DELETED_LABEL_NAME, NOTE_BLOCK, NOTE_EH_HANDLER, NOTE_BASIC_BLOCK, NOTE_VAR_LOCATION, NOTE_KIND): Adjust accordingly. * gengtype.c (adjust_field_rtx_def): Swap operands 4 and 5 of NOTEs. From-SVN: r162692
Jakub Jelinek committed -
PR debug/45110 * dwarf2out.c (dwarf_attr_name): Handle DW_AT_object_pointer. (gen_formal_types_die): Add DW_AT_object_pointer in methods. (gen_subprogram_die): Likewise. Remove it when removing declaration's formal parameters. (gen_decl_die): Change return type to dw_die_ref, return what gen_formal_parameter_die returned. From-SVN: r162691
Jakub Jelinek committed -
2010-07-29 Janus Weil <janus@gcc.gnu.org> PR fortran/45004 * trans-stmt.h (gfc_trans_class_init_assign): New prototype. (gfc_trans_class_assign): Modified prototype. * trans.h (gfc_conv_intrinsic_move_alloc): New prototype. * trans-expr.c (gfc_trans_class_init_assign): Split off from ... (gfc_trans_class_assign): ... here. Modified actual arguments. * trans-intrinsic.c (gfc_conv_intrinsic_move_alloc): New function to handle the MOVE_ALLOC intrinsic with scalar and class arguments. * trans.c (trans_code): Call 'gfc_conv_intrinsic_move_alloc'. 2010-07-29 Janus Weil <janus@gcc.gnu.org> PR fortran/45004 * gfortran.dg/move_alloc_2.f90: New. From-SVN: r162688
Janus Weil committed -
From-SVN: r162687
Xinliang David Li committed -
2010-07-29 Martin Jambor <mjambor@suse.cz> * dbgcnt.def (eipa_sra): New counter. * tree-sra.c (ipa_early_sra_gate): Also check eipa_sra debug counter. From-SVN: r162686
Martin Jambor committed -
2010-07-29 Xinliang David Li <davidxl@google.com> PR bootstrap/45119 * tree-ssa-loop-ivopts.c (get_address_cost): Revert change in revision 162652. From-SVN: r162683
Xinliang David Li committed -
2010-07-29 Richard Guenther <rguenther@suse.de> * timevar.def (TV_TREE_STORE_COPY_PROP): Remove. (TV_TREE_STORE_CCP): Likewise. (TV_TREE_REDPHI): Likewise. From-SVN: r162682
Richard Guenther committed -
2010-07-28 Richard Guenther <rguenther@suse.de> * double-int.h (double_int_and_not): New function. * combine.c (try_combine): Use it. * tree-vrp.c (simplify_bit_ops_using_ranges): Likewise. From-SVN: r162681
Richard Guenther committed -
PR rtl-optimization/42575 * dce.c (word_dce_process_block): Renamed from byte_dce_process_block. Argument AU removed. All callers changed. Ignore artificial refs. Use return value of df_word_lr_simulate_defs to decide whether an insn is necessary. (fast_dce): Rename arg to WORD_LEVEL. (run_word_dce): Renamed from rest_of_handle_fast_byte_dce. No longer static. (pass_fast_rtl_byte_dce): Delete. * dce.h (run_word_dce): Declare. * df-core.c (df_print_word_regset): Renamed from df_print_byteregset. All callers changed. Simplify code to only deal with two-word regs. * df.h (DF_WORD_LR): Renamed from DF_BYTE_LR. (DF_WORD_LR_BB_INFO): Renamed from DF_BYTE_LR_BB_INFO. (DF_WORD_LR_IN): Renamed from DF_BYTE_LR_IN. (DF_WORD_LR_OUT): Renamed from DF_BYTE_LR_OUT. (struct df_word_lr_bb_info): Renamed from df_byte_lr_bb_info. (df_word_lr_mark_ref): Declare. (df_word_lr_add_problem, df_word_lr_mark_ref, df_word_lr_simulate_defs, df_word_lr_simulate_uses): Declare or rename from byte variants. (df_byte_lr_simulate_artificial_refs_at_top, df_byte_lr_simulate_artificial_refs_at_end, df_byte_lr_get_regno_start, df_byte_lr_get_regno_len, df_compute_accessed_bytes): Delete declarations. (df_word_lr_get_bb_info): Rename from df_byte_lr_get_bb_info. (enum df_mm): Delete. * df-byte-scan.c: Delete file. * df-problems.c (df_word_lr_problem_data): Renamed from df_byte_lr_problem_data, all members deleted except for WORD_LR_BITMAPS, which is renamed from BYTE_LR_BITMAPS. Uses changed. (df_word_lr_expand_bitmap, df_byte_lr_simulate_artificial_refs_at_top, df_byte_lr_simulate_artificial_refs_at_end, df_byte_lr_get_regno_start, df_byte_lr_get_regno_len, df_byte_lr_check_regs, df_byte_lr_confluence_0): Delete functions. (df_word_lr_free_bb_info): Renamed from df_byte_lr_free_bb_info; all callers changed. (df_word_lr_alloc): Renamed from df_byte_lr_alloc; all callers changed. Don't initialize members that were deleted, don't try to discover data about registers. Ignore hard regs. (df_word_lr_reset): Renamed from df_byte_lr_reset; all callers changed. (df_word_lr_mark_ref): New function. (df_word_lr_bb_local_compute): Renamed from df_byte_bb_lr_local_compute; all callers changed. Use df_word_lr_mark_ref. Assert that artificial refs don't include pseudos. Ignore hard registers. (df_word_lr_local_compute): Renamed from df_byte_lr_local_compute. Assert that exit block uses don't contain pseudos. (df_word_lr_init): Renamed from df_byte_lr_init; all callers changed. (df_word_lr_confluence_n): Renamed from df_byte_lr_confluence_n; all callers changed. Ignore hard regs. (df_word_lr_transfer_function): Renamed from df_byte_lr_transfer_function; all callers changed. (df_word_lr_free): Renamed from df_byte_lr_free; all callers changed. (df_word_lr_top_dump): Renamed from df_byte_lr_top_dump; all callers changed. (df_word_lr_bottom_dump): Renamed from df_byte_lr_bottom_dump; all callers changed. (problem_WORD_LR): Renamed from problem_BYTE_LR; uses changed; confluence operator 0 set to NULL. (df_word_lr_add_problem): Renamed from df_byte_lr_add_problem; all callers changed. (df_word_lr_simulate_defs): Renamed from df_byte_lr_simulate_defs. Return bool, true if bitmap changed or insn otherwise necessary. All callers changed. Simplify using df_word_lr_mark_ref. (df_word_lr_simulate_uses): Renamed from df_byte_lr_simulate_uses; all callers changed. Simplify using df_word_lr_mark_ref. * lower-subreg.c: Include "dce.h" (decompose_multiword_subregs): Call run_word_dce if df available. * Makefile.in (lower-subreg.o): Adjust dependencies. (df-byte-scan.o): Delete. * timevar.def (TV_DF_WORD_LR): Renamed from TV_DF_BYTE_LR. From-SVN: r162678
Bernd Schmidt committed -
2010-07-29 Richard Guenther <rguenther@suse.de> * tree.c (build_vector): Assert that the vector constant has enough elements. (build_vector_from_ctor): Pad with trailing zeros. From-SVN: r162677
Richard Guenther committed -
re PR tree-optimization/45120 (-fipa-pta causes FAIL: gcc.c-torture/execute/pta-field-2.c execution) 2010-07-29 Richard Guenther <rguenther@suse.de> PR tree-optimization/45120 * tree-ssa-structalias.c (get_constraint_for_component_ref): Handle offset in DEREFs properly. (get_constraint_for_1): Handle MEM_REF offset properly. * gcc.dg/ipa/ipa-pta-15.c: New testcase. From-SVN: r162676
Richard Guenther committed -
2010-07-29 Mikael Morin <mikael@gcc.gnu.org> PR fortran/42051 PR fortran/44064 * class.c (gfc_find_derived_vtab): Accept or discard newly created symbols before returning. 2010-07-29 Mikael Morin <mikael@gcc.gnu.org> PR fortran/42051 PR fortran/44064 * gfortran.dg/pr42051.f03: New testcase. From-SVN: r162674
Mikael Morin committed -
2010-07-29 Richard Guenther <rguenther@suse.de> PR middle-end/45034 * convert.c (convert_to_integer): Always use an unsigned type for narrowed negate and bitwise not. * gcc.c-torture/execute/pr45034.c: New testcase. From-SVN: r162673
Richard Guenther committed -
* lang.opt (cpp): Remove Joined and Separate markers. (cpp=): New internal option. * lang-specs.h (F951_CPP_OPTIONS): Generate -cpp= option. * cpp.c (gfc_cpp_handle_option): Handle OPT_cpp_ instead of OPT_cpp. From-SVN: r162672
Joseph Myers committed -
2010-07-29 Daniel Kraft <d@domob.eu> PR fortran/45117 * array.c (resolve_array_bound): Fix error message to properly handle non-variable expressions. From-SVN: r162670
Daniel Kraft committed -
tree-vect-loop.c (vect_create_epilog_for_reduction): Switch to outer loop when creating reduction epilogue for double reduction... * tree-vect-loop.c (vect_create_epilog_for_reduction): Switch to outer loop when creating reduction epilogue for double reduction, and switch back to the inner loop when updating the phi nodes. Update uses of outer loop exit phi nodes in double reduction (instead of uses of reduction). From-SVN: r162668
Ira Rosen committed -
2010-07-28 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR libfortran/44931 * io/inquire.c (inquire_via_unit): Use ttyname to return actual device file name for stdin, stdout, and stderr. If ttyname does not succeed fall back to default names for these units. Include string.h to allow using strlen function. * unix.c: Remove typedef of unix_stream structure, move to unix.h. * unix.h: Add typedef of unix_stream structure so that it is accessible to inquire.c. From-SVN: r162667
Jerry DeLisle committed -
From-SVN: r162666
GCC Administrator committed
-
- 28 Jul, 2010 4 commits
-
-
2010-07-28 Paolo Carlini <paolo.carlini@oracle.com> PR c++/45096 * g++.dg/cpp0x/auto3.C: Tweak dg-error string. From-SVN: r162657
Paolo Carlini committed -
From-SVN: r162656
Michael Meissner committed -
IVOPT performance tuning patch. The main problem is a variant of maximal weight bipartite matching/assignment problem -- i.e., there is an additional global cost function. The complexity of the algorighm to find the optimial solution > O(n^2). The existing algorithm in gcc tries to find the solution in 3 stages: 1) Find the initial solution set (dynamic programing style) 2) Extend the solution set 3) Prune the soultion set. The problem is that in step 1, the initial set tends to be too large so that the final solution is very likely local optimal. This patch addresses the problem and sees very large SPEC improvements. Another area of problem is that ivopts often creates loop invariant expressions, and such expressions increase register pressure which is not counted. This is addressed in this patch. The third main problem is the profile data is not considered in cost computation The forth problem is that loop invariant comptuation's cost is not properly adjusted. There are more tuning opportuties, namely: 1) Do not check ivs dependency during ivs set pruning (this improves deallII 8% on core2) 2) Unconditionally consider all important candidates in partial set expansion (in addition to the extended solutino based on selected candidates) 3) revisit the two stage initial set computation. From-SVN: r162653
Xinliang David Li committed -
2010-07-28 Kai Tietz <kai.tietz@onevision.com> * config/i386/i386.h (MCOUNT_NAME_BEFORE_PROLOGUE): New. * config/i386/i386.c (ix86_profile_before_prologue): New. (override_options): Add special handling for -mfentry. (ix86_function_regparm): Likewise. (ix86_function_sseregparm): Likewise. (ix86_frame_pointer_required): Likewise. (ix86_expand_prologue): Check for ms_hook_prologue. (x86_function_profiler): Adjust mcount output. (TARGET_PROFILE_BEFORE_PROLOGUE): Define hook. * config/i386/i386.opt (mfentry): New. * doc/invoke.texi (mfentry): Add documentation. * doc/tm.texi: Regenerated.. * doc/tm.texi.in (TARGET_PROFILE_BEFORE_PROLOGUE): New. * final.c (final_start_function): Replace macro PROFILE_BEFORE_PROLOGUE by target hook. * function.c (thread_prologue_and_epilogue_insns): Likewise. * target.def (profile_before_prologue): New hook. * targhooks.c (default_profile_before_prologue): New. * targhooks.h (default_profile_before_prologue): New. From-SVN: r162651
Kai Tietz committed
-