1. 31 Jul, 2010 8 commits
  2. 30 Jul, 2010 15 commits
  3. 29 Jul, 2010 17 commits
    • dce.c (run_word_dce): Take flag_dce into account. · 25aef556
      	* dce.c (run_word_dce): Take flag_dce into account.  Clear and restore
      	df flags as in run_fast_df_dce.
      
      From-SVN: r162697
      Bernd Schmidt committed
    • re PR fortran/45087 (-fwhole-program: Miscompiled due to wrong decls) · 6a018495
      2010-07-29  Tobias Burnus  <burnus@net-b.de>
      
              PR fortran/45087
              PR fortran/45125
              * trans-decl.c (gfc_get_extern_function_decl): Correctly handle
              external procedure declarations in modules.
              (gfc_get_symbol_decl): Modify assert.
      
      2010-07-29  Tobias Burnus  <burnus@net-b.de>
      
              PR fortran/45087
              PR fortran/45125
              * gfortran.dg/whole_file_25.f90: New.
              * gfortran.dg/whole_file_26.f90: New.
              * gfortran.dg/whole_file_27.f90: New.
      
      From-SVN: r162696
      Tobias Burnus committed
    • re PR fortran/44962 ([OOP] ICE with specification expression SIZE(<CLASS>)) · 6a68e29d
      2010-07-29  Janus Weil  <janus@gcc.gnu.org>
      
      	PR fortran/44962
      	* resolve.c (resolve_fl_derived): Call gfc_resolve_array_spec.
      
      
      2010-07-29  Janus Weil  <janus@gcc.gnu.org>
      
      	PR fortran/44962
      	* gfortran.dg/typebound_proc_17.f03: New.
      
      From-SVN: r162695
      Janus Weil committed
    • revert: rtl.def (NOTE): Swap operands 4 and 5. · 0f953f83
      	Revert:
      	* rtl.def (NOTE): Swap operands 4 and 5.
              * rtl.h (NOTE_DATA, NOTE_DELETED_LABEL_NAME, NOTE_BLOCK,
      	NOTE_EH_HANDLER, NOTE_BASIC_BLOCK, NOTE_VAR_LOCATION, NOTE_KIND):
      	Adjust accordingly.
              * gengtype.c (adjust_field_rtx_def): Swap operands 4 and 5 of NOTEs.
      
      From-SVN: r162692
      Jakub Jelinek committed
    • re PR debug/45110 (GCC does not emit DW_AT_object_pointer) · 8b522bef
      	PR debug/45110
      	* dwarf2out.c (dwarf_attr_name): Handle DW_AT_object_pointer.
      	(gen_formal_types_die): Add DW_AT_object_pointer in methods.
      	(gen_subprogram_die): Likewise.  Remove it when removing declaration's
      	formal parameters.
      	(gen_decl_die): Change return type to dw_die_ref, return what
      	gen_formal_parameter_die returned.
      
      From-SVN: r162691
      Jakub Jelinek committed
    • re PR fortran/45004 ([OOP] Segfault with allocatable scalars and move_alloc) · b2a5eb75
      2010-07-29  Janus Weil  <janus@gcc.gnu.org>
      
      	PR fortran/45004
      	* trans-stmt.h (gfc_trans_class_init_assign): New prototype.
      	(gfc_trans_class_assign): Modified prototype.
      	* trans.h (gfc_conv_intrinsic_move_alloc): New prototype.
      	* trans-expr.c (gfc_trans_class_init_assign): Split off from ...
      	(gfc_trans_class_assign): ... here. Modified actual arguments.
      	* trans-intrinsic.c (gfc_conv_intrinsic_move_alloc): New function to
      	handle the MOVE_ALLOC intrinsic with scalar and class arguments.
      	* trans.c (trans_code): Call 'gfc_conv_intrinsic_move_alloc'.
      
      
      2010-07-29  Janus Weil  <janus@gcc.gnu.org>
      
      	PR fortran/45004
      	* gfortran.dg/move_alloc_2.f90: New.
      
      From-SVN: r162688
      Janus Weil committed
    • fix PR45121 · a3378cea
      From-SVN: r162687
      Xinliang David Li committed
    • dbgcnt.def (eipa_sra): New counter. · a1a6c2df
      2010-07-29  Martin Jambor  <mjambor@suse.cz>
      
      	* dbgcnt.def (eipa_sra): New counter.
      	* tree-sra.c (ipa_early_sra_gate): Also check eipa_sra debug counter.
      
      From-SVN: r162686
      Martin Jambor committed
    • Revert change in revision 162652. · 0c5bb946
      2010-07-29  Xinliang David Li  <davidxl@google.com>
      
      	PR bootstrap/45119
      	* tree-ssa-loop-ivopts.c (get_address_cost): Revert change
      	in revision 162652.
      
      From-SVN: r162683
      Xinliang David Li committed
    • timevar.def (TV_TREE_STORE_COPY_PROP): Remove. · 2c2fbff7
      2010-07-29  Richard Guenther  <rguenther@suse.de>
      
      	* timevar.def (TV_TREE_STORE_COPY_PROP): Remove.
      	(TV_TREE_STORE_CCP): Likewise.
      	(TV_TREE_REDPHI): Likewise.
      
      From-SVN: r162682
      Richard Guenther committed
    • double-int.h (double_int_and_not): New function. · 950f7f45
      2010-07-28  Richard Guenther  <rguenther@suse.de>
      
      	* double-int.h (double_int_and_not): New function.
      	* combine.c (try_combine): Use it.
      	* tree-vrp.c (simplify_bit_ops_using_ranges): Likewise.
      
      From-SVN: r162681
      Richard Guenther committed
    • re PR rtl-optimization/42575 (arm-eabi-gcc 64-bit multiply weirdness) · 8d074192
      	PR rtl-optimization/42575
      	* dce.c (word_dce_process_block): Renamed from byte_dce_process_block.
      	Argument AU removed.  All callers changed.  Ignore artificial refs.
      	Use return value of df_word_lr_simulate_defs to decide whether an insn
      	is necessary.
      	(fast_dce): Rename arg to WORD_LEVEL.
      	(run_word_dce): Renamed from rest_of_handle_fast_byte_dce.  No longer
      	static.
      	(pass_fast_rtl_byte_dce): Delete.
      	* dce.h (run_word_dce): Declare.
      	* df-core.c (df_print_word_regset): Renamed from df_print_byteregset.
      	All callers changed.  Simplify code to only deal with two-word regs.
      	* df.h (DF_WORD_LR): Renamed from DF_BYTE_LR.
      	(DF_WORD_LR_BB_INFO): Renamed from DF_BYTE_LR_BB_INFO.
      	(DF_WORD_LR_IN): Renamed from DF_BYTE_LR_IN.
      	(DF_WORD_LR_OUT): Renamed from DF_BYTE_LR_OUT.
      	(struct df_word_lr_bb_info): Renamed from df_byte_lr_bb_info.
      	(df_word_lr_mark_ref): Declare.
      	(df_word_lr_add_problem, df_word_lr_mark_ref, df_word_lr_simulate_defs,
      	df_word_lr_simulate_uses): Declare or rename from byte variants.
      	(df_byte_lr_simulate_artificial_refs_at_top,
      	df_byte_lr_simulate_artificial_refs_at_end, df_byte_lr_get_regno_start,
      	df_byte_lr_get_regno_len, df_compute_accessed_bytes): Delete
      	declarations.
      	(df_word_lr_get_bb_info): Rename from df_byte_lr_get_bb_info.
      	(enum df_mm): Delete.
      	* df-byte-scan.c: Delete file.
      	* df-problems.c (df_word_lr_problem_data): Renamed from
      	df_byte_lr_problem_data, all members deleted except for
      	WORD_LR_BITMAPS, which is renamed from BYTE_LR_BITMAPS.  Uses changed.
      	(df_word_lr_expand_bitmap, df_byte_lr_simulate_artificial_refs_at_top,
      	df_byte_lr_simulate_artificial_refs_at_end, df_byte_lr_get_regno_start,
      	df_byte_lr_get_regno_len, df_byte_lr_check_regs,
      	df_byte_lr_confluence_0): Delete functions.
      	(df_word_lr_free_bb_info): Renamed from df_byte_lr_free_bb_info; all
      	callers changed.
      	(df_word_lr_alloc): Renamed from df_byte_lr_alloc; all callers changed.
      	Don't initialize members that were deleted, don't try to discover data
      	about registers.  Ignore hard regs.
      	(df_word_lr_reset): Renamed from df_byte_lr_reset; all callers changed.
      	(df_word_lr_mark_ref): New function.
      	(df_word_lr_bb_local_compute): Renamed from
      	df_byte_bb_lr_local_compute; all callers changed.  Use
      	df_word_lr_mark_ref.  Assert that artificial refs don't include
      	pseudos.  Ignore hard registers.
      	(df_word_lr_local_compute): Renamed from df_byte_lr_local_compute.
      	Assert that exit block uses don't contain pseudos.
      	(df_word_lr_init): Renamed from df_byte_lr_init; all callers changed.
      	(df_word_lr_confluence_n): Renamed from df_byte_lr_confluence_n; all
      	callers changed.  Ignore hard regs.
      	(df_word_lr_transfer_function): Renamed from
      	df_byte_lr_transfer_function; all callers changed.
      	(df_word_lr_free): Renamed from df_byte_lr_free; all callers changed.
      	(df_word_lr_top_dump): Renamed from df_byte_lr_top_dump; all callers
      	changed.
      	(df_word_lr_bottom_dump): Renamed from df_byte_lr_bottom_dump; all
      	callers changed.
      	(problem_WORD_LR): Renamed from problem_BYTE_LR; uses changed;
      	confluence operator 0 set to NULL.
      	(df_word_lr_add_problem): Renamed from df_byte_lr_add_problem; all
      	callers changed.
      	(df_word_lr_simulate_defs): Renamed from df_byte_lr_simulate_defs.
      	Return bool, true if bitmap changed or insn otherwise necessary.
      	All callers changed.  Simplify using df_word_lr_mark_ref.
      	(df_word_lr_simulate_uses): Renamed from df_byte_lr_simulate_uses;
      	all callers changed.  Simplify using df_word_lr_mark_ref.
      	* lower-subreg.c: Include "dce.h"
      	(decompose_multiword_subregs): Call run_word_dce if df available.
      	* Makefile.in (lower-subreg.o): Adjust dependencies.
      	(df-byte-scan.o): Delete.
      	* timevar.def (TV_DF_WORD_LR): Renamed from TV_DF_BYTE_LR.
      
      From-SVN: r162678
      Bernd Schmidt committed
    • tree.c (build_vector): Assert that the vector constant has enough elements. · 9b638c03
      2010-07-29  Richard Guenther  <rguenther@suse.de>
      
      	* tree.c (build_vector): Assert that the vector constant
      	has enough elements.
      	(build_vector_from_ctor): Pad with trailing zeros.
      
      From-SVN: r162677
      Richard Guenther committed
    • re PR tree-optimization/45120 (-fipa-pta causes FAIL:… · 1c09321c
      re PR tree-optimization/45120 (-fipa-pta causes FAIL: gcc.c-torture/execute/pta-field-2.c execution)
      
      2010-07-29  Richard Guenther  <rguenther@suse.de>
      
      	PR tree-optimization/45120
      	* tree-ssa-structalias.c (get_constraint_for_component_ref):
      	Handle offset in DEREFs properly.
      	(get_constraint_for_1): Handle MEM_REF offset properly.
      
      	* gcc.dg/ipa/ipa-pta-15.c: New testcase.
      
      From-SVN: r162676
      Richard Guenther committed
    • re PR fortran/42051 ([OOP] ICE on array-valued function with CLASS formal argument) · 81fb8a48
      2010-07-29  Mikael Morin  <mikael@gcc.gnu.org>
      
      	PR fortran/42051
      	PR fortran/44064
      	* class.c (gfc_find_derived_vtab): Accept or discard newly created
      	symbols before returning.
      
      2010-07-29  Mikael Morin  <mikael@gcc.gnu.org>
      
      	PR fortran/42051
      	PR fortran/44064
      	* gfortran.dg/pr42051.f03: New testcase.
      
      From-SVN: r162674
      Mikael Morin committed
    • re PR tree-optimization/45034 ("safe" conversion from unsigned to signed char gives broken code) · 6befd6b0
      2010-07-29  Richard Guenther  <rguenther@suse.de>
      
      	PR middle-end/45034
      	* convert.c (convert_to_integer): Always use an unsigned
      	type for narrowed negate and bitwise not.
      
      	* gcc.c-torture/execute/pr45034.c: New testcase.
      
      From-SVN: r162673
      Richard Guenther committed
    • lang.opt (cpp): Remove Joined and Separate markers. · 6cfcf3ed
      	* lang.opt (cpp): Remove Joined and Separate markers.
      	(cpp=): New internal option.
      	* lang-specs.h (F951_CPP_OPTIONS): Generate -cpp= option.
      	* cpp.c (gfc_cpp_handle_option): Handle OPT_cpp_ instead of
      	OPT_cpp.
      
      From-SVN: r162672
      Joseph Myers committed