OSDN Git Service

* tree-dfa.c (dump_variable): Write DECL_INITIAL for VAR
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index c71f379..a2f3006 100644 (file)
@@ -1,3 +1,251 @@
+2009-07-06  Diego Novillo  <dnovillo@google.com>
+
+       * tree-dfa.c (dump_variable): Write DECL_INITIAL for VAR
+       if it has one.  Handle cases where VAR does not have an
+       annotation or cfun is NULL.
+
+2009-07-06  Diego Novillo  <dnovillo@google.com>
+
+       * tree.c: Include debug.h.
+       (initialize_tree_contains_struct): New.
+       (init_ttree): Call it.
+       (tree_node_structure_for_code): Factor out of ...
+       (tree_node_structure): ... here.
+       * treestruct.def (TS_PHI_NODE): Remove.
+       (TS_GIMPLE_STATEMENT): Remove.
+
+2009-07-06  Diego Novillo  <dnovillo@google.com>
+
+       * tree-pretty-print.c (dump_generic_node): Protect
+       against NULL op0.
+       (debug_tree_chain): Handle cycles.
+
+2009-07-06  Nick Clifton  <nickc@redhat.com>
+           DJ Delorie  <dj@redhat.com>
+
+       * config.sh/lib1funcs.h (FMOVD_WORKS): Only define if
+       __FMOVD_ENABLED__ is defined.
+       * config/sh/sh.h
+       (TARGET_FMOVD): Provide a default definition.
+       (MASK_FMOVD): Likewise.
+       (TARGET_CPU_CPP_BUILTINS): Define
+       __FMOVD_ENABLED__ if TARGET_FMOVD is true.
+       * config/sh/sh.md (movdf_i4): For alternative 0 use either one or
+       two fmov instructions depending upon whether TARGET_FMOVD is
+       enabled.
+       (split for DF load from memory into register): Also handle
+       MEMs which consist of REG+DISP addressing.
+       (split for DF store from register to memory): Likewise.
+       (movsf_ie): Always use single fp_mode.
+       * config/sh/sh.c (sh_override_options): Do not automatically
+       enable TARGET_MOVD for the SH2A when supporting doubles - leave
+       that to the -mfmovd command line switch.
+       (broken_move): Do not restrict fldi test to only the SH4 and SH4A.
+       (fldi_ok): Always allow.
+       * config/sh/sh.opt (mfmovd): Remove this switch.
+       * doc/invoke.texi (-mfmovd): Remove documentation of this switch.
+
+2009-07-06  J"orn Rennecke  <joern.rennecke@arc.com>
+           Kaz Kojima  <kkojima@gcc.gnu.org>
+
+       PR rtl-optimization/30807
+       * postreload.c (reload_combine): For every new use of REG_SUM,
+       record the use of BASE.
+
+2009-07-06  Jan Hubicka  <jh@suse.cz>
+
+       * params.def: Revert my accidental commit at 2009-06-30.
+
+2009-07-04  Ian Lance Taylor  <iant@google.com>
+
+       PR target/40636
+       * config/i386/msformat-c.c (mingw_format_attributes): Declare as
+       EXPORTED_CONST.
+       (mingw_format_attribute_overrides): Likewise.
+
+2009-07-04  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/40596
+       * dwarf2out.c (based_loc_descr): For crtl->stack_realign_tried
+       don't check cfa.reg.  Instead of cfa.indirect use
+       fde && fde->drap_reg != INVALID_REGNUM test.
+
+2009-07-04  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * postreload.c (reload_combine): Replace CONST_REG with INDEX_REG.
+
+2009-07-03  Vladimir Makarov  <vmakarov@redhat.com>
+
+       PR target/40587
+       * ira.c (build_insn_chain): Use DF_LR_OUT instead of
+       df_get_live_out.
+       
+2009-07-03  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/40640
+       * tree-switch-conversion.c (build_arrays): Perform arithmetic
+       in original type.
+
+2009-07-03  Jan Hubicka  <jh@suse.cz>
+
+       * ipa-inline.c (cgraph_decide_inlining_incrementally): When optimizing
+       for size, reduce amount of inlining.
+
+2009-07-03  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/34163
+       * tree-chrec.c (chrec_convert_1): Fold (T2)(t +- x) to
+       (T2)t +- (T2)x if t +- x is known to not overflow and
+       the conversion widens the operation.
+       * Makefile.in (tree-chrec.o): Add $(FLAGS_H) dependency.
+
+2009-07-03  Jan Hubicka  <jh@suse.cz>
+
+       * ipa-pure-const.c (analyze): Update loop optimizer init.
+       * tree-ssa-loop-iv-canon.c (empty_loop_p, remove_empty_loop,
+       try_remove_empty_loop, remove_empty_loops): Remove.
+       * tree-ssa-loop.c (tree_ssa_empty_loop, pass_empty_loop): Remove.
+       * tree-ssa-dce.c (find_obviously_necessary_stmts): Use finiteness info
+       to mark regular loops as neccesary.
+       (degenerate_phi_p): New function.
+       (propagate_necessity, remove_dead_phis): Use it.
+       (forward_edge_to_pdom): Likewise.
+       (eliminate_unnecessary_stmts): Take care to remove uses of results of
+       virtual PHI nodes that became unreachable.
+       (perform_tree_ssa_dce): Initialize/deinitialize loop optimizer.
+       * tree-flow.h (remove_empty_loops): Remove.
+       * passes.c (init_optimization_passes): Remove.
+
+2009-07-03  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.md (fix_trunc<mode>_fisttp_i387_1): Use
+       can_create_pseudo_p.
+       (*fix_trunc<mode>_i387_1): Ditto.
+       (*floathi<mode>2_1): Ditto.
+       (*float<SSEMODEI24:mode><X87MODEF:mode>2_1): Ditto.
+       (*fistdi2_1): Ditto.
+       (*fist<mode>2_1): Ditto.
+       (frndintxf2_floor): Ditto.
+       (*fist<mode>2_floor_1): Ditto.
+       (frndintxf2_ceil): Ditto.
+       (*fist<mode>2_ceil_1): Ditto.
+       (frndintxf2_trunc): Ditto.
+       (frndintxf2_mask_pm): Ditto.
+       (fxam<mode>2_i387_with_temp): Ditto.
+       * config/i386/sse.md (mulv16qi3): Ditto.
+       (*sse2_mulv4si3): Ditto.
+       (mulv2di3): Ditto.
+       (sse4_2_pcmpestr): Ditto.
+       (sse4_2_pcmpistr): Ditto.
+
+2009-07-03  Jan Hubicka  <jh@suse.cz>
+
+       * tree-ssa-dce.c (bb_contains_live_stmts): New bitmap.
+       (mark_stmt_necessary): Set it.
+       (mark_operand_necessary): Set it.
+       (mark_control_dependent_edges_necessary): Set it.
+       (mark_virtual_phi_result_for_renaming): New function.
+       (get_live_post_dom): New function.
+       (forward_edge_to_pdom): New function.
+       (remove_dead_stmt): Fix handling of control dependences.
+       (tree_dce_init): Init new bitmap.
+       (tree_dce_done): Free it.
+
+2009-07-02  Richard Guenther  <rguenther@suse.de>
+
+       PR bootstrap/40617
+       * tree-ssa-structalias.c (new_var_info): Initialize
+       is_restrict_var.
+
+2009-07-02  Jan Hubicka  <jh@suse.cz>
+
+       * ipa-pure-const.c (check_op): Use PTA info to see if indirect_ref is
+       local.
+
+2009-07-02  Paolo Bonzini  <bonzini@gnu.org>
+
+       * expmed.c (emit_cstore, emit_store_flag_1): Accept target_mode
+       instead of recomputing it.  Adjust calls.
+       (emit_store_flag): Adjust recursive calls.
+
+2009-07-02  Richard Guenther  <rguenther@suse.de>
+
+       * tree-ssa-live.c (remove_unused_locals): Do not remove
+       heap variables.
+       * tree-ssa-structalias.c (handle_lhs_call): Delay setting
+       of DECL_EXTERNAL for HEAP variables.
+       (compute_points_to_sets): Set DECL_EXTERNAL for escaped
+       HEAP variables.  Do not adjust RESTRICT vars.
+       (find_what_var_points_to): Nobody cares if something
+       points to READONLY.
+
+2009-07-02  Ben Elliston  <bje@au.ibm.com>
+
+       * unwind-dw2-fde-glibc.c (_Unwind_IteratePhdrCallback): Move
+       pc_low and pc_high declarations to the top of the function.
+
+2009-07-01  DJ Delorie  <dj@redhat.com>
+
+       * config/mep/mep.c (mep_handle_option): Leave IVC2 control
+       registers as fixed.
+       (mep_interrupt_saved_reg): Save appropriate IVC2 control registers.
+       * config/mep/mep-ivc2.cpu: Add VOLATILE to insns that make
+       unspecified accesses to control registers.
+       * config/mep/intrinsics.md: Regenerate.
+       * config/mep/intrinsics.h: Regenerate.
+       * config/mep/mep-intrin.h: Regenerate.
+       
+2009-07-01  Anthony Green  <green@moxielogic.com>
+
+       * config/moxie/moxie.c (moxie_expand_prologue): Use dec
+       instruction when possible.
+       (moxie_expand_prologue): Ditto.  Also, save an instruction and
+       some complexity by popping off of $r12 instead of $sp.  
+       * config/moxie/moxie.md (movsi_pop): Don't assume $sp.  Take two
+       operands.
+       
+2009-07-01  Richard Henderson  <rth@redhat.com>
+
+       PR bootstrap/40347
+       * function.c (reposition_prologue_and_epilogue_notes): If epilogue
+       contained no insns, reposition note before last insn.
+
+2009-07-01  Richard Henderson  <rth@redhat.com>
+
+       PR debug/40431
+       * dwarf2out.c (def_cfa_1): Revert 2009-06-11 change for
+       DW_CFA_def_cfa_offset and DW_CFA_def_cfa.
+
+2009-07-01  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+       PR bootstrap/40558
+       * config/rs6000/rs6000.c (print_operand): Undo change that breaks
+       darwin9 for printing reg addresses with %y.
+
+2009-07-01  Adam Nemet  <anemet@caviumnetworks.com>
+
+       * combine.c (force_to_mode): Handle TRUNCATE.  Factor out
+       truncation from operands in binary operations.
+
+2009-07-01  Adam Nemet  <anemet@caviumnetworks.com>
+
+       Revert:
+       2009-01-11  Adam Nemet  <anemet@caviumnetworks.com>
+       * expmed.c (store_bit_field_1): Properly truncate the paradoxical
+       subreg of op0 to the original op0.
+
+       * expmed.c (store_bit_field_1): Use a temporary as the destination
+       instead of a paradoxical subreg when we need to truncate the result.
+
+2009-07-01  DJ Delorie  <dj@redhat.com>
+
+       * config/mep/mep-ivc2.cpu (cmov, cmovc, cmovh): Add intrinsic
+       names to VLIW variants.
+       (ivc2rm, ivc2crn): Make data type consistent with non-VLIW variants.
+       * config/mep/intrinsics.md: Regenerate.
+       * config/mep/intrinsics.h: Regenerate.
+       * config/mep/mep-intrin.h: Regenerate.
+
 2009-07-01  Jakub Jelinek  <jakub@redhat.com>
 
        PR debug/40462
        of the jump table.
        (casesi64p): Likewise.
 
