OSDN Git Service

* tree-vrp.c (finalize_jump_threads): Do not call cleanup_cfg by hand.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 8339ab4..4fae499 100644 (file)
@@ -1,3 +1,99 @@
+2007-01-18  Jan Hubicka  <jh@suse.cz>
+
+       * tree-vrp.c (finalize_jump_threads): Do not call cleanup_cfg by hand.
+       * tree-tailcall (add_virtual_phis): Likewise.
+       (optimize_tail_call): Return TODOs.
+       (execute_tail_calls): Return TODOs.
+       * tree-ssa-ccp (execute_fold_all_builtins): Do cleanup_cfg via TODO.
+       * tree-cfgcleanup.c (cleanup_tree_cfg_loop): Return if something
+       changed.
+       * tree-ssa-forwprop.c (tree_ssa_forward_propagate_single_use_value):
+       Cleanup cfg using TODO.
+       * tree-flow.h (cleanup_tree_cfg_loop): Update prototype.
+       * passes.c (execute_function_todo): When cleanup did something, remove
+       unused locals.
+       * tree-cfg.c (pass_build_cfg): Add cleanup_cfg TODO.
+       (make_edges): Don't cleanup_cfg.
+
+2007-01-18  Uros Bizjak  <ubizjak@gmail.com>
+
+       * reg-stack.c (subst_stack_regs_pat) [UNSPEC_SINCOS_COS,
+       UNSPEC_XTRACT_FRACT]: Use generic code for instructions that
+       operate on the top of stack.
+       [UNSPEC_SINCOS_SIN, UNSPEC_XTRACT_EXP, UNSPEC_TAN]: Rewrite
+       register handling of instructions that output to the second
+       stack slot.
+       [UNSPEC_TAN_ONE, UNSPEC_TAN_TAN]: Remove.
+       (move_for_stack_reg): Special-case check for dead destination
+       stack slot for constant load of 1.0 inside UNSPEC_TAN.
+
+       * config/i386/i386.md (UNSPEC_TAN): New constant.
+       (UNSPEC_TAN_ONE, UNSPEC_TAN_TAN): Remove.
+       (fptanxf4_i387, fptan_extend<mode>xf4_i387): New patterns
+       to correctly model move of constant 1.0 to top stack slot.
+       (*tandf3_1, *tansf3_1, *tanxf3_1): Remove insn patterns.
+       (unnamed peephole2 pattern): Remove corresponding peephole2
+       pattern that optimizes tan insn and loading of constant 1.0.
+       (tanxf2): Use fptanxf4_i387.
+       (tan<mode>2): Rename from tansf2 and tandf2 and macroize insn
+       patterns using X87MODEF12 mode macro.  Use fptan_extend<mode>xf4_i387
+       and truncate result to requested mode.  Use SSE_FLOAT_MODE_P to
+       disable patterns for SSE math.
+       (sincos<mode>3): Use truncxf<mode>2_i387_noop for truncation.
+       (fyl2x_extend<mode>xf3_i387): Use X87MODEF12 for operand 1.
+
+2007-01-18  Dirk Mueller  <dmueller@suse.de>
+           Richard Guenther <rguenther@suse.de>
+
+       PR diagnostic/8268
+       * doc/invoke.texi (Warray-bounds): Document -Warray-bounds.
+       * common.opt (Warray-bounds): Add new warning option.
+       * c-opts.c (c_common_handle_option): Define -Warray-bounds
+       if -Wall is given.
+       * Makefile.in: make tree-vrp.o depend on toplev.h
+       * tree-vrp.c (vrp_finalize): Call check_array_refs if -Warray-bounds
+       is enabled.
+       (check_array_refs, check_array_bounds, check_array_ref): New.
+
+2007-01-18  Jan Hubicka  <jh@suse.cz>
+
+       * tree-ssa-ccp.c (ccp_finalize): Return if something changed.
+       (execute_ssa_ccp): Return flags conditionally.
+       * tree-ssa-propagate.c (substitue_and_fold): Return if something was
+       changed.
+       * tree-ssa-propagate.h (substitute_and_fold): Update prototype.
+
+2007-01-18  Steven Bosscher  <steven@gcc.gnu.org>
+
+       * cfgcleanup.c (cleanup_cfg): Detect cfglayout mode and set
+       the CLEANUP_CFGLAYOUT flag when in cfglayout mode.
+
+       * Makefile.c (GTFILES): Add cfglayout.h.
+       * gengtype.c (open_base_files): Likewise.
+       * cfglayout.c (cfg_layout_function_footer,
+       cfg_layout_function_header) Reindent to make gengtype happy.
+       * cfglayout.h (cfg_layout_function_footer,
+       cfg_layout_function_header): Add GTY(()) marker.
+
+       * ifcvt.c (noce_try_sign_mask): Make sure INSN_B is non-null.
+
+2007-01-18  Ben Elliston  <bje@au.ibm.com>
+
+       * genautomata.c (write_automata): Include xstrerror output in the
+       error message if writing the DFA description file fails.
+
+2007-01-17  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * config/mips/mips-protos.h (mips_output_external): Make it
+       return void.
+       * config/mips/iris.h (TARGET_ASM_EXTERNAL_LIBCALL): Removed.
+       * config/mips/mips.c (irix_output_external_libcall): Likewise.
+       (extern_list): Likewise.
+       (extern_head): Likewise.
+       (TARGET_ASM_FILE_END): Likewise.
+       (mips_file_end): Likewise.
+       (mips_output_external): Rewritten.
+
 2007-01-18  Ben Elliston  <bje@au.ibm.com>
 
        * genpreds.c (write_insn_preds_c): Only write out the function
        * config/i386/i386.md (fyl2xxf3_i387): Rename from fyl2x_xf3.
        (fyl2x_extend<mode>xf3_i387): New insn pattern.
        (log<mode>2): Rename from logsf2 and logdf2 and macroize insn
-       insn patterns using X87MODEF12 mode macro.  Extend operand 1
+       patterns using X87MODEF12 mode macro.  Extend operand 1
        to XFmode. Use SSE_FLOAT_MODE_P to disable patterns for SSE math.
        (log10<mode>2): Ditto.
        (log2<mode>2): Ditto.
        (*fxtractxf3_i387): Rename from *fxtractxf3.
        (fxtract_extend<mode>xf3_i387): New insn pattern.
        (ilogbsi2): Use match_dup 3, not match_operand:XF 3.
-
        * config/i386/i386.c (ix86_emit_i387_log1p): Use gen_fyl2xp1xf3_i387()
        and gen_fyl2xxf3_i387().