OSDN Git Service

gcc/ChangeLog:
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 56d1b0b..ee78f23 100644 (file)
@@ -1,3 +1,406 @@
+2010-05-21  Steven Bosscher  <steven@gcc.gnu.org>
+
+       * real: Do not include gmp.h, mpfr.h, and mpc.h.
+       (REAL_VALUE_NEGATE, REAL_VALUE_ABS, real_arithmetic2): Remove.
+       (real_value_negate, real_value_abs): New prototypes.
+       (do_mpc_arg2, real_from_mpfr, mpfr_from_real): Move from here...
+       * realmpfr.h (do_mpc_arg2, real_from_mpfr, mpfr_from_real): ...to here,
+       new include file for interface between MPFR and REAL_VALUE_TYPE.
+       * real.c: Include realmpfr.h.
+       (real_arithmetic2): Remove legacy function.
+       (real_value_negate): New.
+       (real_value_abs): New.
+       (mfpr_from_real, real_from_mpfr): Move from here...
+       * realmpfr.c (mpfr_from_real, real_from_mpfr): ...to here, new file.
+       * builtins.c: Include realmpfr.h.
+       * fold-const.c: Include realmpfr.h.
+       (fold_comparison): Use real_value_negate instead of REAL_VALUE_NEGATE.
+       (fold_negate_const): Likewise.
+       (fold_abs_const): Use real_value_abs instead of REAL_VALUE_ABS.
+       * toplev.c: Include realmpfr.h.
+       * simplify-rtx.c (simplify_const_unary_operation): Use real_value_abs
+       and real_value_negate.
+       * fixed-value.c (check_real_for_fixed_mode): Likewise.
+       * config/arm/arm.c (neg_const_double_rtx_ok_for_fpa): Likewise.
+       (vfp3_const_double_index): Likewise.
+       (arm_print_operand): Likewise.
+       * Makefile.in: Update dependencies.
+
+2010-05-21  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
+
+       * config/s390/s390.c (override_options): Increase the default
+       of max-completely-peel-times.
+
+2010-05-21  Julian Brown  <julian@codesourcery.com>
+           Mark Mitchell  <mark@codesourcery.com>
+
+       * config/arm/arm.c (arm_function_ok_for_sibcall): Only forbid
+       sibling calls for Thumb-1.
+       * config/arm/arm.h (USE_RETURN_INSN): Enable for Thumb-2.
+       * config/arm/arm.md (*call_symbol, *call_value_symbol): Use for
+       Thumb-2.
+       (*call_insn, *call_value_insn): Don't use for Thumb-2.
+       (sibcall, sibcall_value, *sibcall_insn, *sibcall_value_insn): Use
+       for Thumb-2.
+       (return): New expander.
+       (*arm_return): New name for ARM return insn.
+       * config/arm/thumb2.md (*thumb2_return): New insn pattern.
+
+2010-05-19  Joel Sherrill <joel.sherrill@oarcorp.com>
+
+       * config.gcc (sparc64-*-rtems*): New target.
+
+2010-05-21  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * tree.c (build_function_decl_skip_args): Fix grammar.
+       (build_function_type_list_1): Fix typos, adjust formatting.
+
+2010-05-21  Steven Bosscher  <steven@gcc.gnu.org>
+
+       * tree.h: Include real.h and fixed-value.h as basic datatypes.
+       * dfp.c, convert.c, reload1.c, reginfo.c, tree-flow.h,
+       tree-ssa-threadedge.c, tree-ssanames.c, tree-loop-linear.c,
+       tree-into-ssa.c, tree-vect-generic.c, tree-ssa-structalias.c,
+       tree-ssa-loop-im.c, tree-dump.c, tree-complex.c, tree-ssa-uninit.c,
+       genrecog.c, tree-ssa-threadupdate.c, tree-ssa-loop-niter.c,
+       tree-pretty-print.c, tree-loop-distribution.c,
+       tree-ssa-loop-unswitch.c, c-lex.c, optabs.c, postreload-gcse.c,
+       tree-ssa-loop-manip.c, postreload.c, tree-ssa-loop-ch.c,
+       tree-tailcall.c, tree.c, reload.c, tree-scalar-evolution.c, rtlanal.c,
+       tree-phinodes.c, builtins.c, final.c, genoutput.c, fold-const.c,
+       tree-ssa-dse.c, genautomata.c, tree-ssa-uncprop.c, toplev.c,
+       tree-chrec.c, genemit.c, c-cppbuiltin.c, tree-ssa-sccvn.c,
+       tree-ssa-ccp.c, tree-ssa-loop-ivopts.c, mode-switching.c,
+       tree-call-cdce.c, cse.c, genpeep.c, tree-ssa-math-opts.c,
+       tree-ssa-dom.c, tree-nrv.c, tree-ssa-propagate.c, tree-ssa-alias.c,
+       tree-ssa-sink.c, jump.c, ifcvt.c, dwarf2out.c, expr.c, genattrtab.c,
+       genconditions.c, tree-ssa-loop-ivcanon.c, tree-ssa-loop.c,
+       tree-parloops.c, recog.c, tree-ssa-address.c, lcm.c, tree-eh.c,
+       gimple-pretty-print.c, c-pretty-print.c, print-rtl.c, gcse.c,
+       tree-if-conv.c, tree-data-ref.c, tree-affine.c, gimplify.c,
+       tree-ssa-phiopt.c, implicit-zee.c, expmed.c, tree-dfa.c, emit-rtl.c,
+       store-motion.c, cselib.c, tree-cfgcleanup.c, simplify-rtx.c,
+       tree-ssa-pre.c, genpreds.c, tree-mudflap.c, print-tree.c,
+       tree-ssa-copy.c, tree-ssa-forwprop.c, tree-ssa-dce.c, varasm.c,
+       tree-nested.c, tree-ssa.c, tree-ssa-loop-prefetch.c, rtl.c,
+       tree-inline.c, integrate.c, tree-optimize.c, tree-ssa-phiprop.c,
+       fixed-value.c, combine.c, tree-profile.c, c-common.c, sched-vis.c,
+       tree-cfg.c, passes.c, tree-ssa-reassoc.c, config/alpha/alpha.c,
+       config/frv/frv.c, config/s390/s390.c, config/m32c/m32c.c,
+       config/spu/spu.c, config/sparc/sparc.c, config/mep/mep.c,
+       config/m32r/m32r.c, config/rx/rx.c, config/i386/i386.c,
+       config/sh/sh.c, config/pdp11/pdp11.c, config/avr/avr.c,
+       config/crx/crx.c, config/xtensa/xtensa.c, config/stormy16/stormy16.c,
+       config/fr30/fr30.c, config/lm32/lm32.c, config/moxie/moxie.c,
+       config/m68hc11/m68hc11.c, config/cris/cris.c, config/iq2000/iq2000.c,
+       config/mn10300/mn10300.c, config/ia64/ia64.c, config/m68k/m68k.c,
+       config/rs6000/rs6000.c, config/picochip/picochip.c, config/darwin.c,
+       config/arc/arc.c, config/mcore/mcore.c, config/score/score3.c,
+       config/score/score7.c, config/score/score.c, config/arm/arm.c,
+       config/pa/pa.c, config/mips/mips.c, config/vax/vax.c,
+       config/h8300/h8300.c, config/v850/v850.c, config/mmix/mmix.c,
+       config/bfin/bfin.c:
+       Clean up redundant includes.
+       * Makefile.in: Update accordingly.
+
+2010-05-21  Nathan Froyd  <froydnj@codesourcery.com>
+
+       PR middle-end/44204
+       * builtins.c (fold_call_stmt): Pass &error_mark_node if the call
+       statement has no arguments.
+
+2010-05-21  Kai Tietz  <kai.tietz@onevision.com>
+
+       PR/44139
+       * varasm.c (emutls_decl): Merge attributes to new decl.
+
+2010-05-21  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR middle-end/44101
+       * gimplify.c (gimplify_init_constructor): Build a VIEW_CONVERT_EXPR
+       around the uniquized constructor if its type requires a conversion.
+
+2010-05-21  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/44205
+       * tree-cfgcleanup.c (tree_forwarder_block_p): Return false if
+       at -O0 goto_locus of any of the incoming edges differs from
+       goto_locus of outgoing edge, or gimple_location of any of the
+       labels differs.
+
+2009-09-14  Vladimir Makarov <vmakarov@redhat.com>
+
+       * ira.c (ira_non_ordered_class_hard_regs): Define.
+        (setup_class_hard_regs): Initialize ira_non_ordered_class_hard_regs.
+       * ira-int.h (ira_non_ordered_class_hard_regs): Declare.
+       * ira-costs.c (ira_tune_allocno_costs_and_cover_classes): Increase
+       cost of unaligned hard regs when allocating multi-reg pseudos.
+
+2010-05-20  Richard Sandiford  <rdsandiford@googlemail.com>
+
+       * config.gcc (mips*-sde-elf*): Don't use sdemtk.opt.
+       * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Define __mips_no_float
+       for TARGET_NO_FLOAT.
+       * config/mips/mips.c (mips_file_start): Expand conditional expression
+       into "if" statements.  Use .gnu_attribute 4,0 for TARGET_NO_FLOAT.
+       (mips_override_options): Move -mno-float override -msoft-float and
+       -mhard-float.
+       * config/mips/mips.opt (mno-float): Move from sdemtk.opt, but add
+       Condition(TARGET_SUPPORTS_NO_FLOAT).
+       * config/mips/sdemtk.h (TARGET_OS_CPP_BUILTINS): Don't set
+       __mips_no_float here.
+       (SUBTARGET_OVERRIDE_OPTIONS): Delete.
+       (TARGET_SUPPORTS_NO_FLOAT): Define.
+       * config/mips/sdemtk.opt: Delete.
+
+2010-05-20  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       * ipa-prop.c (compute_complex_ancestor_jump_func): Bail
+       out if !cond.
+
+2010-05-20  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR target/43733
+       * configure.ac (gcc_cv_as_ix86_sahf): Switch to 64bit mode.
+       * configure: Regenerate.
+       * config.in: Regenerate.
+       * config/i386/i386.md (x86_sahf_1): Conditionally output 0x9e
+       instead of sahf only for 64bit targets.
+
+2010-05-20  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/44178
+       * haifa-sched.c (initiate_bb_reg_pressure_info): Do not call
+       setup_ref_regs for DEBUG_INSNs.
+
+2010-05-20  Jan Hubicka  <jh@suse.cz>
+
+       PR middle-end/44197
+       * varpool.c (varpool_remove_node): Handle in-varpool aliases.
+
+2010-05-20  Kenneth Zadeck  <zadeck@naturalbridge.com>
+
+       PR bootstrap/43870
+       * df-scan.c (df_ref_compare): Stabilize sort.
+
+2010-05-20  Jakub Jelinek  <jakub@redhat.com>
+
+       * dwarf2out.c (new_loc_descr_op_bit_piece): Add offset
+       argument.  Don't use DW_OP_piece if offset is non-zero,
+       put offset into second DW_OP_bit_piece argument.
+       (dw_sra_loc_expr): Adjust callers.  For memory expressions
+       compute offset.
+
+2010-05-20  Hans-Peter Nilsson  <hp@axis.com>
+
+       PR target/44202
+       * config/cris/cris.md ("*addsi3_v32"): Correct "cc"
+       settings for 16-bit-constant "addo" alternative.
+
+2010-05-19  James E. Wilson  <wilson@codesourcery.com>
+
+       * config/mips/mips-dsp.md (add<DSPV:mode>3,
+       mips_add<DSP:dspfmt1>_s_<DSP:dspfmt2>): Add ISA_HAS_DSP condition.
+
+       PR target/43764
+       * mips.c (mips_call_expr_from_insn): New arg second_call.  Set it.
+       (mips_annotate_pic_calls): Pass new arg to mips_call_expr_from_insn.
+       Use it.
+
+2010-05-19  Joseph Myers  <joseph@codesourcery.com>
+
+       * diagnostic.c (FLOAT, FFS): Don't undefine.
+       * passes.c, pretty-print.c, rtl-error.c, toplev.c: Likewise.
+       * cse.c, regmove.c: Remove comments about stdio.h and rtl.h
+       include ordering.
+
+2010-05-19  Richard Sandiford  <rdsandiford@googlemail.com>
+
+       * combine.c (propagate_for_debug): Call make_compound_operation
+       on the source value.
+       (try_combine): When implementing a split chosen by find_split_point,
+       either copy i2src or set it to null.  Assert that i2src is not null
+       before substituting into CALL_INSN_FUNCTION_USAGE.
+
+2010-05-19  Anatoly Sokolov  <aesok@post.ru>
+
+       * double-int.h (double_int_ior): New function.
+       * tree.h (build_int_cst_wide_type): Remove.
+       * tree.c (build_int_cst_wide_type): Remove.
+       * fold-const.c (native_interpret_int): Use double_int_to_tree instead
+       of build_int_cst_wide_type.
+       * stor-layout.c (set_sizetype): (Ditto.).
+       * dojump.c (do_jump): Use build_int_cstu instead of
+       build_int_cst_wide_type.
+
+2010-05-19  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * langhooks.h (struct lang_hooks): Add new field deep_unsharing.
+       * langhooks-def.h (LANG_HOOKS_DEEP_UNSHARING): New macro.
+       (LANG_HOOKS_INITIALIZER): Add LANG_HOOKS_DEEP_UNSHARING.
+       * gimplify.c: (mostly_copy_tree_r): Copy trees under SAVE_EXPR and
+       TARGET_EXPR nodes, but only once, if instructed to do so.  Do not
+       propagate the 'data' argument to copy_tree_r.
+       (copy_if_shared_r): Remove bogus ATTRIBUTE_UNUSED marker.
+       Propagate 'data' argument to walk_tree.
+       (copy_if_shared): New function.
+       (unmark_visited_r): Remove bogus ATTRIBUTE_UNUSED marker.
+       (unmark_visited): New function.
+       (unshare_body): Call copy_if_shared instead of doing it manually.
+       (unvisit_body): Call unmark_visited instead of doing it manually.
+
+2010-05-19  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * hooks.h (hook_tree_tree_tree_bool_null): Rename to...
+       (hook_tree_tree_int_treep_bool_null): ...this.  Update signature.
+       * hooks.c: Likewise.
+       * target-def.h (TARGET_FOLD_BUILTIN): Define to
+       hook_tree_tree_int_treep_bool_null.
+       * target.h: (struct gcc_target): Update signature of fold_builtin
+       field.
+       * doc/tm.texi (TARGET_FOLD_BUILTIN): Update description and signature.
+       * builtins.c (fold_call_expr): Pass call_expr_nargs and CALL_EXPR_ARGP
+       instead of the call expression.
+       (fold_builtin_call_array): Pass n and argarray directly.
+       (fold_call_stmt): Pass nargs and gimple_call_arg_ptr instead of
+       consing a list.
+       * config/alpha/alpha.c (alpha_fold_builtin): Update signature.  Lift
+       MAX_ARGS check out of the loop.  Delete declaration of `arity', declare
+       `i' and use it in place of `arity'.
+       * config/sparc/sparc.c (sparc_fold_builtin): Update signature.
+       Dereference `args' directly.
+       * config/xtensa/xtensa (xtensa_fold_builtin): Likewise.
+
+2010-05-19  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * doc/sourcebuild.texi (Effective-Target Keywords): Document
+       3dnow, sse3, sse2.
+       (Directives): Document optional dg-require-effective-target
+       selector.
+
+2010-05-19  Richard Guenther  <rguenther@suse.de>
+
+       PR lto/44196
+       * tree.c (find_decls_types_r): Walk BLOCKs and its vars.
+
+2010-05-19  Richard Guenther  <rguenther@suse.de>
+
+       * doc/invoke.texi (-fwhopr): Document new optional jobs argument.
+       * common.opt (fwhopr=): New.
+       * opts.c (common_handle_option): Handle OPT_fwhopr.
+       * gcc.c (LINK_COMMAND_SPEC): Pass fwhopr*.
+       * collect2.c (main): Match -fwhopr*.
+       * lto-wrapper.c (run_gcc): Handle jobs argument of -fwhopr.
+       Execute ltrans stage in parallel when jobs is bigger than 1.
+
+2010-05-19  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * config.gcc (i[34567]86-*-solaris2*): Default with_arch_32 to
+       pentiumpro on Solaris 8/x86 with Sun as.
+       * configure.ac (gcc_cv_as_hidden): Check for Solaris 9/x86 as
+       hidden alias bug.
+       (gcc_cv_as_ix86_quad): Check for .quad directive.
+       * configure: Regenerate.
+       * config.in: Regenerate.
+       * config/i386/sol2.h (ASM_QUAD): Change guard to !HAVE_AS_IX86_QUAD.
+
+2010-05-19  Martin Jambor  <mjambor@suse.cz>
+
+       * ipa-prop.c (ipa_print_node_jump_functions): Print jump functions
+       also for indirect edges.  Actual printing moved...
+       (ipa_print_node_jump_functions_for_edge): ...here.
+       (ipa_compute_jump_functions): Renamed to
+       ipa_compute_jump_functions_for_edge and made static.
+       (ipa_compute_jump_functions): New function.
+       (make_edge_direct_to_target): Check if the number of arguments on
+       the newly direct edge is the same as the number of parametrs of
+       the callee.
+       * ipa-cp.c (ipcp_init_stage): Most functionality moved to new
+       ipa_compute_jump_functions.  Call ipa_analyze_params_uses.
+       * ipa-inline.c (inline_indirect_intraprocedural_analysis): Call
+       analysis functions unconditionally, call the new
+       ipa_analyze_params_uses on the node instead of every edge.
+
+2010-05-19  Christian Borntraeger  <borntraeger@de.ibm.com>
+
+       * tree-ssa-loop-prefetch.c (mem_ref_group, ar_data): Change step
+       to tree.
+       (dump_mem_ref): Adopt debug code to handle a tree as step.  This
+       also checks for a constant int vs.  non-constant but
+       loop-invariant steps.
+       (find_or_create_group): Change the sort algorithm to only consider
+       steps that are constant ints.
+       (idx_analyze_ref): Adopt code to handle a tree instead of a
+       HOST_WIDE_INT for step.
+       (gather_memory_references_ref): Handle tree instead of int and be
+       prepared to see a NULL_TREE.
+       (prune_ref_by_self_reuse, prune_ref_by_group_reuse): Do not prune
+       prefetches if the step cannot be calculated at compile time.
+       (issue_prefetch_ref): Issue prefetches for non-constant but
+       loop-invariant steps.
+
+2010-05-18  Nathan Froyd  <froydnj@codesourcery.com>
+
+       Revert:
+       2010-05-18  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * tree.h (build_call_list): Remove.
+       * tree.c (build_call_list): Remove.
+
+2010-05-18  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * tree.h (build_call_list): Remove.
+       * tree.c (build_call_list): Remove.
+
+2010-05-18  Jan Hubicka  <jh@suse.cz>
+
+       * ipa-reference.c (propagate): Walk all nodes in the cleanup stage.
+
+2010-05-18  Vladimir Makarov  <vmakarov@redhat.com>
+
+       PR rtl-optimization/43332
+       * haifa-sched.c (setup_insn_max_reg_pressure): Check barrier.
+
+2010-05-18  Anatoly Sokolov  <aesok@post.ru>
+
+       * tree.h (build_int_cstu): Implement as static inline.
+       * tree.c (build_int_cstu): Remove function.
+       (double_int_to_tree, double_int_fits_to_tree_p): Handle size types as
+       sign extended.
+
+2010-05-18  Richard Guenther  <rguenther@suse.de>
+
+       PR lto/44143
+       * lto-wrapper.c (verbose): New variable.  Initialize from -v.
+       (debug): Initialize from -save-temps.
+       (collect_execute): Print command-line when verbose.
+       (run_gcc): Always use COLLECT_GCC_OPTIONS.  Use fork_execute
+       for ltrans invocation.  Produce -dumpbase flag again.
+       (process_args): Remove.
+       (main): Simplify.
+       * collect2.c (maybe_run_lto_and_relink): Only pass object
+       files to lto-wrapper.
+       * gcc.c (LINK_COMMAND_SPEC): Likewise.
+
+2010-05-18  Jan Hubicka  <jh@suse.cz>
+
+       * opts.c (decode_options): Do not disable whopr at ipa_cp.
+       * ipa-prop.c (ipa_detect_param_modifications): Walk PHI nodes too.
+
+2010-05-18  Steven Bosscher  <steven@gcc.gnu.org>
+
+       PR lto/44184
+       * lto-streamer-out.c (output_gimple_stmt): Output number of labels
+       in a GIMPLE_ASM.
+       * lto-streamer-in.c (input_gimple_stmt): Read number of labels
+       in a GIMPLE_ASM.
+
+2010-05-18  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/41371
+       * var-tracking.c (find_loc_in_1pdv): Add a few checks from
+       rtx_equal_p inline.
+
 2010-05-18  Steven Bosscher  <steven@gcc.gnu.org>
 
        * config.gcc (powerpc-*-darwin*, powerpc64-*-darwin*): Add
        * configure.ac (HAVE_AS_IX86_REP_LOCK_PREFIX): New test.
        * configure: Regenerate.
        * config.in: Regenerate.
-       * config/i386/i386.c (print_operand) <case ;>: Also print ; if
+       * config/i386/i386.c (print_operand) <case ;>: Also print ";" if
        !HAVE_AS_IX86_REP_LOCK_PREFIX.
        Don't emit whitespace.
        * config/i386/i386.md (*rep_movdi_rex64): Use {%;} after rep.
        add BARRIER after previous bb if needed.
 
 2010-05-17  Nathan Froyd  <froydnj@codesourcery.com>
+
        * tree.c (build_function_type_list_1): Remove bogus assert condition.
+
 2010-05-17  Alan Modra  <amodra@gmail.com>
 
        * config/rs6000/rs6000.c (rs6000_emit_allocate_stack): Delete
 
 2010-05-17  Christian Borntraeger  <borntraeger@de.ibm.com>
 
-        * config/s390/s390.c: Define sane prefetch settings and activate
-        flag_prefetch_loop_arrays on -O3.
-        * config/s390/s390.h: Declare that read can use write prefetch.
+       * config/s390/s390.c: Define sane prefetch settings and activate
+       flag_prefetch_loop_arrays on -O3.
+       * config/s390/s390.h: Declare that read can use write prefetch.
 
 2010-05-17  Jakub Jelinek  <jakub@redhat.com>