| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
From-SVN: r162785
|
|
|
|
|
|
|
|
|
|
|
|
| |
to optab_for_tree_code.
gcc/
* tree-ssa-math-opts.c (convert_plusminus_to_widen): Fix type
used in the call to optab_for_tree_code. Fix the second
is_widening_mult_p call. Check that both unwidened operands
have the same sign.
From-SVN: r162784
|
|
|
|
|
|
|
| |
John Tytgat <John.Tytgat@aaug.net>
* config/arm/arm.c (arm_function_arg): Remove superfluous test.
From-SVN: r162782
|
|
|
|
|
|
| |
* config/spu/spu.h (ASM_OUTPUT_SOURCE_FILENAME): Remove macro.
From-SVN: r162779
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
argument)
2010-07-31 Mikael Morin <mikael@gcc.gnu.org>
PR fortran/42051
PR fortran/44064
* symbol.c (changed_syms): Made non-static.
* parse.c (changed_syms): Declare new external.
(next_statement): Assert changed_syms is NULL at the beginning.
From-SVN: r162776
|
|
|
|
|
|
|
|
|
|
| |
ordered_comparison_operator predicate for operator1.
* config/i386/i386.md (mov<SWIM:mode>cc and corresponding splitter):
Use ordered_comparison_operator predicate for operator1.
(add<mode>cc): ditto.
From-SVN: r162775
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* config/rx/predicates.md (rx_constshift_operand): New.
* config/rx/rx.md (zs_cond): New.
(cbranchsi4): Remove mode.
(*cbranchsi4_<code>): Likewise.
(*tstbranchsi4_<code>): New.
(*tstbranchsi4r_<code>): New.
(*tstbranchsi4m_eq): New.
(*tstbranchsi4m_ne): New.
(cbranchsf4): Remove mode.
(*cbranchsf4_<code>): Likewise.
From-SVN: r162731
|
|
|
|
| |
From-SVN: r162730
|
|
|
|
|
|
|
|
|
| |
specially.
* rtlanal.c (simplify_subreg_regno): Don't treat
HARD_FRAME_POINTER_REGNUM specially.
From-SVN: r162726
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
'REAL')
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
| |
From-SVN: r162720
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
* config/mmix/mmix.c: Include basic-block.h.
From-SVN: r162718
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
in walk_gimple_stmt)
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
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
2010-07-30 Richard Guenther <rguenther@suse.de>
* ipa-prop.c (ipa_modify_formal_parameters): Use
build_distinct_type_copy.
From-SVN: r162707
|
|
|
|
| |
From-SVN: r162706
|
|
|
|
| |
From-SVN: r162705
|
|
|
|
| |
From-SVN: r162701
|
|
|
|
|
|
|
| |
* dce.c (run_word_dce): Take flag_dce into account. Clear and restore
df flags as in run_fast_df_dce.
From-SVN: r162697
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
From-SVN: r162687
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
argument)
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
char gives broken code)
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
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
From-SVN: r162666
|
|
|
|
|
|
|
|
|
| |
2010-07-28 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/45096
* g++.dg/cpp0x/auto3.C: Tweak dg-error string.
From-SVN: r162657
|
|
|
|
| |
From-SVN: r162656
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
2010-07-28 Mikael Morin <mikael@gcc.gnu.org>
* decl.c (free_value): Also free repeat field.
* data.c (gfc_assign_data_value): Always free offset before returning.
From-SVN: r162649
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2010-07-28 Daniel Kraft <d@domob.eu>
* gfortran.h (gfc_build_intrinsic_call): New method.
* expr.c (gfc_build_intrinsic_call): New method.
* simplify.c (range_check): Ignore non-constant value.
(simplify_bound_dim): Handle non-variable expressions and
fix memory leak with non-free'ed expression.
(simplify_bound): Handle non-variable expressions.
(gfc_simplify_shape): Ditto.
(gfc_simplify_size): Ditto, but only in certain cases possible.
2010-07-28 Daniel Kraft <d@domob.eu>
* gfortran.dg/bound_8.f90: New test.
From-SVN: r162648
|