platform/upstream/gcc.git
14 years agotree-ssa-math-opts.c (convert_plusminus_to_widen): Fix type used in the call to optab...
Richard Sandiford [Sat, 31 Jul 2010 15:51:17 +0000 (15:51 +0000)]
tree-ssa-math-opts.c (convert_plusminus_to_widen): Fix type used in the call 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

14 years agoJohn Tytgat <John.Tytgat@aaug.net>
John Tytgat [Sat, 31 Jul 2010 14:27:53 +0000 (14:27 +0000)]
John Tytgat <John.Tytgat@aaug.net>

John Tytgat  <John.Tytgat@aaug.net>
* config/arm/arm.c (arm_function_arg): Remove superfluous test.

From-SVN: r162782

14 years agospu.h (ASM_OUTPUT_SOURCE_FILENAME): Remove macro.
Anatoly Sokolov [Sat, 31 Jul 2010 12:07:14 +0000 (16:07 +0400)]
spu.h (ASM_OUTPUT_SOURCE_FILENAME): Remove macro.

* config/spu/spu.h (ASM_OUTPUT_SOURCE_FILENAME): Remove macro.

From-SVN: r162779

14 years agore PR fortran/42051 ([OOP] ICE on array-valued function with CLASS formal argument)
Mikael Morin [Sat, 31 Jul 2010 10:27:36 +0000 (10:27 +0000)]
re PR fortran/42051 ([OOP] ICE on array-valued function with CLASS formal 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

14 years agoi386.md (mov<SWIM:mode>cc and corresponding splitter): Use ordered_comparison_operato...
Uros Bizjak [Sat, 31 Jul 2010 09:33:19 +0000 (11:33 +0200)]
i386.md (mov<SWIM:mode>cc and corresponding splitter): Use 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

14 years agopredicates.md (rx_constshift_operand): New.
DJ Delorie [Sat, 31 Jul 2010 02:32:08 +0000 (22:32 -0400)]
predicates.md (rx_constshift_operand): New.

* 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

14 years agoDaily bump.
GCC Administrator [Sat, 31 Jul 2010 00:17:24 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r162730

14 years agortlanal.c (simplify_subreg_regno): Don't treat HARD_FRAME_POINTER_REGNUM specially.
Bernd Schmidt [Fri, 30 Jul 2010 23:50:00 +0000 (23:50 +0000)]
rtlanal.c (simplify_subreg_regno): Don't treat HARD_FRAME_POINTER_REGNUM specially.

* rtlanal.c (simplify_subreg_regno): Don't treat
HARD_FRAME_POINTER_REGNUM specially.

From-SVN: r162726

14 years agore PR fortran/44929 ([OOP] Parsing error of derived type name starting with 'REAL')
Janus Weil [Fri, 30 Jul 2010 17:50:28 +0000 (19:50 +0200)]
re PR fortran/44929 ([OOP] Parsing error of  derived type name starting with '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

14 years agocommon.opt (-G): Don't define option here.
Joseph Myers [Fri, 30 Jul 2010 17:04:37 +0000 (18:04 +0100)]
common.opt (-G): Don't define option here.

* 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

14 years agofix test
Xinliang David Li [Fri, 30 Jul 2010 16:44:24 +0000 (16:44 +0000)]
fix test

From-SVN: r162720

14 years agogfortran.h (gfc_release_symbol): New prototype.
Mikael Morin [Fri, 30 Jul 2010 16:41:55 +0000 (16:41 +0000)]
gfortran.h (gfc_release_symbol): New prototype.

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

14 years agommix.c: Include basic-block.h.
Anatoly Sokolov [Fri, 30 Jul 2010 16:33:10 +0000 (20:33 +0400)]
mmix.c: Include basic-block.h.

* config/mmix/mmix.c: Include basic-block.h.

From-SVN: r162718

14 years agore PR c++/45112 (Aligned attribute on static class member definition ignored)
Ulrich Weigand [Fri, 30 Jul 2010 15:49:34 +0000 (15:49 +0000)]
re PR c++/45112 (Aligned attribute on static class member definition ignored)

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

14 years agore PR debug/45055 (another -fcompare-debug failure with uninitialised read in walk_gi...
Jakub Jelinek [Fri, 30 Jul 2010 14:36:56 +0000 (16:36 +0200)]
re PR debug/45055 (another -fcompare-debug failure with uninitialised read 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

14 years agoi386.md (int_cond): Remove code iterator.
Uros Bizjak [Fri, 30 Jul 2010 13:06:04 +0000 (15:06 +0200)]
i386.md (int_cond): Remove code iterator.

* 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

14 years agore PR lto/45141 (lto1 ICEs when linking cns_solve again)
Richard Guenther [Fri, 30 Jul 2010 11:01:22 +0000 (11:01 +0000)]
re PR lto/45141 (lto1 ICEs when linking cns_solve again)

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

14 years agoJobStateReasons.java (add): Fix infinite recursion with call to super.
Andrew Haley [Fri, 30 Jul 2010 10:49:36 +0000 (10:49 +0000)]
JobStateReasons.java (add): Fix infinite recursion with call to super.

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

14 years agoipa-prop.c (ipa_modify_formal_parameters): Use build_distinct_type_copy.
Richard Guenther [Fri, 30 Jul 2010 09:36:18 +0000 (09:36 +0000)]
ipa-prop.c (ipa_modify_formal_parameters): Use build_distinct_type_copy.

2010-07-30  Richard Guenther  <rguenther@suse.de>

* ipa-prop.c (ipa_modify_formal_parameters): Use
build_distinct_type_copy.

From-SVN: r162707

14 years agoAdd moxie-rtems configuration.
Anthony Green [Fri, 30 Jul 2010 07:14:59 +0000 (07:14 +0000)]
Add moxie-rtems configuration.

From-SVN: r162706

14 years agoTolerate half-hour timezones.
Alan Modra [Fri, 30 Jul 2010 06:56:17 +0000 (16:26 +0930)]
Tolerate half-hour timezones.

From-SVN: r162705

14 years agoDaily bump.
GCC Administrator [Fri, 30 Jul 2010 00:17:44 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r162701

14 years agodce.c (run_word_dce): Take flag_dce into account.
Bernd Schmidt [Thu, 29 Jul 2010 23:48:24 +0000 (23:48 +0000)]
dce.c (run_word_dce): Take flag_dce into account.

* dce.c (run_word_dce): Take flag_dce into account.  Clear and restore
df flags as in run_fast_df_dce.

From-SVN: r162697

14 years agore PR fortran/45087 (-fwhole-program: Miscompiled due to wrong decls)
Tobias Burnus [Thu, 29 Jul 2010 21:07:34 +0000 (23:07 +0200)]
re PR fortran/45087 (-fwhole-program: Miscompiled due to wrong decls)

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

14 years agore PR fortran/44962 ([OOP] ICE with specification expression SIZE(<CLASS>))
Janus Weil [Thu, 29 Jul 2010 20:58:57 +0000 (22:58 +0200)]
re PR fortran/44962 ([OOP] ICE with specification expression SIZE(<CLASS>))

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

14 years agorevert: rtl.def (NOTE): Swap operands 4 and 5.
Jakub Jelinek [Thu, 29 Jul 2010 19:48:03 +0000 (21:48 +0200)]
revert: rtl.def (NOTE): Swap operands 4 and 5.

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

14 years agore PR debug/45110 (GCC does not emit DW_AT_object_pointer)
Jakub Jelinek [Thu, 29 Jul 2010 19:47:02 +0000 (21:47 +0200)]
re PR debug/45110 (GCC does not emit DW_AT_object_pointer)

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

14 years agore PR fortran/45004 ([OOP] Segfault with allocatable scalars and move_alloc)
Janus Weil [Thu, 29 Jul 2010 18:14:16 +0000 (20:14 +0200)]
re PR fortran/45004 ([OOP] Segfault with allocatable scalars and move_alloc)

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

14 years agofix PR45121
Xinliang David Li [Thu, 29 Jul 2010 17:20:05 +0000 (17:20 +0000)]
fix PR45121

From-SVN: r162687

14 years agodbgcnt.def (eipa_sra): New counter.
Martin Jambor [Thu, 29 Jul 2010 15:30:40 +0000 (17:30 +0200)]
dbgcnt.def (eipa_sra): New counter.

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

14 years agoRevert change in revision 162652.
Xinliang David Li [Thu, 29 Jul 2010 14:30:18 +0000 (14:30 +0000)]
Revert change in revision 162652.

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

14 years agotimevar.def (TV_TREE_STORE_COPY_PROP): Remove.
Richard Guenther [Thu, 29 Jul 2010 13:50:00 +0000 (13:50 +0000)]
timevar.def (TV_TREE_STORE_COPY_PROP): Remove.

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

14 years agodouble-int.h (double_int_and_not): New function.
Richard Guenther [Thu, 29 Jul 2010 13:45:47 +0000 (13:45 +0000)]
double-int.h (double_int_and_not): New function.

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

14 years agore PR rtl-optimization/42575 (arm-eabi-gcc 64-bit multiply weirdness)
Bernd Schmidt [Thu, 29 Jul 2010 12:39:57 +0000 (12:39 +0000)]
re PR rtl-optimization/42575 (arm-eabi-gcc 64-bit multiply weirdness)

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

14 years agotree.c (build_vector): Assert that the vector constant has enough elements.
Richard Guenther [Thu, 29 Jul 2010 12:31:29 +0000 (12:31 +0000)]
tree.c (build_vector): Assert that the vector constant has enough elements.

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

14 years agore PR tree-optimization/45120 (-fipa-pta causes FAIL: gcc.c-torture/execute/pta-field...
Richard Guenther [Thu, 29 Jul 2010 12:30:09 +0000 (12:30 +0000)]
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

14 years agore PR fortran/42051 ([OOP] ICE on array-valued function with CLASS formal argument)
Mikael Morin [Thu, 29 Jul 2010 11:22:40 +0000 (11:22 +0000)]
re PR fortran/42051 ([OOP] ICE on array-valued function with CLASS formal 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

14 years agore PR tree-optimization/45034 ("safe" conversion from unsigned to signed char gives...
Richard Guenther [Thu, 29 Jul 2010 10:59:54 +0000 (10:59 +0000)]
re PR tree-optimization/45034 ("safe" conversion from unsigned to signed 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

14 years agolang.opt (cpp): Remove Joined and Separate markers.
Joseph Myers [Thu, 29 Jul 2010 09:45:08 +0000 (10:45 +0100)]
lang.opt (cpp): Remove Joined and Separate markers.

* 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

14 years agore PR fortran/45117 (Segfault in resolve_array_bound)
Daniel Kraft [Thu, 29 Jul 2010 09:06:53 +0000 (11:06 +0200)]
re PR fortran/45117 (Segfault in resolve_array_bound)

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

14 years agotree-vect-loop.c (vect_create_epilog_for_reduction): Switch to outer loop when creati...
Ira Rosen [Thu, 29 Jul 2010 06:02:34 +0000 (06:02 +0000)]
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

14 years agore PR fortran/44931 (For INPUT_UNIT, INQUIRE NAME= should not return "stdin")
Jerry DeLisle [Thu, 29 Jul 2010 01:32:23 +0000 (01:32 +0000)]
re PR fortran/44931 (For INPUT_UNIT, INQUIRE NAME= should not return "stdin")

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

14 years agoDaily bump.
GCC Administrator [Thu, 29 Jul 2010 00:17:14 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r162666

14 years agore PR c++/45096 (g++.dg/cpp0x/auto3.C)
Paolo Carlini [Wed, 28 Jul 2010 20:02:56 +0000 (20:02 +0000)]
re PR c++/45096 (g++.dg/cpp0x/auto3.C)

2010-07-28  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/45096
* g++.dg/cpp0x/auto3.C: Tweak dg-error string.

From-SVN: r162657

14 years agoAdd power6 copysign/parity support
Michael Meissner [Wed, 28 Jul 2010 19:58:38 +0000 (19:58 +0000)]
Add power6 copysign/parity support

From-SVN: r162656

14 years agoIVOPT performance tuning patch.
Xinliang David Li [Wed, 28 Jul 2010 19:13:11 +0000 (19:13 +0000)]
IVOPT performance tuning patch.

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

14 years agoi386.h (MCOUNT_NAME_BEFORE_PROLOGUE): New.
Kai Tietz [Wed, 28 Jul 2010 18:00:09 +0000 (18:00 +0000)]
i386.h (MCOUNT_NAME_BEFORE_PROLOGUE): New.

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

14 years agodecl.c (free_value): Also free repeat field.
Mikael Morin [Wed, 28 Jul 2010 17:33:37 +0000 (17:33 +0000)]
decl.c (free_value): Also free repeat field.

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

14 years agogfortran.h (gfc_build_intrinsic_call): New method.
Daniel Kraft [Wed, 28 Jul 2010 17:06:40 +0000 (19:06 +0200)]
gfortran.h (gfc_build_intrinsic_call): New method.

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

14 years agore PR debug/45105 (-fcompare-debug failure at -Os)
Jakub Jelinek [Wed, 28 Jul 2010 17:01:05 +0000 (19:01 +0200)]
re PR debug/45105 (-fcompare-debug failure at -Os)

PR debug/45105
* gcse.c (hoist_code): Use FOR_BB_INSNS macro.

* gcc.dg/pr45105.c: New test.

From-SVN: r162647

14 years agore PR debug/45103 (DW_OP_reg* has too large valid range for noreturn funcs)
Jakub Jelinek [Wed, 28 Jul 2010 17:00:06 +0000 (19:00 +0200)]
re PR debug/45103 (DW_OP_reg* has too large valid range for noreturn funcs)

PR debug/45103
* dwarf2out.c (dwarf2out_var_location): Always consider
NOTE_DURING_CALL_P notes, even when not followed by real instructions.

From-SVN: r162646

14 years agore PR rtl-optimization/45107 (ICE: in insert_expr_in_table, at gcse.c:1213 with ...
Maxim Kuvyrkov [Wed, 28 Jul 2010 16:50:14 +0000 (16:50 +0000)]
re PR rtl-optimization/45107 (ICE: in insert_expr_in_table, at gcse.c:1213 with -Os -gcse-las (another one))

PR rtl-optimization/45107
* gcse.c (hash_scan_set): Use max_distance for gcse-las.

PR rtl-optimization/45107
* gcc.dg/pr45107.c: New test.

From-SVN: r162645

14 years agotree-ssa-ccp.c: Remove comment regarding STORE-CCP.
Richard Guenther [Wed, 28 Jul 2010 16:03:09 +0000 (16:03 +0000)]
tree-ssa-ccp.c: Remove comment regarding STORE-CCP.

2010-07-28  Richard Guenther  <rguenther@suse.de>

* tree-ssa-ccp.c: Remove comment regarding STORE-CCP.
(set_lattice_value): Do not query an old default value.
(get_value_for_expr): New function.  Properly canonicalize
float values.
(ccp_visit_phi_node): Use it.

From-SVN: r162638

14 years agoarm.c (arm_pcs_default): Remove static.
Chung-Lin Tang [Wed, 28 Jul 2010 15:40:58 +0000 (15:40 +0000)]
arm.c (arm_pcs_default): Remove static.

* config/arm/arm.c (arm_pcs_default): Remove static.
* config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define __ARM_PCS or
__ARM_PCS_VFP to indicate soft/hard-float calling convention.
(arm_pcs_default): Declare.

From-SVN: r162637

14 years ago* MAINTAINERS (Write After Approval): Add myself.
David Yuste [Wed, 28 Jul 2010 15:23:55 +0000 (17:23 +0200)]
* MAINTAINERS (Write After Approval): Add myself.

From-SVN: r162636

14 years agopart 3 of darwin64 PPC ABI changes
Iain Sandoe [Wed, 28 Jul 2010 14:47:11 +0000 (14:47 +0000)]
part 3 of darwin64 PPC ABI changes

* config/rs6000/rs6000.c (rs6000_override_options):
Use TARGET_MACHO inline, move darwin_one_byte_bool from here...
... to darwin_rs6000_override_options.
(rs6000_return_in_memory): Update preceding comment for darwin
64 bit ABI.  Use TARGET_MACHO inline.
(rs6000_darwin64_struct_check_p): New.
(function_arg_advance): Use rs6000_darwin64_struct_check_p.
(function_arg): Likewise.
(rs6000_arg_partial_bytes): Likewise.
(rs6000_function_value): Likewise.

From-SVN: r162635

14 years ago* lto-opts.c (lto_file_read_options): Add loop over all inputs.
Andi Kleen [Wed, 28 Jul 2010 14:30:45 +0000 (14:30 +0000)]
* lto-opts.c (lto_file_read_options): Add loop over all inputs.

From-SVN: r162633

14 years ago* Make-lang.in (lto.o): Add dependency to splay-tree.h
Andi Kleen [Wed, 28 Jul 2010 14:06:45 +0000 (14:06 +0000)]
* Make-lang.in (lto.o): Add dependency to splay-tree.h

From-SVN: r162632

14 years agoAdd Changelog too
Andi Kleen [Wed, 28 Jul 2010 14:05:59 +0000 (14:05 +0000)]
Add Changelog too

From-SVN: r162631

14 years agolto-plugin.c (translate): Remove debug fprintf.
Andi Kleen [Wed, 28 Jul 2010 14:05:39 +0000 (14:05 +0000)]
lto-plugin.c (translate): Remove debug fprintf.

        * lto-plugin.c (translate): Remove debug fprintf.

From-SVN: r162630

14 years agore PR target/44903 (FAIL: gcc.dg/pr35258.c execution test)
Richard Guenther [Wed, 28 Jul 2010 10:32:54 +0000 (10:32 +0000)]
re PR target/44903 (FAIL: gcc.dg/pr35258.c execution test)

2010-07-28  Richard Guenther  <rguenther@suse.de>

PR middle-end/44903
* builtins.c (fold_builtin_memory_op): On STRICT_ALIGNMENT
targets try harder to not generate unaligned accesses.

From-SVN: r162624

14 years agore PR rtl-optimization/45101 (ICE: in insert_expr_in_table, at gcse.c:1213 with ...
Maxim Kuvyrkov [Wed, 28 Jul 2010 10:32:10 +0000 (10:32 +0000)]
re PR rtl-optimization/45101 (ICE: in insert_expr_in_table, at gcse.c:1213 with -gcse-las)

PR rtl-optimization/45101
* gcc.dg/pr45101.c: New test.

From-SVN: r162623

14 years agore PR rtl-optimization/45101 (ICE: in insert_expr_in_table, at gcse.c:1213 with ...
Maxim Kuvyrkov [Wed, 28 Jul 2010 10:09:53 +0000 (10:09 +0000)]
re PR rtl-optimization/45101 (ICE: in insert_expr_in_table, at gcse.c:1213 with -gcse-las)

PR rtl-optimization/45101
* gcse.c (hash_scan_set): Fix argument ordering of insert_expr_in_table
for gcse-las.

From-SVN: r162622

14 years agore PR tree-optimization/44885 (miscompilation of gnat.dg/aliasing3.adb after mem...
Eric Botcazou [Wed, 28 Jul 2010 10:03:00 +0000 (10:03 +0000)]
re PR tree-optimization/44885 (miscompilation of gnat.dg/aliasing3.adb after mem-ref2)

PR tree-optimization/44885
* tree-sra.c (find_param_candidates): Skip pointer types to arrays
with non-aliased component.

From-SVN: r162621

14 years agodarwin-driver.c (SWITCH_TAKES_ARG, [...]): Remove.
Joseph Myers [Wed, 28 Jul 2010 09:36:21 +0000 (10:36 +0100)]
darwin-driver.c (SWITCH_TAKES_ARG, [...]): Remove.

* config/darwin-driver.c (SWITCH_TAKES_ARG,
WORD_SWITCH_TAKES_ARG): Remove.
* cppspec.c (SWITCH_TAKES_ARG, WORD_SWITCH_TAKES_ARG): Remove.
* defaults.h (DEFAULT_SWITCH_TAKES_ARG,
DEFAULT_WORD_SWITCH_TAKES_ARG): Move from gcc.h.
(SWITCH_TAKES_ARG, WORD_SWITCH_TAKES_ARG): Move default
definitions from gcc.c.
* gcc.c (SWITCH_TAKES_ARG, WORD_SWITCH_TAKES_ARG): Move to
defaults.h.
* gcc.h (DEFAULT_SWITCH_TAKES_ARG, DEFAULT_WORD_SWITCH_TAKES_ARG):
Move to defaults.h.
* opts-common.c: Include tm.h.
(decode_cmdline_option): Use SWITCH_TAKES_ARG and
WORD_SWITCH_TAKES_ARG to count arguments to unknown options.
Handle more than one argument.  Set canonical_option_num_elements.
(decode_cmdline_options_to_array): Set
canonical_option_num_elements and trailing elements of
canonical_option.
* opts.h (struct cl_decoded_option): Allow four elements in
canonical_option.  Add field canonical_option_num_elements.
* Makefile.in (opts-common.o): Update dependencies.

ada:
* gcc-interface/misc.c (gnat_init_options): Ignore erroneous
options.  Check canonical_option_num_elements on options copied.

fortran:
* gfortranspec.c (SWITCH_TAKES_ARG, WORD_SWITCH_TAKES_ARG):
Remove.

From-SVN: r162620

14 years agore PR fortran/45077 (ICE with -fwhole-file in fold_convert_loc, at fold-const.c:2021)
Tobias Burnus [Wed, 28 Jul 2010 08:44:29 +0000 (10:44 +0200)]
re PR fortran/45077 (ICE with -fwhole-file in fold_convert_loc, at fold-const.c:2021)

2010-07-28  Tobias Burnus  <burnus@net-b.de>

        PR fortran/45077
        * trans-types.c (gfc_get_derived_type): Fix DT declaration
        from modules for whole-file mode.

2010-07-28  Tobias Burnus  <burnus@net-b.de>

        PR fortran/45077
        * gfortran.dg/whole_file_24.f90: New.

From-SVN: r162619

14 years agore PR middle-end/44790 (Bootstrap fails after MEM-REF merge)
Eric Botcazou [Wed, 28 Jul 2010 07:44:34 +0000 (07:44 +0000)]
re PR middle-end/44790 (Bootstrap fails after MEM-REF merge)

PR middle-end/44790
PR middle-end/44993
* expr.c (expand_expr_real_1) <MEM_REF>: Revert latest change.  Make
sure the base has address_mode before adding the offset.

From-SVN: r162618

14 years agoFix typos
Eric Botcazou [Wed, 28 Jul 2010 05:23:28 +0000 (05:23 +0000)]
Fix typos

From-SVN: r162617

14 years agoFix to expose more LIM when creating mem_ref
Xinliang David Li [Wed, 28 Jul 2010 05:08:24 +0000 (05:08 +0000)]
Fix to expose more LIM when creating mem_ref

From-SVN: r162616

14 years agoDaily bump.
GCC Administrator [Wed, 28 Jul 2010 00:17:01 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r162615

14 years agopt.c (tsubst_expr): Handle getting an AGGR_INIT_EXPR from build_value_init.
Jason Merrill [Tue, 27 Jul 2010 22:06:03 +0000 (18:06 -0400)]
pt.c (tsubst_expr): Handle getting an AGGR_INIT_EXPR from build_value_init.

* pt.c (tsubst_expr) [DECL_EXPR]: Handle getting an AGGR_INIT_EXPR
from build_value_init.
* init.c (build_value_init_noctor): Give error for unknown array
bound.

From-SVN: r162603

14 years agortl.def (DEBUG_INSN, [...]): Swap operands 4 and 5.
Bernd Schmidt [Tue, 27 Jul 2010 21:52:39 +0000 (21:52 +0000)]
rtl.def (DEBUG_INSN, [...]): Swap operands 4 and 5.

* rtl.def (DEBUG_INSN, INSN, JUMP_INSN, CALL_INSN, NOTE): Swap operands
4 and 5.
* rtl.h (PATTERN, INSN_LOCATOR, NOTE_DATA, NOTE_DELETED_LABEL_NAME,
NOTE_BLOCK, NOTE_EH_HANDLER, NOTE_BASIC_BLOCK, NOTE_VAR_LOCATION,
NOTE_KIND, LABEL_NUSES, LABEL_REFS): Adjust accordingly.
* gengtype.c (adjust_field_rtx_def): Swap operands 4 and 5 of
CODE_LABELs and NOTEs.
* caller-save.c (init_caller_save): Fix up gen_rtx_INSN call.
* combine.c (try_combine): Likewise.
* ira.c (setup_prohibited_mode_move_regs): Likewise.
* print-rtl.c (print_rtx): Start REG_NOTES on a new line.

From-SVN: r162602

14 years agocoretypes.h (struct cl_option_handlers): Declare.
Joseph Myers [Tue, 27 Jul 2010 21:23:53 +0000 (22:23 +0100)]
coretypes.h (struct cl_option_handlers): Declare.

* coretypes.h (struct cl_option_handlers): Declare.
* hooks.c (hook_int_size_t_constcharptr_int_0): Remove.
* hooks.h (hook_int_size_t_constcharptr_int_0): Remove.
* langhooks-def.h (lhd_handle_option): Declare.
(LANG_HOOKS_HANDLE_OPTION): Use lhd_handle_option.
* langhooks.c (lhd_handle_option): New.
* langhooks.h (struct lang_hooks): Update prototype and return
value type of handle_option hook.
* optc-gen.awk: Generate target_flags_explicit definition for the
driver.
* opts-common.c: Include diagnostic.h.
(handle_option): Move from opts.c.  Update prototype and return
value type.  Use handlers structure.
(read_cmdline_option): Move from opts.c.  Update prototype.  Use
handlers structure.
(set_option): Move from opts.c.
* opts.c (common_handle_option): Update prototype and return value
type.  Update calls to handle_option and enable_warning_as_error.
(unknown_option_callback, post_handling_callback,
lang_handle_option, target_handle_option): New.
(handle_option, read_cmdline_option): Move to opts-common.c.
(read_cmdline_options): Update prototype.  Update call to
read_cmdline_option.
(decode_options): Initialize and use handlers structure.
(set_option): Move to opts-common.c.
(enable_warning_as_error): Update prototype.  Update call to
handle_option.
* opts.h (struct cl_option_handler_func, struct
cl_option_handlers): New.
(handle_option, enable_warning_as_error): Update prototypes.
(read_cmdline_option): Declare.
* Makefile.in (opts-common.o): Update dependencies.

ada:
* gcc-interface/misc.c (gnat_handle_option): Update prototype and
return value type.  Don't check for missing arguments here.

c-family:
* c-common.h (c_common_handle_option): Update prototype and return
value type.
* c-opts.c (c_common_handle_option): Update prototype and return
value type.  Update calls to handle_option and
enable_warning_as_error.

fortran:
* gfortran.h (gfc_handle_option): Update prototype and return
value type.
* options.c (gfc_handle_option): Update prototype and return value
type.

java:
* lang.c (java_handle_option): Update prototype and return value
type.

lto:
* lto-lang.c (lto_handle_option): Update prototype and return
value type.  Remove duplicate assignment to result.

From-SVN: r162601

14 years agore PR rtl-optimization/40956 (Constants are never candidates for hoisting)
Maxim Kuvyrkov [Tue, 27 Jul 2010 21:06:31 +0000 (21:06 +0000)]
re PR rtl-optimization/40956 (Constants are never candidates for hoisting)

PR rtl-optimization/40956
PR target/42495
PR middle-end/42574
* gcc.target/arm/pr40956.c, gcc.target/arm/pr42495.c,
* gcc.target/arm/pr42574.c: Add tests.

From-SVN: r162600

14 years agoarm.c (params.h): Include.
Maxim Kuvyrkov [Tue, 27 Jul 2010 19:50:08 +0000 (19:50 +0000)]
arm.c (params.h): Include.

* config/arm/arm.c (params.h): Include.
(arm_override_options): Tune gcse-unrestricted-cost.
* config/arm/t-arm (arm.o): Define dependencies.

From-SVN: r162598

14 years agore PR target/42495 (redundant memory load)
Maxim Kuvyrkov [Tue, 27 Jul 2010 19:48:15 +0000 (19:48 +0000)]
re PR target/42495 (redundant memory load)

PR target/42495
PR middle-end/42574
* basic-block.h (get_dominated_to_depth): Declare.
* dominance.c (get_dominated_to_depth): New function, use
get_all_dominated_blocks as a base.
(get_all_dominated_blocks): Use get_dominated_to_depth.

* gcse.c (occr_t, VEC (occr_t, heap)): Define.
(hoist_exprs): Remove.
(alloc_code_hoist_mem, free_code_hoist_mem): Update.
(compute_code_hoist_vbeinout): Add debug print outs.
(hoist_code): Partially rewrite, simplify.  Use get_dominated_to_depth.

* params.def (PARAM_MAX_HOIST_DEPTH): New parameter to avoid
quadratic behavior.
* params.h (MAX_HOIST_DEPTH): New macro.
* doc/invoke.texi (max-hoist-depth): Document.

From-SVN: r162597

14 years agore PR rtl-optimization/40956 (Constants are never candidates for hoisting)
Maxim Kuvyrkov [Tue, 27 Jul 2010 19:46:26 +0000 (19:46 +0000)]
re PR rtl-optimization/40956 (Constants are never candidates for hoisting)

PR rtl-optimization/40956
* config/arm/arm.c (thumb1_size_rtx_costs): Fix cost of simple
constants.

From-SVN: r162596

14 years agore PR target/42495 (redundant memory load)
Maxim Kuvyrkov [Tue, 27 Jul 2010 19:44:51 +0000 (19:44 +0000)]
re PR target/42495 (redundant memory load)

PR target/42495
PR middle-end/42574
* config/arm/arm.c (legitimize_pic_address): Use
gen_calculate_pic_address pattern to emit calculation of PIC address.
(will_be_in_index_register): New function.
(arm_legitimate_address_outer_p, thumb2_legitimate_address_p,)
(thumb1_legitimate_address_p): Use it provided !strict_p.
* config/arm/arm.md (calculate_pic_address): New expand and split.

From-SVN: r162595

14 years agore PR target/42495 (redundant memory load)
Maxim Kuvyrkov [Tue, 27 Jul 2010 19:42:15 +0000 (19:42 +0000)]
re PR target/42495 (redundant memory load)

PR target/42495
PR middle-end/42574
* config/arm/arm.c (thumb1_size_rtx_costs): Add cost for "J" constants.
* config/arm/arm.md (define_split "J", define_split "K"): Make
IRA/reload friendly.

From-SVN: r162594

14 years agogcse.c (insert_insn_end_basic_block): Update signature, remove unused checks.
Maxim Kuvyrkov [Tue, 27 Jul 2010 19:39:15 +0000 (19:39 +0000)]
gcse.c (insert_insn_end_basic_block): Update signature, remove unused checks.

* gcse.c (insert_insn_end_basic_block): Update signature, remove
unused checks.
(pre_edge_insert, hoist_code): Update.

From-SVN: r162593

14 years agore PR target/42495 (redundant memory load)
Maxim Kuvyrkov [Tue, 27 Jul 2010 19:38:10 +0000 (19:38 +0000)]
re PR target/42495 (redundant memory load)

PR target/42495
PR middle-end/42574
* gcse.c (hoist_expr_reaches_here_p): Remove excessive check.

From-SVN: r162592

14 years ago* gcse.c (hoist_code): Generate new pseudo for every new set insn.
Maxim Kuvyrkov [Tue, 27 Jul 2010 19:36:31 +0000 (19:36 +0000)]
* gcse.c (hoist_code): Generate new pseudo for every new set insn.

From-SVN: r162591

14 years agore PR rtl-optimization/40956 (Constants are never candidates for hoisting)
Maxim Kuvyrkov [Tue, 27 Jul 2010 19:34:55 +0000 (19:34 +0000)]
re PR rtl-optimization/40956 (Constants are never candidates for hoisting)

PR rtl-optimization/40956
PR target/42495
PR middle-end/42574
* gcse.c (compute_code_hoist_vbeinout): Consider more expressions
for hoisting.
(hoist_code): Count occurences in current block too.

From-SVN: r162590

14 years agogcse.c (struct expr:max_distance): New field.
Maxim Kuvyrkov [Tue, 27 Jul 2010 19:29:48 +0000 (19:29 +0000)]
gcse.c (struct expr:max_distance): New field.

* gcse.c (struct expr:max_distance): New field.
(doing_code_hoisting_p): New static variable.
(want_to_gcse_p): Change signature.  Allow constrained hoisting of
simple expressions, don't change behavior for PRE.  Set max_distance.
(insert_expr_in_table): Set new max_distance field.
(hash_scan_set): Update.
(hoist_expr_reaches_here_p): Stop search after max_distance
instructions.
(find_occr_in_bb): New static function.  Use it in ...
(hoist_code): Calculate sizes of basic block before any changes are
done.  Pass max_distance to hoist_expr_reaches_here_p.
(one_code_hoisting_pass): Set doing_code_hoisting_p.

* params.def (PARAM_GCSE_COST_DISTANCE_RATIO,)
(PARAM_GCSE_UNRESTRICTED_COST): New parameters.
* params.h (GCSE_COST_DISTANCE_RATIO, GCSE_UNRESTRICTED_COST): New
macros.
* doc/invoke.texi (gcse-cost-distance-ratio, gcse-unrestricted-cost):
Document.

From-SVN: r162589

14 years agogcse.c (compute_transpout, transpout): Remove, move logic to prune_expressions.
Jeff Law [Tue, 27 Jul 2010 19:27:31 +0000 (13:27 -0600)]
gcse.c (compute_transpout, transpout): Remove, move logic to prune_expressions.

* gcse.c (compute_transpout, transpout): Remove, move logic
to prune_expressions.
(compute_pre_data): Move pruning of trapping expressions ...
(prune_expressions): ... here.  New static function.
(compute_code_hoist_data): Use it.
(alloc_code_hoist_mem, free_code_hoist_mem, hoist_code): Update.

Co-Authored-By: Maxim Kuvyrkov <maxim@codesourcery.com>
From-SVN: r162588

14 years agoadjusting iv update stmt position to enable inst combining. Regression tested on...
Xinliang David Li [Tue, 27 Jul 2010 19:23:39 +0000 (19:23 +0000)]
adjusting iv update stmt position to enable inst combining. Regression tested on x86-64/linux

From-SVN: r162587

14 years agodbgcnt.def (hoist_insn): New debug counter.
Maxim Kuvyrkov [Tue, 27 Jul 2010 19:12:21 +0000 (19:12 +0000)]
dbgcnt.def (hoist_insn): New debug counter.

* dbgcnt.def (hoist_insn): New debug counter.
* gcse.c (hoist_code): Use it.

From-SVN: r162586

14 years agoMultiple exit loop handling in ivopts. Regression tested on x86-64/linux
Xinliang David Li [Tue, 27 Jul 2010 18:18:25 +0000 (18:18 +0000)]
Multiple exit loop handling in ivopts. Regression tested on x86-64/linux

From-SVN: r162585

14 years ago* Fix extra brackets in my previous commit.
Uros Bizjak [Tue, 27 Jul 2010 18:10:34 +0000 (20:10 +0200)]
* Fix extra brackets in my previous commit.

From-SVN: r162584

14 years agogcc-dg.exp (cleanup-coverage-files): Remove options from test name.
Uros Bizjak [Tue, 27 Jul 2010 17:55:00 +0000 (19:55 +0200)]
gcc-dg.exp (cleanup-coverage-files): Remove options from test name.

* lib/gcc-dg.exp (cleanup-coverage-files): Remove options from
test name.
(cleanup-repo-files): Ditto.
(cleanup-saved-temps): Ditto.

From-SVN: r162583

14 years agore PR target/44542 (expand_one_stack_var_at may set DECL_ALIGN to a too high value)
Jakub Jelinek [Tue, 27 Jul 2010 17:54:32 +0000 (19:54 +0200)]
re PR target/44542 (expand_one_stack_var_at may set DECL_ALIGN to a too high value)

PR target/44542
* cfgexpand.c (expand_one_stack_var_at): Limit align to maximum
of max_used_stack_slot_alignment and PREFERRED_STACK_BOUNDARY
instead of MAX_SUPPORTED_STACK_ALIGNMENT.
(expand_one_var): Don't consider DECL_ALIGN for variables for
which expand_one_stack_var_at has been already called.

From-SVN: r162582

14 years agore PR testsuite/44701 (PR44492 fix broke gcc.target/powerpc/asm-es-2.c)
Jakub Jelinek [Tue, 27 Jul 2010 17:52:35 +0000 (19:52 +0200)]
re PR testsuite/44701 (PR44492 fix broke gcc.target/powerpc/asm-es-2.c)

PR testsuite/44701
* doc/md.texi: Clarify m and es constraints on PowerPC and m and S
constraints on IA-64.

* gcc.target/powerpc/asm-es-2.c (f2): Add <> constraints.

From-SVN: r162581

14 years agoacinclude.m4 ([GLIBCXX_COMPUTE_STDIO_INTEGER_CONSTANTS]): Fix messages.
Paolo Carlini [Tue, 27 Jul 2010 17:41:47 +0000 (17:41 +0000)]
acinclude.m4 ([GLIBCXX_COMPUTE_STDIO_INTEGER_CONSTANTS]): Fix messages.

2010-07-27  Paolo Carlini  <paolo.carlini@oracle.com>

* acinclude.m4 ([GLIBCXX_COMPUTE_STDIO_INTEGER_CONSTANTS]): Fix
messages.
* configure: Regenerate.

From-SVN: r162580

14 years agore PR target/44290 (__naked attribute is broken)
Jie Zhang [Tue, 27 Jul 2010 17:33:30 +0000 (17:33 +0000)]
re PR target/44290 (__naked attribute is broken)

PR target/44290
Revert
2010-07-23  Jie Zhang  <jie@codesourcery.com>
* tree-sra.c (ipa_sra_preliminary_function_checks): Return
false if ! tree_versionable_function_p.

From-SVN: r162579

14 years ago[multiple changes]
Paolo Carlini [Tue, 27 Jul 2010 17:27:06 +0000 (17:27 +0000)]
[multiple changes]

2010-07-27  Paolo Carlini  <paolo.carlini@oracle.com>

* include/ext/vstring_util.h: Include bits/range_access.h.
* testsuite/ext/vstring/range_access.cc: New test.

2010-07-27  Ed Smith-Rowland  <3dw4rd@verizon.net>

* include/bits/range_access.h: New.
* include/Makefile.in: Add bits/range_access.h.
* include/Makefile.am: Regenerate.
* include/std/array: Include bits/range_access.h.
* include/std/deque: Ditto.
* include/std/forward_list: Ditto.
* include/std/iterator: Ditto.
* include/std/list: Ditto.
* include/std/map: Ditto.
* include/std/regex: Ditto.
* include/std/set: Ditto.
* include/std/string: Ditto.
* include/std/unordered_map: Ditto.
* include/std/unordered_set: Ditto.
* include/std/vector: Ditto.
* include/std/valarray: Add begin() and end().
* libsupc++/initializer_list: Ditto.
* include/tr1_impl/utility: Add begin() and end().
* include/std/tuple: Ditto.
* testsuite/24_iterators/headers/iterator/range_access.cc: New test.
* testsuite/24_iterators/range_access.cc: Ditto.
* testsuite/28_regex/range_access.cc: Ditto.
* testsuite/18_support/initializer_list/range_access.cc: Ditto.
* testsuite/21_strings/basic_string/range_access.cc: Ditto.
* testsuite/26_numerics/valarray/range_access.cc: Ditto.
* testsuite/23_containers/unordered_map/range_access.cc: Ditto.
* testsuite/23_containers/multimap/range_access.cc: Ditto.
* testsuite/23_containers/set/range_access.cc: Ditto.
* testsuite/23_containers/unordered_multimap/range_access.cc: Ditto.
* testsuite/23_containers/forward_list/range_access.cc: Ditto.
* testsuite/23_containers/unordered_set/range_access.cc: Ditto.
* testsuite/23_containers/vector/range_access.cc: Ditto.
* testsuite/23_containers/deque/range_access.cc: Ditto.
* testsuite/23_containers/multiset/range_access.cc: Ditto.
* testsuite/23_containers/list/range_access.cc: Ditto.
* testsuite/23_containers/unordered_multiset/range_access.cc: Ditto.
* testsuite/23_containers/map/range_access.cc: Ditto.
* testsuite/23_containers/array/range_access.cc: Ditto.
* testsuite/20_util/tuple/range_access.cc: Ditto.
* testsuite/20_util/pair/range_access.cc: Ditto.

From-SVN: r162578

14 years agodwarf2out.c (add_data_member_location_attribute): Use add_AT_unsigned instead of...
Jakub Jelinek [Tue, 27 Jul 2010 15:47:43 +0000 (17:47 +0200)]
dwarf2out.c (add_data_member_location_attribute): Use add_AT_unsigned instead of add_AT_int if offset is non-negative.

* dwarf2out.c (add_data_member_location_attribute): Use
add_AT_unsigned instead of add_AT_int if offset is non-negative.

From-SVN: r162576

14 years agore PR c/45079 (function names in error message (�c_maybe_const_expr� not supported...
Jakub Jelinek [Tue, 27 Jul 2010 15:46:25 +0000 (17:46 +0200)]
re PR c/45079 (function names in error message (�c_maybe_const_expr� not supported by 'pp_c_expression'))

PR c/45079
* c-pretty-print.c (pp_c_expression): Handle C_MAYBE_CONST_EXPR.

* gcc.dg/pr45079.c: New test.

From-SVN: r162575

14 years agopostreload.c (try_replace_in_use): New static function.
Bernd Schmidt [Tue, 27 Jul 2010 15:20:14 +0000 (15:20 +0000)]
postreload.c (try_replace_in_use): New static function.

* postreload.c (try_replace_in_use): New static function.
(reload_combine_recognize_const_pattern): Use it here.  Allow
substituting into a final add insn, and substituting into a memory
reference in an insn that sets the reg.

From-SVN: r162573

14 years agocommon.opt (o): Add MissingArgError.
Joseph Myers [Tue, 27 Jul 2010 14:43:31 +0000 (15:43 +0100)]
common.opt (o): Add MissingArgError.

* common.opt (o): Add MissingArgError.
* doc/options.texi (MissingArgError): Document.
* hooks.c (hook_bool_constcharptr_size_t_false): Remove.
* hooks.h (hook_bool_constcharptr_size_t_false): Remove.
* langhooks-def.h (LANG_HOOKS_MISSING_ARGUMENT): Remove.
(LANG_HOOKS_INITIALIZER): Remove missing_argument hook
initializer.
* langhooks.h (struct lang_hooks): Remove missing_argument.
* optc-gen.awk: Handle MissingArgError and output new structure
field initializers.
* opts.c (read_cmdline_option): Use missing_argument_error field
instead of missing_argument langhook.
* opts.h (struct cl_option): Add missing_argument_error field.
* system.h (LANG_HOOKS_MISSING_ARGUMENT): Poison.

c-family:
* c-common.h (c_common_missing_argument): Remove.
* c-opts.c (c_common_missing_argument): Remove.
* c.opt (A, D, F, I, MD, MMD, MQ, MT, U, fconstant-string-class=,
idirafter, imacros, include, isysroot, isystem, iquote): Add
MissingArgError.
* c-objc-common.h (LANG_HOOKS_MISSING_ARGUMENT): Remove.

cp:
* cp-objcp-common.h (LANG_HOOKS_MISSING_ARGUMENT): Remove.

po:
* exgettext: Also extract MissingArgError texts from .opt files.

From-SVN: r162571

14 years agoadd missing changelog
Iain Sandoe [Tue, 27 Jul 2010 13:31:14 +0000 (13:31 +0000)]
add missing changelog

From-SVN: r162569