OSDN Git Service

* dwarf2out.c (class_scope_p): New static inline.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index bf203d9..5c09748 100644 (file)
@@ -1,3 +1,375 @@
+2009-04-08  Jakub Jelinek  <jakub@redhat.com>
+
+       * dwarf2out.c (class_scope_p): New static inline.
+       (class_or_namespace_scope_p): Use it.
+       (gen_variable_die): Use DW_TAG_member tag for static data member
+       declarations instead of DW_TAG_variable.
+
+2009-04-08  Richard Guenther  <rguenther@suse.de>
+
+       * tree-ssa-sccvn.c (valueize_refs): Do not continue to
+       valueize random data.
+
+2009-04-08  David Edelsohn  <edelsohn@gnu.org>
+
+       * config.gcc (aix tm_file):  Add aix-stdint.h.
+       (aix tm clause use_gcc_stdint):  Set to wrap.
+       * config/rs6000/aix-stdint.h:  New file.
+       
+2009-04-08  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/36291
+       * tree-dfa.c (add_referenced_var): Do not recurse into
+       global initializers.
+       * tree-ssa-ccp.c (get_symbol_constant_value): Add newly
+       exposed variables.
+       (fold_const_aggregate_ref): Likewise.
+
+2009-04-08  Paolo Bonzini  <bonzini@gnu.org>
+
+        * recog.c (ordered_comparison_operator): New.
+        * gensupport.c (std_preds): Add it.
+       * doc/md.texi (Machine-Independent Predicates): Document it.
+
+2009-04-08  Jan Hubicka  <jh@suse.cz>
+
+       * tree-eh.c (cleanup_eh): When not optimizing, do not try EH merging.
+       * function.h (rtl_eh): Remove exception_handler_label_map.
+       * except.c (ehl_hash, ehl_eq, add_ehl_entry,
+       remove_exception_handler_label, for_each_eh_label_1): Remove.
+       (rtl_remove_unreachable_regions): Remove.
+       (convert_from_eh_region_ranges): Do not remove unreachable regions.
+       (find_exception_handler_labels): Don't build the hashtable.
+       (maybe_remove_eh_handler): Remove.
+       (for_each_eh_label): Rewrite to walk the tree.
+       (rest_of_handle_eh): Do not cleanup cfg prior EH construction.
+       * except.h (maybe_remove_eh_handler): Remove.
+       * passes.c (init_optimization_passes): Schedule second EH cleanup
+       before out-of-ssa.
+       * cfgrtl.c (rtl_delete_block, rtl_merge_blocks,
+       cfg_layout_merge_blocks): Do not call maybe_remove_eh_handler.
+
+2009-04-08  Paolo Bonzini  <bonzini@gnu.org>
+
+       * genoutput.c (validate_optab_operands): New.
+       (gen_insn, gen_expand): Call it.
+
+       * genflags.c (gen_insn): Detect misused iterators.
+       (main): Pass line_no to gen_insn, exit with status 1 on error.
+
+       * genextract.c (line_no): Make global.
+       (VEC_safe_set_locstr): Change assertion to error message.
+       (main): Exit with status 1 on error.
+
+2009-04-08  Joseph Myers  <joseph@codesourcery.com>
+
+       PR c/39614
+       PR c/39673
+       * c-common.h (C_MAYBE_CONST_EXPR_PRE, C_MAYBE_CONST_EXPR_EXPR,
+       C_MAYBE_CONST_EXPR_INT_OPERANDS, C_MAYBE_CONST_EXPR_NON_CONST,
+       EXPR_INT_CONST_OPERANDS): Remove duplicate definitions.
+       * c-convert.c (convert): Do not call fold on results of conversion
+       functions when the result is a C_MAYBE_CONST_EXPR.
+       * c-parser.c (c_parser_postfix_expression): Do not fold condition
+       of __builtin_choose_expr.
+       * c-typeck.c (remove_c_maybe_const_expr): New.
+       (build_unary_op, build_conditional_expr, build_compound_expr,
+       build_binary_op, c_objc_common_truthvalue_conversion): Call
+       remove_c_maybe_const_expr on any input C_MAYBE_CONST_EXPR with
+       integer operands.
+
+2009-04-08 Bingfeng Mei <bmei@broadcom.com>
+
+       * fold-const.c (const_binop): Combine two VECTOR_CST under operation 
+        CODE to produce a new one. Add a prototype to use fold_convert_const
+
+2009-04-08  Danny Smith  <dannysmith@users.sourceforge.net>
+
+       PR bootstrap/39660
+       * config/i386/host-mingw32.c (mingw32_gt_pch_use_address): Don't
+       mix declarations and code.
+
+2009-04-08  Ben Elliston  <bje@au.ibm.com>
+
+       * gcc.c: Replace `CC' with `GCC' throughout.
+
+2009-04-07  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * doc/invoke.texi: Document Atom support.
+
+2009-04-07  Jason Merrill  <jason@redhat.com>
+
+       PR c++/25185
+       * c-common.h, c-common.c: Add flag_pretty_templates.
+       * c-opts.c (c_common_handle_option): Set it.
+       * c.opt: Add -fno-pretty-templates.
+       * doc/invoke.texi (C++ Dialect Options): Likewise.
+
+2009-04-07  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/ia64/ia64.c (ia64_builtins): Add IA64_BUILTIN_HUGE_VALQ.
+       (ia64_init_builtins): Handle IA64_BUILTIN_HUGE_VALQ.
+       (ia64_expand_builtin): Likewise.
+
+2009-04-07  Martin Jambor  <mjambor@suse.cz>
+
+       * tree-ssa-alias.c (refs_may_alias_p_1): Check for
+       is_gimple_min_invariant rather than CONSTANT_CLASS_P so that invariant
+       ADDR_EXPRS are include too.
+
+2009-04-07  Richard Guenther  <rguenther@suse.de>
+
+       * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Non-aliased
+       decls are only used if passes as parameters or if they are
+       local statics and the call is not to a builtin.
+       (call_may_clobber_ref_p_1): Likewise.
+
+2009-04-07  Paolo Bonzini  <bonzini@gnu.org>
+
+       * expr.c (do_store_flag): Remove last argument.  Simplify code
+       to avoid duplication of tests already done by can_compare_p.
+       (expand_expr_real_1): Adjust caller.
+
+2009-04-07  Paolo Bonzini  <bonzini@gnu.org>
+
+       * optabs.c (can_compare_p): Test the predicate of a
+       cbranch and cstore pattern.
+
+2009-04-07  Paolo Bonzini  <bonzini@gnu.org>
+
+       * expr.c (convert_move): Use emit_store_flag instead of
+       "emulating" it.
+
+2009-04-07  Paolo Bonzini  <bonzini@gnu.org>
+
+       * config/i386/i386.c (ix86_compare_emitted): Remove.
+       (ix86_expand_compare, ix86_expand_branch): Handle MODE_CC
+       ix86_compare_op0 like ix86_compare_emitted used to be handled.
+       * config/i386/i386.h (ix86_compare_emitted): Remove.
+       * config/i386/i386.md (stack_protect_test): Set ix86_compare_op0
+       instead of ix86_compare_emitted.
+       * config/i386/sync.md (sync_compare_and_swap_cc): Likewise.
+
+2009-04-07  Andrew Stubbs  <ams@codesourcery.com>
+
+       * config.gcc (sh-*-*): Add sysroot-suffix.h to tm_file.
+       Add t-sysroot-suffix to tmake_file.
+       * config/print-sysroot-suffix.sh: New file.
+       * config/t-sysroot-suffix: New file.
+
+2009-04-07  Ben Elliston  <bje@au.ibm.com>
+
+       * libgcc2.c (INFINITY): Use __builtin_huge_val, not __builtin_inf,
+       as the latter produces a warning when the target does not support
+       infinity.
+
+2009-04-07  Ben Elliston  <bje@au.ibm.com>
+
+       * dfp.c: Replace type punning assignments with memcpy throughout.
+       * Makefile.in (dfp.o-warn): Remove.
+       
+2009-04-07  Alan Modra  <amodra@bigpond.net.au>
+
+       PR target/39634
+       * config.gcc: Merge powerpc-*-linux* and powerpc64-*-linux*.
+       Include soft-fp/t-softfp after rs6000/t-linux64.
+
+2009-04-06  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * stor-layout.c (set_sizetype): Use the full precision of their
+       machine mode for bitsize types.
+
+2009-04-06  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * config/i386/i386.md: Revert 2 accidental checkins.
+
+2009-04-06  Joey Ye  <joey.ye@intel.com>
+           Xuepeng Guo <xuepeng.guo@intel.com>
+           H.J. Lu  <hongjiu.lu@intel.com>
+
+       Atom pipeline model, tuning and insn selection.
+       * config.gcc (atom): Add atom config options and target.
+
+       * config/i386/atom.md: New.
+
+       * config/i386/i386.c (atom_cost): New cost.
+       (m_ATOM): New macro flag.
+       (initial_ix86_tune_features): Set m_ATOM.
+       (x86_accumulate_outgoing_args): Likewise.
+       (x86_arch_always_fancy_math_387): Likewise.
+       (processor_target): Add Atom cost.
+       (cpu_names): Add Atom cpu name.
+       (override_options): Set Atom ISA.
+       (ix86_issue_rate): New case PROCESSOR_ATOM.
+       (ix86_adjust_cost): Likewise.
+
+       * config/i386/i386.h (TARGET_ATOM): New target macro.
+       (ix86_tune_indices): Add X86_TUNE_OPT_AGU.
+       (TARGET_OPT_AGU): New target option.
+       (target_cpu_default): Add TARGET_CPU_DEFAULT_atom.
+       (processor_type): Add PROCESSOR_ATOM.
+
+       * config/i386/i386.md (cpu): Add new value "atom".
+       (use_carry, movu): New attr.
+       (atom.md): Include atom.md.
+       (adddi3_carry_rex64): Set attr "use_carry".
+       (addqi3_carry): Likewise.
+       (addhi3_carry): Likewise.
+       (addsi3_carry): Likewise.
+       (*addsi3_carry_zext): Likewise.
+       (subdi3_carry_rex64): Likewise.
+       (subqi3_carry): Likewise.
+       (subhi3_carry): Likewise.
+       (subsi3_carry): Likewise.
+       (x86_movdicc_0_m1_rex64): Likewise.
+       (*x86_movdicc_0_m1_se): Likewise.
+       (x86_movsicc_0_m1): Likewise.
+       (*x86_movsicc_0_m1_se): Likewise.
+       (*adddi_1_rex64): Emit add insn as much as possible.
+       (*addsi_1): Likewise.
+       (return_internal): Set atom_unit.
+       (return_internal_long): Likewise.
+       (return_pop_internal): Likewise.
+       (*rcpsf2_sse): Set atom_sse_attr attr.
+       (*qrt<mode>2_sse): Likewise.
+       (*prefetch_sse): Likewise.
+
+       * config/i386/i386-c.c (ix86_target_macros_internal): New case
+       PROCESSOR_ATOM.
+       (ix86_target_macros_internal): Likewise.
+
+       * config/i386/sse.md (cpu): Set attr "atom_sse_attr".
+       (*prefetch_sse_rex): Likewise.
+       (sse_rcpv4sf2): Likewise.
+       (sse_vmrcpv4sf2): Likewise.
+       (sse_sqrtv4sf2): Likewise.
+       (<sse>_vmsqrt<mode>2): Likewise.
+       (sse_ldmxcsr): Likewise.
+       (sse_stmxcsr): Likewise.
+       (*sse_sfence): Likewise.
+       (sse2_clflush): Likewise.
+       (*sse2_mfence): Likewise.
+       (*sse2_lfence): Likewise.
+       (avx_movup<avxmodesuffixf2c><avxmodesuffix>): Set attr "movu".
+       (<sse>_movup<ssemodesuffixf2c>): Likewise.
+       (avx_movdqu<avxmodesuffix>): Likewise.
+       (avx_lddqu<avxmodesuffix>): Likewise.
+       (sse2_movntv2di): Change attr "type" to "ssemov".
+       (sse2_movntsi): Likewise.
+       (rsqrtv8sf2): Change attr "type" to "sseadd".
+       (sse3_addsubv2df3): Set attr "atom_unit".
+       (sse3_h<plusminus_insn>v4sf3): Likewise.
+       (*sse2_pmaddwd): Likewise.
+       (*vec_extractv2di_1_rex64): Likewise.
+       (*vec_extractv2di_1_avx): Likewise.
+       (sse2_psadbw): Likewise.
+       (ssse3_phaddwv8hi3): Likewise.
+       (ssse3_phaddwv4hi3): Likewise.
+       (ssse3_phadddv4si3): Likewise.
+       (ssse3_phadddv2si3): Likewise.
+       (ssse3_phaddswv8hi3): Likewise.
+       (ssse3_phaddswv4hi3): Likewise.
+       (ssse3_phsubwv8hi3): Likewise.
+       (ssse3_phsubwv4hi3): Likewise.
+       (ssse3_phsubdv4si3): Likewise.
+       (ssse3_phsubdv2si3): Likewise.
+       (ssse3_phsubswv8hi3): Likewise.
+       (ssse3_phsubswv4hi3): Likewise.
+       (ssse3_pmaddubsw128): Likewise.
+       (sse3_pmaddubsw: Likewise.
+       (ssse3_palignrti): Likewise.
+       (ssse3_palignrdi): Likewise.
+
+2009-04-06  Gerald Pfeifer  <gerald@pfeifer.com>
+
+       * doc/install.texi (Specific): Fix two cross-references to MinGW.
+
+2009-04-06  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/28868
+       * tree-ssa-pre.c (inserted_phi_names): New bitmap to keep track
+       of which PHI results we inserted.
+       (insert_into_preds_of_block): Record inserted PHIs.
+       (eliminate): Eliminate redundant PHI nodes.
+       (init_pre): Init inserted_phi_names.
+
+2009-04-06  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/39643
+       * tree-ssa-ccp.c (ccp_fold): Fold REALPART_EXPRs and
+       IMAGPART_EXPRs of complex constants.
+       (execute_fold_all_builtins): If we folded a call queue
+       TODO_update_address_taken.
+
+2009-04-06  Jan Hubicka  <jh@suse.cz>
+
+       PR middle-end/39659
+       * except.c (remove_unreachable_regions): Propagate may_contain_throw
+       flag.
+
+2009-04-06  Andrew Stubbs  <ams@codesourcery.com>
+
+       * config/sh/lib1funcs.asm (ic_invalidate): Move ICBI out of the
+       delay slot.
+       (ic_invalidate_array): Likewise.
+
+2009-04-06  Hariharan Sandanagobalane <hariharan@picochip.com>
+
+       * calls.c (emit_library_call_value_1): Fix a problem with parameter
+       alignment for library calls.
+
+2009-04-06  Danny Smith  <dannysmith@users.sourceforge.net>
+
+       * config.gcc (mingw32 tm_file):  Add mingw-stdint.h.
+       (mingw32 tm clause use_gcc_stdint):  Set to wrap.
+       * config/i386/mingw-stdint.h:  New file.
+
+2009-04-05  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/39648
+       * tree-ssa-sccvn.c (vn_reference_fold_indirect): Work around
+       our &A vs. &A[0] IL deficiencies.
+
+2009-04-04  Jan Hubicka  <jh@suse.cz>
+
+       * except.c (sjlj_find_directly_reachable_regions): Be ready for
+       removed toplevel regions.
+       (sjlj_mark_call_sites): Likewise.
+
+2009-04-04  Dave Korn  <dave.korn.cygwin@gmail.com>
+
+       * config.gcc (cygwin tm_file):  Add cygwin-stdint.h.
+       (cygwin tm clause use_gcc_stdint):  Set to wrap.
+       * config/i386/cygwin-stdint.h:  New file.
+
+2009-04-04  Richard Guenther  <rguenther@suse.de>
+
+       * Makefile.in (tree-ssa-copy.o): Add $(CFGLOOP_H) dependency.
+       * tree-ssa-copy.c (init_copy_prop): Do not propagate through
+       single-argument PHIs if we are in loop-closed SSA form.
+       * tree-vect-loop-manip.c (slpeel_add_loop_guard): Pass extra guards
+       for the pre-condition.
+       (slpeel_tree_peel_loop_to_edge): Likewise.
+       (vect_build_loop_niters): Take an optional sequence to append stmts.
+       (vect_generate_tmps_on_preheader): Likewise.
+       (vect_do_peeling_for_loop_bound): Take extra guards for the
+       pre-condition.
+       (vect_do_peeling_for_alignment): Adjust.  Unconditionally apply
+       the cost model check.
+       (vect_loop_versioning): Take stmt and stmt list to put pre-condition
+       guards if we are going to peel.  Do not apply versioning in that
+       case.
+       * tree-vectorizer.h (vect_loop_versioning): Adjust declaration.
+       (vect_do_peeling_for_loop_bound): Likewise.
+       * tree-vect-loop.c (vect_transform_loop): If we are peeling for
+       loop bound only record extra pre-conditions, do not apply loop
+       versioning.
+
+2009-04-04  Richard Guenther  <rguenther@suse.de>
+
+       * tree-ssa-operands.c (pop_stmt_changes): Remove automatic
+       renaming code.
+
 2009-04-04  Jan Hubicka  <jh@suse.cz>
 
        * tree-ssa-uncprop.c (associate_equivalences_with_edges): Use
 
 2009-03-31  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
 
-        PR target/27237
+       PR target/27237
        * doc/invoke.texi (ARM Options): Update documentation for -mthumb.
        
 2009-03-31  Richard Guenther  <rguenther@suse.de>
 
 2009-03-30  Paolo Bonzini  <bonzini@gnu.org>
 
-        * combine.c (simplify_comparison): Use have_insn_for.
-        * dojump.c (do_jump): Likewise.
+       * combine.c (simplify_comparison): Use have_insn_for.
+       * dojump.c (do_jump): Likewise.
 
 2009-03-30  Paolo Bonzini  <bonzini@gnu.org>
 
 
 2009-03-30  Paolo Bonzini  <bonzini@gnu.org>
 
-        * cfglayout.c (pass_into_cfg_layout_mode, pass_outof_cfg_layout_mode):
-        Provide/destroy PROP_cfglayout respectively.
-        * gcse.c (pass_jump_bypass, pass_gcse): Require it.
-        * tree-pass.h (PROP_cfglayout): New.
+       * cfglayout.c (pass_into_cfg_layout_mode, pass_outof_cfg_layout_mode):
+       Provide/destroy PROP_cfglayout respectively.
+       * gcse.c (pass_jump_bypass, pass_gcse): Require it.
+       * tree-pass.h (PROP_cfglayout): New.
 
 2009-03-30  Paolo Bonzini  <bonzini@gnu.org>