-       * pa.c (forward_branch_p): Return bool type.  Use instruction addresses
-       when available.  Assert that INSN has a jump label.
+       * pa.c (forward_branch_p): Return bool type.  Use instruction
+       addresses when available.  Assert that INSN has a jump label.
        (pa_adjust_insn_length): Don't call forward_branch_p if INSN doesn't
        have a jump label.
 
 
        PR tree-optimization/19831
        * tree-ssa-dce.c (propagate_necessity): Calls to functions
-       that only act as barriers do not make any previous stores
-       necessary.
+       that only act as barriers do not make any previous stores necessary.
        * tree-ssa-structalias.c (handle_lhs_call): Delay making
        HEAP variables global, do not add a constraint from nonlocal.
        (find_func_aliases): Handle escapes through return statements.
        * config/i386/i386.c (memory_address_length): Check existence of base
        register before using it.
 
+2009-06-30  Nick Clifton  <nickc@redhat.com>
+           DJ Delorie  <dj@redhat.com>
+
+       * config.sh/lib1funcs.h (FMOVD_WORKS): Only define if
+       __FMOVD_ENABLED__ is defined.
+       * config/sh/sh.h
+       (TARGET_FMOVD): Provide a default definition.
+       (MASK_FMOVD): Likewise.
+       (TARGET_CPU_CPP_BUILTINS): Define
+       __FMOVD_ENABLED__ if TARGET_FMOVD is true.
+       * config/sh/sh.md (movdf_i4): For alternative 0 use either one or
+       two fmov instructions depending upon whether TARGET_FMOVD is
+       enabled.
+       (split for DF load from memory into register): Also handle
+       MEMs which consist of REG+DISP addressing.
+       (split for DF store from register to memory): Likewise.
+       * config/sh/sh.opt (mfmovd): Remove this switch.
+       * doc/invoke.texi (-mfmovd): Remove documentation of this switch.
+       * config/sh/sh.c (sh_override_options): Do not automatically
+       enable TARGET_MOVD for the SH2A when supporting doubles - leave
+       that to the -mfmovd command line switch.
+
+       * config/sh/sh.c (broken_move): Do not restrict fldi test to only
+       the SH4 and SH4A.
+       (fldi_ok): Always allow.
+       * config/sh/sh.md (movsf_ie): Always use single fp_mode.
+
 2009-06-29  DJ Delorie  <dj@redhat.com>
 
        * doc/install.texi (mep-x-elf): Correct chip's full name.
        * config/xtensa/xtensa-protos.h (xtensa_frame_pointer_required):
        Remove.
 
