OSDN Git Service

2008-06-06 Richard Guenther <rguenther@suse.de>
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 928e79e..8ba854e 100644 (file)
@@ -1,7 +1,301 @@
+2008-06-06  Richard Guenther  <rguenther@suse.de>
+
+       * tree-ssa-structalias.c (merge_smts_into): Remove.
+       (find_what_p_points_to): Do not bother to compute the
+       points-to set for pt_anything pointers.
+       * tree-ssa-operands.c (get_addr_dereference_operands): No NMT
+       for pt_anything pointers is ok.
+
+2008-06-06  Jan Hubicka  <jh@suse.cz>
+
+       * passes.c (execute_ipa_pass_list): Do not regenerate summaries.
+
+2008-06-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+       * cgraph.c: Fix typos in comments.
+       (cgraph_availability_names): Fix string typo.
+       * fold-const.c: Fix typos in comments.
+       (fold_binary): Fix typo in warning.
+       * genautomata.c: Fix typos in comments.
+       (check_presence_pattern_sets): Fix typo in local variable.
+       (output_description): Fix typo in output.
+       * ggc-zone.c (ggc_pch_finish): Fix typo in error message.
+       * hwint.h: Likewise.
+       * matrix-reorg.c (check_allocation_function): Likewise.
+       * omega.c (smooth_weird_equations): Likewise.
+       * auto-inc-dec.c: Fix typos in comments.
+       * bb-reorder.c: Likewise.
+       * builtins.c: Likewise.
+       * c-common.c: Likewise.
+       * c-cppbuiltin.c: Likewise.
+       * c-parser.c: Likewise.
+       * c-pretty-print.c: Likewise.
+       * cfgcleanup.c: Likewise.
+       * cfgexpand.c: Likewise.
+       * cfghooks.c: Likewise.
+       * cfglayout.c: Likewise.
+       * cfgloopmanip.c: Likewise.
+       * cgraphunit.c: Likewise.
+       * coverage.c: Likewise.
+       * dbxout.c: Likewise.
+       * df-byte-scan.c: Likewise.
+       * df-core.c: Likewise.
+       * df-problems.c: Likewise.
+       * df-scan.c: Likewise.
+       * dfp.c: Likewise.
+       * dominance.c: Likewise.
+       * domwalk.c: Likewise.
+       * dse.c: Likewise.
+       * dwarf2out.c: Likewise.
+       * emit-rtl.c: Likewise.
+       * et-forest.c: Likewise.
+       * function.c: Likewise.
+       * function.h: Likewise.
+       * gcc.c: Likewise.
+       * gcov-io.c: Likewise.
+       * gcov.c: Likewise.
+       * gcse.c: Likewise.
+       * genattrtab.c: Likewise.
+       * ggc-page.c: Likewise.
+       * gimplify.c: Likewise.
+       * gthr-lynx.h: Likewise.
+       * haifa-sched.c: Likewise.
+       * ipa-cp.c: Likewise.
+       * ipa-inline.c: Likewise.
+       * ipa-prop.h: Likewise.
+       * ipa-pure-const.c: Likewise.
+       * ipa-struct-reorg.c: Likewise.
+       * ipa-struct-reorg.h: Likewise.
+       * ipa-type-escape.c: Likewise.
+       * ipa.c: Likewise.
+       * loop-doloop.c: Likewise.
+       * mips-tfile.c: Likewise.
+       * mkmap-flat.awk: Likewise.
+       * mkmap-symver.awk: Likewise.
+       * modulo-sched.c: Likewise.
+       * omp-low.c: Likewise.
+       * optabs.c: Likewise.
+       * optabs.h: Likewise.
+       * opts.c: Likewise.
+       * passes.c: Likewise.
+       * postreload-gcse.c: Likewise.
+       * postreload.c: Likewise.
+       * predict.c: Likewise.
+       * pretty-print.h: Likewise.
+       * profile.c: Likewise.
+       * protoize.c: Likewise.
+       * ra-conflict.c: Likewise.
+       * real.c: Likewise.
+       * recog.c: Likewise.
+       * regclass.c: Likewise.
+       * regs.h: Likewise.
+       * reload.c: Likewise.
+       * rtl-error.c: Likewise.
+       * rtlanal.c: Likewise.
+       * scan.h: Likewise.
+       * sched-rgn.c: Likewise.
+       * see.c: Likewise.
+       * stmt.c: Likewise.
+       * target.h: Likewise.
+       * tree-dfa.c: Likewise.
+       * tree-eh.c: Likewise.
+       * tree-flow-inline.h: Likewise.
+       * tree-inline.c: Likewise.
+       * tree-into-ssa.c: Likewise.
+       * tree-loop-distribution.c: Likewise.
+       * tree-nested.c: Likewise.
+       * tree-parloops.c: Likewise.
+       * tree-pass.h: Likewise.
+       * tree-pretty-print.c: Likewise.
+       * tree-profile.c: Likewise.
+       * tree-scalar-evolution.c: Likewise.
+       * tree-sra.c: Likewise.
+       * tree-ssa-alias-warnings.c: Likewise.
+       * tree-ssa-ccp.c: Likewise.
+       * tree-ssa-coalesce.c: Likewise.
+       * tree-ssa-dom.c: Likewise.
+       * tree-ssa-dse.c: Likewise.
+       * tree-ssa-forwprop.c: Likewise.
+       * tree-ssa-live.c: Likewise.
+       * tree-ssa-live.h: Likewise.
+       * tree-ssa-loop-im.c: Likewise.
+       * tree-ssa-loop-ivopts.c: Likewise.
+       * tree-ssa-loop-niter.c: Likewise.
+       * tree-ssa-loop-prefetch.c: Likewise.
+       * tree-ssa-phiopt.c: Likewise.
+       * tree-ssa-phiprop.c: Likewise.
+       * tree-ssa-sccvn.c: Likewise.
+       * tree-ssa-ter.c: Likewise.
+       * tree-ssa-threadupdate.c: Likewise.
+       * tree-ssa.c: Likewise.
+       * tree-vect-analyze.c: Likewise.
+       * tree-vect-transform.c: Likewise.
+       * tree-vectorizer.c: Likewise.
+       * tree-vn.c: Likewise.
+       * tree-vrp.c: Likewise.
+       * tree.c: Likewise.
+       * tree.def: Likewise.
+       * tree.h: Likewise.
+       * unwind-dw2-fde.c: Likewise.
+       * unwind.inc: Likewise.
+       * value-prof.c: Likewise.
+       * vmsdbgout.c: Likewise.
+
+2008-06-05  David Edelsohn  <edelsohn@gnu.org>
+
+       * config/rs6000/xcoff.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): Do not
+       always place FP constants in the TOC for TARGET_POWERPC64.
+       * config/rs6000/linux64.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): Same.
+
+2008-06-05  Joseph Myers  <joseph@codesourcery.com>
+
+       * config.gcc (powerpc-*-linux*spe*): Use t-dfprules.
+       * config/rs6000/dfp.md (negdd2, absdd2, negtd2, abstd2): Do not
+       enable for TARGET_E500_DOUBLE.
+       (*movdd_softfloat32): Also enable for !TARGET_FPRS.
+       * config/rs6000/rs6000.c (invalid_e500_subreg): Treat decimal
+       floating-point modes like integer modes for E500 double.
+       (rs6000_legitimate_offset_address_p): Likewise.
+       (rs6000_legitimize_address): Likewise.  Do not allow REG+REG
+       addressing for DDmode for E500 double.
+       (rs6000_hard_regno_nregs): Do not treat decimal floating-point
+       modes as using 64-bits of registers for E500 double.
+       (spe_build_register_parallel): Do not handle DDmode or TDmode.
+       (rs6000_spe_function_arg): Do not handle DDmode or TDmode
+       specially for E500 double.
+       (function_arg): Do not call rs6000_spe_function_arg for DDmode or
+       TDmode for E500 double.
+       (rs6000_gimplify_va_arg): Only handle SDmode in registers
+       specially if TARGET_HARD_FLOAT && TARGET_FPRS.
+       (rs6000_split_multireg_move): Do not handle TDmode specially for
+       E500 double.
+       (spe_func_has_64bit_regs_p): Do not treat DDmode or TDmode as
+       using 64-bit registers for E500 double.
+       (emit_frame_save): Do not handle DDmode specially for E500 double.
+       (gen_frame_mem_offset): Likewise.
+       (rs6000_function_value): Do not call spe_build_register_parallel
+       for DDmode or TDmode.
+       (rs6000_libcall_value): Likewise.
+       * config/rs6000/rs6000.h (LOCAL_ALIGNMENT, MEMBER_TYPE_FORCES_BLK,
+       DATA_ALIGNMENT, CLASS_MAX_NREGS): Do not handle DDmode specially
+       for E500 double.
+
+2008-06-04  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * config/i386/i386.c (setup_incoming_varargs_64): Fix a typo
+       in comments.
+
+2008-06-04  Junjie Gu <jgu@tensilica.com>
+
+       * config/xtensa/lib2funcs.S (__xtensa_nonlocal_goto): Use unsigned
+       comparison for frame pointers.
+
+2008-06-04  Andy Hutchinson  <hutchinsonandy@aim.com>
+
+       PR target/27386
+       * config/avr/avr.h: (PUSH_ROUNDING): Remove.
+
+2008-06-04  Andy Hutchinson  <hutchinsonandy@aim.com>
+
+       PR target/30243
+       * builtins.c (expand_builtin_signbit): Don't take lowpart when
+       register is already smaller or equal to required mode. 
+
+2008-06-04  Xinliang David Li  <davidxl@google.com>
+
+       * tree-call-cdce.c: New file. 
+       (cond_dead_built_in_calls): New static variable.
+       (input_domain): New struct.
+       (check_pow): New function.
+       (check_builtin_call): Ditto.
+       (check_target_format): Ditto.
+       (is_call_dce_candidate): Ditto.
+       (gen_one_condition): Ditto.
+       (gen_conditions_for_domain): Ditto.
+       (get_domain): Ditto.
+       (gen_conditions_for_pow_cst_base): Ditto.
+       (gen_conditions_for_pow_int_base): Ditto.
+       (gen_conditions_for_pow): Ditto.
+       (get_no_error_domain): Ditto.
+       (gen_shrink_wrap_conditions): Ditto.
+       (shrink_wrap_one_built_in_call): Ditto.
+       (shink_wrap_conditional_dead_built_in_calls): Ditto.
+       (tree_call_cdce): Ditto.
+       (gate_call_cdce): Ditto.
+       (pass_call_cdce): New gimple pass.
+       * passes.c: (init_optimization_passes): New pass.
+       * tree-pass.h: New pass declaration.
+       * opts.c (decode_options): New flag setting.
+       * common.opt: Add -ftree-builtin-call-dce flag.
+       * Makefile.in: Add new source file.
+       * tempvar.def: New tv_id.
+       * doc/invoke.texi (-ftree-builtin-call-dce): New flag.
+
+2008-06-04  Richard Guenther  <rguenther@suse.de>
+
+       * tree-flow-inline.h (is_global_var): Do not check TREE_STATIC
+       on MTAGs.
+       (is_call_clobbered): Always check var_ann->call_clobbered.
+       (mark_call_clobbered): Always set var_ann->call_clobbered.
+       (clear_call_clobbered): Always clear var_ann->call_clobbered.
+       * tree-ssa-alias.c (mark_non_addressable): Use clear_call_clobbered.
+       (reset_alias_info): Clear call clobbering info on MTAGs and
+       globals as well.
+       (set_pt_anything): Set pt_global_mem.
+       (create_tag_raw): Adjust comment.
+       (may_be_aliased): Do not check TREE_PUBLIC on MTAGs.
+
+2008-06-04  Joseph Myers  <joseph@codesourcery.com>
+            Maxim Kuvyrkov  <maxim@codesourcery.com>
+
+       * config/m68k/m68k.opt (mxgot): New option.
+       * config/m68k/m68k.c (legitimize_pic_address): Handle -mxgot.
+       (m68k_output_addr_const_extra): New.
+       * config/m68k/m68k.h (OUTPUT_ADDR_CONST_EXTRA): New.
+       * config/m68k/m68k-protos.h (m68k_output_addr_const_extra): Declare.
+       * config/m68k/m68k.md (UNSPEC_GOTOFF): Define.
+       * doc/invoke.texi (M680x0 Options): Document -mxgot.
+
+2008-06-04  Richard Guenther  <rguenther@suse.de>
+
+       * tree-ssa-structalias.c (handle_ptr_arith): Correctly handle
+       negative or non-representable offsets.
+
+2008-06-03  H.J. Lu  <hongjiu.lu@intel.com>
+
+       *  config/i386/i386.c (ix86_gen_leave): New.
+       (ix86_gen_pop1): Likewise.
+       (ix86_gen_add3): Likewise.
+       (ix86_gen_sub3): Likewise.
+       (ix86_gen_sub3_carry): Likewise.
+       (ix86_gen_one_cmpl2): Likewise.
+       (ix86_gen_monitor): Likewise.
+       (override_options): Initialize ix86_gen_leave, ix86_gen_pop1,
+       ix86_gen_add3, ix86_gen_sub3, ix86_gen_sub3_carry,
+       ix86_gen_one_cmpl2 and ix86_gen_monitor.
+       (ix86_file_end): Use mov%z0 instead of mov{q}/mov{l}.
+       (output_set_got): Use mov%z0, pop%z0 and add%z0 instead of
+       mov{q}/mov{l}, pop{q}/pop{l} and add{q}/add{l}.
+       (ix86_expand_epilogue): Updated.
+       (print_operand): Handle integer register operand for 'z'.
+       (ix86_expand_strlensi_unroll_1): Likewise.
+       (ix86_expand_strlen): Likewise.
+       (ix86_expand_builtin): Likewise.
+       (x86_output_mi_thunk): Use mov%z1 and add%z1 instead of
+       mov{q}/mov{l} and add{q}/add{l}.
+
 2008-06-03  Kai Tietz  <kai.tietz@onevision.com>
 
-       * config/i386/i386.md (define_mode_iterator P): New.
-       (split): Merged XF and DF rules using P.
+       * config/i386/i386.md (P): New mode iterator.
+       (SFmode push_operand splitter): Macroize DImode and SImode pushes
+       using P mode iterator.
+       (DFmode push_operand splitter): Ditto.
+       (XFmode push_operand splitter): Ditto.
+       (DFmode float_extend SFmode push_operand splitter): Ditto.
+       (XFmode float_extend SFmode push_operand splitter): Do not generate
+       SImode pushes for 64bit target.  Macroize Dimode and SImode
+       pushes using P mode iterator.
+       (XFmode float_extend DFmode push_operand splitter): Ditto.
 
 2008-06-03  Kai Tietz  <kai.tietz@onevision.com>