OSDN Git Service
uweigand [Sat, 31 Jul 2010 17:42:48 +0000 (17:42 +0000)]
Move PR c++/45112 ChangeLog entry to correct location.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162785
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Sat, 31 Jul 2010 15:51:17 +0000 (15:51 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162784
138bc75d-0d04-0410-961f-
82ee72b054a4
rearnsha [Sat, 31 Jul 2010 14:27:53 +0000 (14:27 +0000)]
John Tytgat <John.Tytgat@aaug.net>
* config/arm/arm.c (arm_function_arg): Remove superfluous test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162782
138bc75d-0d04-0410-961f-
82ee72b054a4
aesok [Sat, 31 Jul 2010 12:07:14 +0000 (12:07 +0000)]
* config/spu/spu.h (ASM_OUTPUT_SOURCE_FILENAME): Remove macro.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162779
138bc75d-0d04-0410-961f-
82ee72b054a4
mikael [Sat, 31 Jul 2010 10:27:36 +0000 (10:27 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162776
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Sat, 31 Jul 2010 09:33:19 +0000 (09:33 +0000)]
* config/i386/i386.md (mov<SWIM:mode>cc and corresponding splitter):
Use ordered_comparison_operator predicate for operator1.
(add<mode>cc): ditto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162775
138bc75d-0d04-0410-961f-
82ee72b054a4
dj [Sat, 31 Jul 2010 02:32:08 +0000 (02:32 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162731
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Sat, 31 Jul 2010 00:17:24 +0000 (00:17 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162730
138bc75d-0d04-0410-961f-
82ee72b054a4
bernds [Fri, 30 Jul 2010 23:50:00 +0000 (23:50 +0000)]
* rtlanal.c (simplify_subreg_regno): Don't treat
HARD_FRAME_POINTER_REGNUM specially.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162726
138bc75d-0d04-0410-961f-
82ee72b054a4
janus [Fri, 30 Jul 2010 17:50:28 +0000 (17:50 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162724
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Fri, 30 Jul 2010 17:04:37 +0000 (17:04 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162721
138bc75d-0d04-0410-961f-
82ee72b054a4
davidxl [Fri, 30 Jul 2010 16:44:24 +0000 (16:44 +0000)]
fix test
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162720
138bc75d-0d04-0410-961f-
82ee72b054a4
mikael [Fri, 30 Jul 2010 16:41:55 +0000 (16:41 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162719
138bc75d-0d04-0410-961f-
82ee72b054a4
aesok [Fri, 30 Jul 2010 16:33:10 +0000 (16:33 +0000)]
* config/mmix/mmix.c: Include basic-block.h.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162718
138bc75d-0d04-0410-961f-
82ee72b054a4
uweigand [Fri, 30 Jul 2010 15:49:34 +0000 (15:49 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162716
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Fri, 30 Jul 2010 14:36:56 +0000 (14:36 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162714
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Fri, 30 Jul 2010 13:06:04 +0000 (13:06 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162710
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Fri, 30 Jul 2010 11:01:22 +0000 (11:01 +0000)]
2010-07-30 Richard Guenther <rguenther@suse.de>
PR middle-end/45141
* expr.c (expand_expr_real_1): Check for not handled base address.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162709
138bc75d-0d04-0410-961f-
82ee72b054a4
aph [Fri, 30 Jul 2010 10:49:36 +0000 (10:49 +0000)]
2010-07-30 Andrew Haley <aph@redhat.com>
* javax/print/attribute/standard/JobStateReasons.java (add): Fix
infinite recursion with call to super.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162708
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Fri, 30 Jul 2010 09:36:18 +0000 (09:36 +0000)]
2010-07-30 Richard Guenther <rguenther@suse.de>
* ipa-prop.c (ipa_modify_formal_parameters): Use
build_distinct_type_copy.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162707
138bc75d-0d04-0410-961f-
82ee72b054a4
green [Fri, 30 Jul 2010 07:14:59 +0000 (07:14 +0000)]
Add moxie-rtems configuration.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162706
138bc75d-0d04-0410-961f-
82ee72b054a4
amodra [Fri, 30 Jul 2010 06:56:17 +0000 (06:56 +0000)]
Tolerate half-hour timezones.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162705
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Fri, 30 Jul 2010 00:17:44 +0000 (00:17 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162701
138bc75d-0d04-0410-961f-
82ee72b054a4
bernds [Thu, 29 Jul 2010 23:48:24 +0000 (23:48 +0000)]
* dce.c (run_word_dce): Take flag_dce into account. Clear and restore
df flags as in run_fast_df_dce.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162697
138bc75d-0d04-0410-961f-
82ee72b054a4
burnus [Thu, 29 Jul 2010 21:07:34 +0000 (21:07 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162696
138bc75d-0d04-0410-961f-
82ee72b054a4
janus [Thu, 29 Jul 2010 20:58:57 +0000 (20:58 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162695
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Thu, 29 Jul 2010 19:48:03 +0000 (19:48 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162692
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Thu, 29 Jul 2010 19:47:02 +0000 (19:47 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162691
138bc75d-0d04-0410-961f-
82ee72b054a4
janus [Thu, 29 Jul 2010 18:14:16 +0000 (18:14 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162688
138bc75d-0d04-0410-961f-
82ee72b054a4
davidxl [Thu, 29 Jul 2010 17:20:05 +0000 (17:20 +0000)]
fix PR45121
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162687
138bc75d-0d04-0410-961f-
82ee72b054a4
jamborm [Thu, 29 Jul 2010 15:30:40 +0000 (15:30 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162686
138bc75d-0d04-0410-961f-
82ee72b054a4
hjl [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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162683
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Thu, 29 Jul 2010 13:50:00 +0000 (13:50 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162682
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Thu, 29 Jul 2010 13:45:47 +0000 (13:45 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162681
138bc75d-0d04-0410-961f-
82ee72b054a4
bernds [Thu, 29 Jul 2010 12:39:57 +0000 (12:39 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162678
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Thu, 29 Jul 2010 12:31:29 +0000 (12:31 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162677
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Thu, 29 Jul 2010 12:30:09 +0000 (12:30 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162676
138bc75d-0d04-0410-961f-
82ee72b054a4
mikael [Thu, 29 Jul 2010 11:22:40 +0000 (11:22 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162674
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Thu, 29 Jul 2010 10:59:54 +0000 (10:59 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162673
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Thu, 29 Jul 2010 09:45:08 +0000 (09:45 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162672
138bc75d-0d04-0410-961f-
82ee72b054a4
domob [Thu, 29 Jul 2010 09:06:53 +0000 (09:06 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162670
138bc75d-0d04-0410-961f-
82ee72b054a4
irar [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,
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).
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162668
138bc75d-0d04-0410-961f-
82ee72b054a4
jvdelisle [Thu, 29 Jul 2010 01:32:23 +0000 (01:32 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162667
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Thu, 29 Jul 2010 00:17:14 +0000 (00:17 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162666
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Wed, 28 Jul 2010 20:02:56 +0000 (20:02 +0000)]
2010-07-28 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/45096
* g++.dg/cpp0x/auto3.C: Tweak dg-error string.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162657
138bc75d-0d04-0410-961f-
82ee72b054a4
meissner [Wed, 28 Jul 2010 19:58:38 +0000 (19:58 +0000)]
Add power6 copysign/parity support
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162656
138bc75d-0d04-0410-961f-
82ee72b054a4
davidxl [Wed, 28 Jul 2010 19:13:11 +0000 (19:13 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162653
138bc75d-0d04-0410-961f-
82ee72b054a4
ktietz [Wed, 28 Jul 2010 18:00:09 +0000 (18:00 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162651
138bc75d-0d04-0410-961f-
82ee72b054a4
mikael [Wed, 28 Jul 2010 17:33:37 +0000 (17:33 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162649
138bc75d-0d04-0410-961f-
82ee72b054a4
domob [Wed, 28 Jul 2010 17:06:40 +0000 (17:06 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162648
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Wed, 28 Jul 2010 17:01:05 +0000 (17:01 +0000)]
PR debug/45105
* gcse.c (hoist_code): Use FOR_BB_INSNS macro.
* gcc.dg/pr45105.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162647
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Wed, 28 Jul 2010 17:00:06 +0000 (17:00 +0000)]
PR debug/45103
* dwarf2out.c (dwarf2out_var_location): Always consider
NOTE_DURING_CALL_P notes, even when not followed by real instructions.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162646
138bc75d-0d04-0410-961f-
82ee72b054a4
mkuvyrkov [Wed, 28 Jul 2010 16:50:14 +0000 (16:50 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162645
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Wed, 28 Jul 2010 16:03:09 +0000 (16:03 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162638
138bc75d-0d04-0410-961f-
82ee72b054a4
cltang [Wed, 28 Jul 2010 15:40:58 +0000 (15:40 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162637
138bc75d-0d04-0410-961f-
82ee72b054a4
dyuste [Wed, 28 Jul 2010 15:23:55 +0000 (15:23 +0000)]
* MAINTAINERS (Write After Approval): Add myself.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162636
138bc75d-0d04-0410-961f-
82ee72b054a4
iains [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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162635
138bc75d-0d04-0410-961f-
82ee72b054a4
ak [Wed, 28 Jul 2010 14:30:45 +0000 (14:30 +0000)]
* lto-opts.c (lto_file_read_options): Add loop over all inputs.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162633
138bc75d-0d04-0410-961f-
82ee72b054a4
ak [Wed, 28 Jul 2010 14:06:45 +0000 (14:06 +0000)]
* Make-lang.in (lto.o): Add dependency to splay-tree.h
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162632
138bc75d-0d04-0410-961f-
82ee72b054a4
ak [Wed, 28 Jul 2010 14:05:59 +0000 (14:05 +0000)]
Add Changelog too
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162631
138bc75d-0d04-0410-961f-
82ee72b054a4
ak [Wed, 28 Jul 2010 14:05:39 +0000 (14:05 +0000)]
* lto-plugin.c (translate): Remove debug fprintf.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162630
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Wed, 28 Jul 2010 10:32:54 +0000 (10:32 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162624
138bc75d-0d04-0410-961f-
82ee72b054a4
mkuvyrkov [Wed, 28 Jul 2010 10:32:10 +0000 (10:32 +0000)]
PR rtl-optimization/45101
* gcc.dg/pr45101.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162623
138bc75d-0d04-0410-961f-
82ee72b054a4
mkuvyrkov [Wed, 28 Jul 2010 10:09:53 +0000 (10:09 +0000)]
PR rtl-optimization/45101
* gcse.c (hash_scan_set): Fix argument ordering of insert_expr_in_table
for gcse-las.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162622
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Wed, 28 Jul 2010 10:03:00 +0000 (10:03 +0000)]
PR tree-optimization/44885
* tree-sra.c (find_param_candidates): Skip pointer types to arrays
with non-aliased component.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162621
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Wed, 28 Jul 2010 09:36:21 +0000 (09:36 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162620
138bc75d-0d04-0410-961f-
82ee72b054a4
burnus [Wed, 28 Jul 2010 08:44:29 +0000 (08:44 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162619
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Wed, 28 Jul 2010 07:44:34 +0000 (07:44 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162618
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Wed, 28 Jul 2010 05:23:28 +0000 (05:23 +0000)]
Fix typos
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162617
138bc75d-0d04-0410-961f-
82ee72b054a4
davidxl [Wed, 28 Jul 2010 05:08:24 +0000 (05:08 +0000)]
Fix to expose more LIM when creating mem_ref
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162616
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Wed, 28 Jul 2010 00:17:01 +0000 (00:17 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162615
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Tue, 27 Jul 2010 22:06:03 +0000 (22:06 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162603
138bc75d-0d04-0410-961f-
82ee72b054a4
bernds [Tue, 27 Jul 2010 21:52:39 +0000 (21:52 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162602
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Tue, 27 Jul 2010 21:23:53 +0000 (21:23 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162601
138bc75d-0d04-0410-961f-
82ee72b054a4
mkuvyrkov [Tue, 27 Jul 2010 21:06:31 +0000 (21:06 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162600
138bc75d-0d04-0410-961f-
82ee72b054a4
mkuvyrkov [Tue, 27 Jul 2010 19:50:08 +0000 (19:50 +0000)]
* config/arm/arm.c (params.h): Include.
(arm_override_options): Tune gcse-unrestricted-cost.
* config/arm/t-arm (arm.o): Define dependencies.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162598
138bc75d-0d04-0410-961f-
82ee72b054a4
mkuvyrkov [Tue, 27 Jul 2010 19:48:15 +0000 (19:48 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162597
138bc75d-0d04-0410-961f-
82ee72b054a4
mkuvyrkov [Tue, 27 Jul 2010 19:46:26 +0000 (19:46 +0000)]
PR rtl-optimization/40956
* config/arm/arm.c (thumb1_size_rtx_costs): Fix cost of simple
constants.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162596
138bc75d-0d04-0410-961f-
82ee72b054a4
mkuvyrkov [Tue, 27 Jul 2010 19:44:51 +0000 (19:44 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162595
138bc75d-0d04-0410-961f-
82ee72b054a4
mkuvyrkov [Tue, 27 Jul 2010 19:42:15 +0000 (19:42 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162594
138bc75d-0d04-0410-961f-
82ee72b054a4
mkuvyrkov [Tue, 27 Jul 2010 19:39:15 +0000 (19:39 +0000)]
* gcse.c (insert_insn_end_basic_block): Update signature, remove
unused checks.
(pre_edge_insert, hoist_code): Update.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162593
138bc75d-0d04-0410-961f-
82ee72b054a4
mkuvyrkov [Tue, 27 Jul 2010 19:38:10 +0000 (19:38 +0000)]
PR target/42495
PR middle-end/42574
* gcse.c (hoist_expr_reaches_here_p): Remove excessive check.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162592
138bc75d-0d04-0410-961f-
82ee72b054a4
mkuvyrkov [Tue, 27 Jul 2010 19:36:31 +0000 (19:36 +0000)]
* gcse.c (hoist_code): Generate new pseudo for every new set insn.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162591
138bc75d-0d04-0410-961f-
82ee72b054a4
mkuvyrkov [Tue, 27 Jul 2010 19:34:55 +0000 (19:34 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162590
138bc75d-0d04-0410-961f-
82ee72b054a4
mkuvyrkov [Tue, 27 Jul 2010 19:29:48 +0000 (19:29 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162589
138bc75d-0d04-0410-961f-
82ee72b054a4
mkuvyrkov [Tue, 27 Jul 2010 19:27:31 +0000 (19:27 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162588
138bc75d-0d04-0410-961f-
82ee72b054a4
davidxl [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
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162587
138bc75d-0d04-0410-961f-
82ee72b054a4
mkuvyrkov [Tue, 27 Jul 2010 19:12:21 +0000 (19:12 +0000)]
* dbgcnt.def (hoist_insn): New debug counter.
* gcse.c (hoist_code): Use it.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162586
138bc75d-0d04-0410-961f-
82ee72b054a4
davidxl [Tue, 27 Jul 2010 18:18:25 +0000 (18:18 +0000)]
Multiple exit loop handling in ivopts. Regression tested on x86-64/linux
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162585
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Tue, 27 Jul 2010 18:10:34 +0000 (18:10 +0000)]
* Fix extra brackets in my previous commit.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162584
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Tue, 27 Jul 2010 17:55:00 +0000 (17:55 +0000)]
* lib/gcc-dg.exp (cleanup-coverage-files): Remove options from
test name.
(cleanup-repo-files): Ditto.
(cleanup-saved-temps): Ditto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162583
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Tue, 27 Jul 2010 17:54:32 +0000 (17:54 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162582
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Tue, 27 Jul 2010 17:52:35 +0000 (17:52 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162581
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Tue, 27 Jul 2010 17:41:47 +0000 (17:41 +0000)]
2010-07-27 Paolo Carlini <paolo.carlini@oracle.com>
* acinclude.m4 ([GLIBCXX_COMPUTE_STDIO_INTEGER_CONSTANTS]): Fix
messages.
* configure: Regenerate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162580
138bc75d-0d04-0410-961f-
82ee72b054a4
jiez [Tue, 27 Jul 2010 17:33:30 +0000 (17:33 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162579
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Tue, 27 Jul 2010 17:27:06 +0000 (17:27 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162578
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Tue, 27 Jul 2010 15:47:43 +0000 (15:47 +0000)]
* dwarf2out.c (add_data_member_location_attribute): Use
add_AT_unsigned instead of add_AT_int if offset is non-negative.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162576
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Tue, 27 Jul 2010 15:46:25 +0000 (15:46 +0000)]
PR c/45079
* c-pretty-print.c (pp_c_expression): Handle C_MAYBE_CONST_EXPR.
* gcc.dg/pr45079.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162575
138bc75d-0d04-0410-961f-
82ee72b054a4
bernds [Tue, 27 Jul 2010 15:20:14 +0000 (15:20 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162573
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Tue, 27 Jul 2010 14:43:31 +0000 (14:43 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162571
138bc75d-0d04-0410-961f-
82ee72b054a4