-2009-06-29  Olatunji Ruwase   <tjruwase@google.com>
+2009-06-29  Olatunji Ruwase  <tjruwase@google.com>
 
        * doc/plugins.texi: Document PLUGIN_START_UNIT.
        * toplev.c (compile_file): Call PLUGIN_START_UNIT.
            Pat Haugen  <pthaugen@us.ibm.com>
            Revital Eres <ERES@il.ibm.com>
 
+       * config/rs6000/rs6000.c (print_operand): Correct lossage message
+       for %c error.  Add %x support to print VSX registers as a unified
+       register set, instead of separate float and altivec registers.
+       Switch to use VECTOR_MEM_ALTIVEC_P instead of TARGET_ALTIVEC for
+       %y case, and add support for VSX pre-modify addresses.
+       (output_toc): Add assert for CONST containing an integer constant
+       in the PLUS case.
+       (rs6000_adjust_cost): Add POWER7 support.
+       (insn_must_be_first_in_group): Ditto.
+       (insn_must_be_last_in_group): Ditto.
+       (rs6000_emit_popcount): Ditto.
+       (rs6000_vector_mode_supported_p): Ditto.
+
        * config/rs6000/rs6000-protos.h (rs6000_secondary_reload_class):
        Change some of the functions called by macros to being called
        through a pointer, so debug functions can be inserted if