X-Git-Url: http://git.sourceforge.jp/view?p=pf3gnuchains%2Fgcc-fork.git;a=blobdiff_plain;f=gcc%2FChangeLog;h=bfca2171be22b9da53153156c6d5e23e5cd86e59;hp=06529f51a05b8380ec3f2a073e519c845e4efacd;hb=c987a7a517d54e91b44ccf00b39e1a0bfefbff34;hpb=f340b9ff53592df09b29ca7b0972630298f9e531 diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 06529f51a05..bfca2171be2 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,6379 +1,3 @@ -2010-05-21 Jason Merrill - - * tree-eh.c (cleanup_is_dead_in): New. - (lower_try_finally): Don't generate a dead cleanup region. - (lower_cleanup): Likewise. - -2010-05-21 Jakub Jelinek - - PR debug/44223 - * haifa-sched.c (schedule_insn): When freeing INSN_REG_USE_LIST, - unchain each use from the cyclic next_regno_use chain first. - -2010-05-21 Steven Bosscher - - * 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 - - * config/s390/s390.c (override_options): Increase the default - of max-completely-peel-times. - -2010-05-21 Julian Brown - Mark Mitchell - - * 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 - - * config.gcc (sparc64-*-rtems*): New target. - -2010-05-21 Nathan Froyd - - * tree.c (build_function_decl_skip_args): Fix grammar. - (build_function_type_list_1): Fix typos, adjust formatting. - -2010-05-21 Steven Bosscher - - * 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 - - 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 - - PR/44139 - * varasm.c (emutls_decl): Merge attributes to new decl. - -2010-05-21 Eric Botcazou - - 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 - - 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 - - * 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 - - * 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 - - * ipa-prop.c (compute_complex_ancestor_jump_func): Bail - out if !cond. - -2010-05-20 Uros Bizjak - - 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 - - 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 - - PR middle-end/44197 - * varpool.c (varpool_remove_node): Handle in-varpool aliases. - -2010-05-20 Kenneth Zadeck - - PR bootstrap/43870 - * df-scan.c (df_ref_compare): Stabilize sort. - -2010-05-20 Jakub Jelinek - - * 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 - - PR target/44202 - * config/cris/cris.md ("*addsi3_v32"): Correct "cc" - settings for 16-bit-constant "addo" alternative. - -2010-05-19 James E. Wilson - - * config/mips/mips-dsp.md (add3, - mips_add_s_): 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * doc/sourcebuild.texi (Effective-Target Keywords): Document - 3dnow, sse3, sse2. - (Directives): Document optional dg-require-effective-target - selector. - -2010-05-19 Richard Guenther - - PR lto/44196 - * tree.c (find_decls_types_r): Walk BLOCKs and its vars. - -2010-05-19 Richard Guenther - - * 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 - - * 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 - - * 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 - - * 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 - - Revert: - 2010-05-18 Nathan Froyd - - * tree.h (build_call_list): Remove. - * tree.c (build_call_list): Remove. - -2010-05-18 Nathan Froyd - - * tree.h (build_call_list): Remove. - * tree.c (build_call_list): Remove. - -2010-05-18 Jan Hubicka - - * ipa-reference.c (propagate): Walk all nodes in the cleanup stage. - -2010-05-18 Vladimir Makarov - - PR rtl-optimization/43332 - * haifa-sched.c (setup_insn_max_reg_pressure): Check barrier. - -2010-05-18 Anatoly Sokolov - - * 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 - - 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 - - * 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 - - 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 - - PR debug/41371 - * var-tracking.c (find_loc_in_1pdv): Add a few checks from - rtx_equal_p inline. - -2010-05-18 Steven Bosscher - - * config.gcc (powerpc-*-darwin*, powerpc64-*-darwin*): Add - lto-macho as lto_binary_reader. - - * darwin.c (darwin_asm_named_section): Do not add assembler comment - after .section directive; just print it before the directive instead. - -2010-05-17 Jan Hubicka - - * cgraph.c (cgraph_create_virtual_clone): Only check - versionable_function_p when not in wpa and checking is enabled. - * cgraphunit.c (cgraph_materialize_all_clones): Stabilize after - there are no more functions to materialize. - -2010-05-17 Jan Hubicka - - * cgraph.h (struct ipa_replace_map): Add parm_num parameter. - * lto-cgraph.c (output_cgraph_opt_summary, input_cgraph_opt_summary): - New functions. - (output_cgraph): Call output_cgraph_opt_summary. - (input_cgrpah): Call input_cgraph_opt_summary. - (output_cgraph_opt_summary_p, output_node_opt_summary, - input_node_opt_summary, input_cgraph_opt_section): New functions. - * lto-section-in.c (lto_section_name): Add cgraphopt. - * tree-inline.c (tree_function_versioning): Handle parm_num. - * lto-streamer.c (lto_get_section_name): Handle cgraphopt. - * lto-streamer.h (lto_section_type): Add LTO_section_cgraph_opt_sum. - -2010-05-17 Changpeng Fang - - * doc/invoke.texi: Update documentation for min-insn-to-prefetch-ratio. - * tree-ssa-loop-prefetch.c (is_loop_prefetching_profitable): Also apply - the insn to prefetch ratio heuristic to loops with known trip count. - -2010-05-17 Changpeng Fang - - * tree-ssa-loop-prefetch.c (PREFETCH_MOD_TO_UNROLL_FACTOR_RATIO): New. - (schedule_prefetches): Do not generate a prefetch if the unroll factor - is far from what is required by the prefetch. - -2010-05-17 Jan Hubicka - - * ipa-cp.c (ipcp_update_callgraph): Use ipa_is_param_used. - (ipcp_estimate_growth): Likewise. - (ipcp_const_param_count): Likewise. - (ipcp_insert_stage): Likewise. - * ipa-prop.c (visit_load_for_mod_analysis): New function. - (visit_store_addr_for_mod_analysis): Set used flag. - (ipa_detect_param_modifications): Set used flag for SSE params; - update use of walk_stmt_load_store_addr_ops. - (ipa_print_node_params): Print used flag. - (ipa_write_node_info): Stream used flag. - (ipa_read_node_info): Likewise. - * ipa-prop.h (struct ipa_param_descriptor): Add used field. - (ipa_is_param_used): New function. - (lto_ipa_fixup_call_notes): Remove unused declaration. - -2010-05-17 Rainer Orth - - PR target/44074 - * configure.ac (HAVE_AS_IX86_REP_LOCK_PREFIX): New test. - * configure: Regenerate. - * config.in: Regenerate. - * config/i386/i386.c (print_operand) : Also print ";" if - !HAVE_AS_IX86_REP_LOCK_PREFIX. - Don't emit whitespace. - * config/i386/i386.md (*rep_movdi_rex64): Use {%;} after rep. - (*rep_movsi): Likewise. - (*rep_movsi_rex64): Likewise. - (*rep_movqi): Likewise. - (*rep_movqi_rex64): Likewise. - (*rep_stosdi_rex64): Likewise. - (*rep_stossi): Likewise. - (*rep_stossi_rex64): Likewise. - (*rep_stosqi): Likewise. - (*rep_stosqi_rex64): Likewise. - (*cmpstrnqi_nz_1): Use {%;} after repz. - (*cmpstrnqi_nz_rex_1): Likewise. - (*cmpstrnqi_1): Likewise. - (*cmpstrnqi_rex_1): Likewise. - (*strlenqi_1): Use {%;} after repnz. - (*strlenqi_rex_1): Likewise. - * config/i386/sync.md (memory_barrier_nosse): Replace {%;| } by {%;} . - (*sync_compare_and_swap): Likewise. - (sync_double_compare_and_swap): Likewise. - (*sync_double_compare_and_swapdi_pic): Likewise. - (sync_old_add): Likewise. - (sync_add): Likewise. - (sync_sub): Likewise. - (sync_): Likewise. - -2010-05-17 Martin Jambor - - * cgraph.h (cgraph_indirect_call_info): New fields anc_offset, - otr_token and polymorphic. - * cgraph.c (cgraph_create_indirect_edge): Inilialize the above fields. - (cgraph_clone_edge): Copy the above fields. - * tree.c (get_binfo_at_offset): New function. - * tree.h (get_binfo_at_offset): Declare. - * ipa-prop.h (enum jump_func_type): Added known_type jump function - type, reordered items, updated comments. - (union jump_func_value): Added base_type field, reordered fields. - (enum ipa_lattice_type): Moved down in the file. - (struct ipa_param_descriptor): New field polymorphic. - (ipa_is_param_polymorphic): New function. - * ipa-prop.c: Include gimple.h and gimple-fold.h. - (ipa_print_node_jump_functions): Print known type jump functions. - (compute_complex_pass_through): Renamed to... - (compute_complex_assign_jump_func): this. - (compute_complex_ancestor_jump_func): New function. - (compute_known_type_jump_func): Likewise. - (compute_scalar_jump_functions): Create known type and complex ancestor - jump functions. - (ipa_note_param_call): New parameter polymorphic, set the corresponding - flag in the call note accordingly. - (ipa_analyze_call_uses): Renamed to... - (ipa_analyze_indirect_call_uses): this. New parameter target, define - variable var only in the block where it is used. - (ipa_analyze_virtual_call_uses): New function. - (ipa_analyze_call_uses): Likewise. - (combine_known_type_and_ancestor_jfs): Likewise. - (update_jump_functions_after_inlining): Implemented handling of a - number of new jump function types combination. - (print_edge_addition_message): Removed. - (make_edge_direct_to_target): New function. - (try_make_edge_direct_simple_call): Likewise. - (try_make_edge_direct_virtual_call): Likewise. - (update_call_notes_after_inlining): Renamed to... - (update_indirect_edges_after_inlining): this. Moved edge creation for - indirect calls to try_make_edge_direct_simple_call, also calls - try_make_edge_direct_virtual_call for virtual calls. - (ipa_print_node_params): Changed the header message. - (ipa_write_jump_function): Stream also known type jump functions. - (ipa_read_jump_function): Likewise. - (ipa_write_indirect_edge_info): Stream new fields in - cgraph_indirect_call_info. - (ipa_read_indirect_edge_info): Likewise. - * Makefile.in (ipa-prop.o): Add dependency to GIMPLE_H and - GIMPLE_FOLD_H. - -2010-05-17 Rainer Orth - - * config/i386/sol2.h (TARGET_SUN_TLS): Remove duplicate definition. - -2010-05-17 Nathan Froyd - - * tree.h (CALL_EXPR_ARGS): Delete. - (call_expr_arglist): Delete. - * tree.c (call_expr_arglist): Delete. - * builtins.c (fold_call_expr): Pass the whole CALL_EXPR to - targetm.fold_builtin. - * config/alpha/alpha.c (alpha_fold_builtin): Rename arglist parameter. - Rewrite iteration to work on call_expr_nargs rather than TREE_CHAIN. - * config/picochip/picochip.c (picochip_expand_builtin_2op): Rename - arglist parameter. Use CALL_EXPR_ARG. - (picochip_expand_builtin_3op): Likewise. - (picochip_expand_builtin_2opvoid): Likewise. - (picochip_expand_array_get): Likewise. - (picochip_expand_array_put): Likewise. - (picochip_expand_array_testport): Likewise. - (picochip_expand_builtin): Don't call CALL_EXPR_ARGS. Pass exp - rather than arglist. - * config/rx/rx.c (rx_expand_builtin): Call call_expr_nargs instead of - CALL_EXPR_ARGS. - * config/sparc/sparc.c (sparc_fold_builtin): Use CALL_EXPR_ARG rather - than TREE_VALUE and TREE_CHAIN. - * config/xtensa/xtensa.c (xtensa_fold_builtin): Likewise. - * doc/tm.texi (TARGET_FOLD_BUILTIN): Pass CALL_EXPR tree instead of - the arglist. - -2010-05-17 Jakub Jelinek - - PR bootstrap/42347 - * cfglayout.c (fixup_reorder_chain): Allow returnjump_p - to have no fallthru edge. - - PR middle-end/44102 - * cfgcleanup.c (try_optimize_cfg): When removing trivially empty - bb with no successors, move footer whenever in IR_RTL_CFGLAYOUT - mode, not just when CLEANUP_CFGLAYOUT, and when in IR_RTL_CFGRTL - add BARRIER after previous bb if needed. - -2010-05-17 Nathan Froyd - - * tree.c (build_function_type_list_1): Remove bogus assert condition. - -2010-05-17 Alan Modra - - * config/rs6000/rs6000.c (rs6000_emit_allocate_stack): Delete - unnecessary prototype. Replace copy_r12 and copy_r11 flag params - with copy_reg rtx param. - (rs6000_emit_prologue): Update rs6000_emit_allocate_stack calls. - Correct cases where code for ABI_V4 did not initialise the reg - used to access frame. Also leave frame_reg_rtx as sp for large - frames that save no regs. - -2010-05-17 Martin Jambor - - PR middle-end/44133 - * tree-sra.c (create_access_replacement): New parameter rename, mark - the replaement for renaming only when it is true. - (get_access_replacement): Pass true in the rename parameter of - create_access_replacement. - (get_unrenamed_access_replacement): New function. - (replace_uses_with_default_def_ssa_name): New parameter racc, get the - replacement declaration from it. - -2010-05-17 Bernd Schmidt - - * function.c (try_fit_stack_local, add_frame_space): New static - functions. - (assign_stack_local_1): Use them. Look for opportunities to use - space previously wasted on alignment. - * function.h (struct frame_space): New. - (struct rtl_data): Add FRAME_SPACE_LIST member. - * reload1.c (something_was_spilled): New static variable. - (alter_reg): Set it. - (reload): Test it in addition to testing if the frame size changed. - -2010-05-17 Christian Borntraeger - - * 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 - - * lto-streamer-out.c (lto_output): Fix --enable-checking=release - build. - -2010-05-16 Jan Hubicka - - * ipa-cp.c (ipcp_versionable_function_p): Walk cgraph edges instead of - function body; do not check stdarg field of struct function. - -2010-05-16 Jan Hubicka - - * cgraph.c (dump_cgraph_node): Dump versionable flag. - * cgraph.h (cgraph_local_info): Add versionable flag. - * ipa-cp.c (ipcp_analyze_node): Set versionable flag. - (ipcp_versionable_function_p): Use it. - * lto-cgraph.c (lto_output_node, input_overwrite_node): Stream - versionable flag. - -2010-05-16 Jan Hubicka - - * cgraph.c (cgraph_clone_node): Take decl argument and insert - clone into hash when it is different from orig. - (cgraph_create_virtual_clone): Update use of cgraph_clone_node. - * cgraph.h (cgraph_clone_node): Update prototype. - * lto-cgrpah.c (lto_cgraph_encoder_new): Create body map. - (lto_cgraph_encoder_delete): Delete body map. - (lto_cgraph_encoder_size): Move to header. - (lto_cgraph_encoder_encode_body_p, - lto_set_cgraph_encoder_encode_body): New. - (lto_output_node): Do not take written_decls argument; output clone_of - pointer. - (add_node_to): Add include_body_argument; call - lto_set_cgraph_encoder_encode_body on master of the clone. - (add_references): Update use of add_node_to. - (compute_ltrans_boundary): Likewise. - (output_cgraph): Do not create written_decls bitmap. - (input_node): Take nodes argument; stream in clone_of correctly. - (input_cgraph_1): Update use of input_node. - * lto-streamer-out.c (lto_output): Use encoder info to decide - what bodies to output. - * ipa-inline.c (cgraph_clone_inlined_nodes, - cgraph_decide_recursive_inlining): Update call of cgraph_clone_node. - * lto-streamer.h (lto_cgraph_encoder_d): Add body. - (lto_cgraph_encoder_size): Define here. - (lto_cgraph_encoder_encode_body_p, lto_varpool_encoder_encode_body_p): - Declare. - -2010-05-16 Richard Guenther - - * doc/invoke.texi (-fipa-struct-reorg): Do not mention - -fipa-type-escape. - * ipa-type-escape.c (gate_type_escape_vars): Run when - -fipa-struct-reorg runs. - * opts.c (decode_options): Do not unset flag_ipa_type_escape. - * common.opt (fipa-type-escape): Remove. - -2010-05-16 Eric Botcazou - - * opts.c (handle_option): Call into LTO streamer only if ENABLE_LTO. - (decode_options): Likewise. - * Makefile.in (opts.o): Add dependency on LTO_STREAMER_H. - -2010-05-16 Jan Hubicka - - * ipa.c (function_and_variable_visibility): Also bring local all - aliases. - -2010-05-16 Richard Guenther - - * alias.c (nonoverlapping_memrefs_p): Remove use of - IPA type-escape information. - -2010-05-16 Joseph Myers - - * c-common.c (c_common_reswords): Add _Static_assert for C. - * c-parser.c (c_token_starts_declaration, - c_parser_next_token_starts_declaration, - c_parser_static_assert_declaration_no_semi, - c_parser_static_assert_declaration): New. - (c_parser_declaration_or_fndef): Add parameter static_assert_ok. - Handle static assertions if static_assert_ok. - (c_parser_external_declaration, c_parser_declaration_or_fndef, - c_parser_compound_statement_nostart, c_parser_label, - c_parser_for_statement, c_parser_objc_methodprotolist, - c_parser_omp_for_loop): All callers of - c_parser_declaration_or_fndef changed. - (c_parser_struct_declaration): Handle static assertions. - (c_parser_compound_statement_nostart): Use - c_parser_next_token_starts_declaration and - c_token_starts_declaration to detect start of declarations. - (c_parser_label, c_parser_for_statement, c_parser_omp_for_loop): - Likewise. - -2010-05-16 Anatoly Sokolov - - * config/mmix/mmix.h (FUNCTION_VALUE, FUNCTION_OUTGOING_VALUE, - LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P): Remove macros. - * config/mmix/mmix.c (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE, - TARGET_FUNCTION_VALUE_REGNO_P): Define. - (mmix_function_outgoing_value): Rename to... - (mmix_function_value): ...this. Make static. Add 'outgoing' argument. - (mmix_function_value_regno_p): Make static. - (mmix_libcall_value): New function. - * config/mmix/mmix-protos.h (mmix_function_outgoing_value, - mmix_function_value_regno_p): Remove declaration. - -2010-05-16 Eric Botcazou - - * tree.c (build_common_builtin_nodes): Always clear TREE_NOTHROW on - BUILT_IN_ALLOCA if stack checking is enabled. - -2010-05-16 Richard Guenther - - * var-tracking.c (vars_copy_1): Inline ... - (vars_copy): ... here. Use FOR_EACH_HTAB_ELEMENT. - (variable_union): Use FOR_EACH_HTAB_ELEMENT. Merge asserts. - (variable_merge_over_cur): Adjust. Merge asserts. - (variable_merge_over_src): Likewise. - (dataflow_set_merge): Use FOR_EACH_HTAB_ELEMENT. - (variable_post_merge_new_vals): Merge asserts. - (variable_post_merge_perm_vals): Likewise. - (find_mem_expr_in_1pdv): Likewise. - (dataflow_set_different_value): Remove. - (onepart_variable_different_p): Merge asserts. - (variable_different_p): Likewise. - (dataflow_set_different_1): Inline ... - (dataflow_set_different): ... here. Use FOR_EACH_HTAB_ELEMENT. - (emit_notes_for_differences_1): Merge asserts. - -2010-05-16 Richard Guenther - - * lto-symtab.c (lto_symtab_entry_hash): Use IDENTIFIER_HASH_VALUE. - * optabs.c (libfunc_decl_hash): Likewise. - * varasm.c (emutls_decl): Likewise. - -2010-05-16 Steven Bosscher - - * c-decl.c: Don't include gimple.h. - (merge_decls): Do not copy gimple_body. - -2010-05-15 Jason Merrill - - * c.opt: Add -fnothrow-opt. - -2010-05-15 Jan Hubicka - - * ipa-prop.c (ipa_prop_read_section): Add sanity check that node is - analyzed. - * passes.c (ipa_write_summaries): Write all analyzed nodes. - -2010-05-15 Steven Bosscher - - * vecir.h: New file with VEC primitives for tree, gimple, and rtl. - * Makefile.in: Add it. - Fix all other Makefile dependencies for changes below. - * tree.h: Include it instead of defining VEC primitives here. - * gimple.h: Likewise. - * rtl.h: Likewise. - * tree-inline.h: Inlclude vecir.h instead of gimple.h. - * except.h: Include vecir.h, break dependence on tree.h. - - * gimplify.c (append_to_statement_list_1, append_to_statement_list): - Move from here... - * tree-iterator.c: ...to here. - * tree-iterator.h: Fix file introduction comment. Add extern markers. - - * c-lex.c: Include fixed-value.h instead of rtl.h. Do not include - tm_p.h. - * c-cppbuiltin.c: Explain why debug.h and tm_p.h are included. - * c-objc-common.h: Do not include tm.h, rtl.h, insn-config.h, - integrate.h, function.h, toplev.h, tree-inline.h, ggc.h, - tree-mudflap.h, and target.h. - * c-semantics.c: Do not include except.h, ggc.h, rtl.h, timevar.h, - predict.h, tree-inline.h, gimple.h, and langhooks.h. - * c-decl.c: Do not include expr.h, ggc.h, libfuncs.h, except.h. - Add FIXME for why gimple.h is still included (should be unnecessary - since GCC 4.5 gimplification unit-at-a-time). - * c-typeck.c: Do not include rtl.h, tm_p.h, ggc.h, and gimple.h. - * c-pragma.c: Add FIXME for why function.h needs to be included just - for cfun, at front-end level. - Add note that REGISTER_TARGET_PRAGMAS should probably be a target hook. - Do not include ggc.h, but include vecprim.h for VEC(char). - * c-opts.c: Do not include tm.h, tree-inline.h, and tm_p.h. - Explain why target.h is included. - * c-omp.h: Do not include tm.h, function.h, and bitmap.h. - Explain why gimple.h is included. - * c-ppoutput.c: Do not include tm.h. - * c-common.c: Do not include gimple.h. Explain why expr.h is included. - * c-parses.c: Explain why rtl.h is included, and that this (and only - this) is also why tm.h must be included. - Do not include except.h. - * c-lang.c: Do not include ggc.h. - -2010-05-15 Uros Bizjak - - * targhooks.c (GO_IF_MODE_DEPENDENT_ADDRESS): Use CONST_CAST_RTX. - -2010-05-15 Joseph Myers - - * c-decl.c (grokfield): Allow typedefs for anonymous structs and - unions by default if those structs and unions have no tags. Do - not condition anonymous struct and unions handling on flag_iso. - Allow anonymous structs and unions for C1X. - (finish_struct): Do not diagnose lack of named fields when - anonymous structs and unions present for C1X. Accept flexible - array members in structure with anonymous structs or unions but no - directly named fields. - * doc/extend.texi (Unnamed Fields): Update. - -2010-05-15 Eric Botcazou - - * gimple.h (compare_field_offset): Rename into... - (gimple_compare_field_offset): ...this. - * gimple.c (compare_field_offset): Rename into... - (gimple_compare_field_offset): ...this. Compare the full access if - the offset is self-referential. - (gimple_types_compatible_p): Adjust for above renaming. - * lto-streamer-in.c (input_gimple_stmt): Likewise. Also compare the - DECL_NONADDRESSABLE_P flag of fields before merging them. - -2010-05-15 Nathan Froyd - - * tree.h (ctor_to_list): Delete. - * tree.c (ctor_to_list): Delete. - -2010-05-15 Jan Hubicka - - * ipa-reference.c: Include toplev.h - (is_proper_for_analysis): Only add to all_module_statics - if it is allocated. - (write_node_summary_p, stream_out_bitmap, - ipa_reference_write_optimization_summary, - ipa_reference_read_optimization_summary): New. - (struct ipa_opt_pass_d pass_ipa_reference): Add - optimization summary streaming. - * lto-cgraph.c (referenced_from_this_partition_p, - reachable_from_this_partition_p): New functions. - * tree-ssa-alias.c (ref_maybe_used_by_call_p_1, - call_may_clobber_ref_p_1): Ask ipa-reference even for public vars. - * opts.c (decode_options): Enable ipa_reference. - * Makefile.in (ipa-reference.o): Add toplev.h dependency. - * lto-streamer.h (referenced_from_this_partition_p, - reachable_from_this_partition_p): Declare. - -2010-05-15 Richard Guenther - - PR tree-optimization/44038 - * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Avoid - taking the address of a V_C_E of a constant. - -2010-05-14 Jan Hubicka - - * tree.h (memory_identifier_string): Remove. - * ipa-reference.c: Update comment; do not include gt-ipa-reference.h - (ipa_reference_global_vars_info_d): Remove statics_not_read and - statics_not_written. - (ipa_reference_optimization_summary_d): New structure. - (ipa_reference_optimization_summary_t): New type and vector. - (ipa_reference_vars_info_d): Embedd structures instead of using - pointers. - (reference_vars_to_consider): Remove out of GGC space. - (module_statics_escape): Remove. - (global_info_obstack): Rename to ... - (optimization_summary_obstack): ... this one. - (initialization_status_t): Remove. - (memory_identifier_string): Remove. - (get_reference_vars_info): Fix indenting. - (set_reference_vars_info): Likewise. - (get_reference_optimization_summary): New. - (set_reference_optimization_summary): New. - (get_global_reference_vars_info): Remove. - (ipa_reference_get_read_global): Remove. - (ipa_reference_get_written_global): Remove. - (ipa_reference_get_not_read_global): Update. - (ipa_reference_get_not_written_global): Update. - (is_proper_for_analysis): Outlaw addressable. - (propagate_bits): Update for new datastructures. - (analyze_variable): Remove. - (init_function_info): Update for new datastructures. - (clean_function_local_data): Remove. - (clean_function): Remove. - (copy_global_bitmap): Use optimizations_summary_obstack. - (duplicate_node_data): Duplicate optimization summary only. - (remove_node_data): Remove optimization summary only. - (generate_summary): Do not analyze variables; do not compute - module_statics_escape; do not prune solutions by it. - (read_write_all_from_decl): Fix typos in comments. - (propagate): Doscover readonly and nonaddressable first; - update for new datastructures; share global bitmaps. - * ipa-reference.h (ipa_reference_get_read_global, - ipa_reference_get_written_global): Remove. - * ipa-pure-const.c (check_stmt): Do not use memory_identifier_string. - * Makefile.in: Remove ipa-refereference from GT files. - -2010-05-14 Jakub Jelinek - - PR debug/44112 - * dwarf2out.c (resolve_one_addr): Check TREE_ASM_WRITTEN - for all SYMBOL_REF_DECLs. - -2010-05-14 Jan Hubicka - - * cgraph.h (ipa_discover_readonly_nonaddressable_vars): Declare. - (varpool_all_refs_explicit_p): New inline function. - * ipa-reference.c: Update comment. - (module_statics_written): Remove. - (get_static_decl): Remove. - (ipa_init): Do not initialize module_statics_written. - (analyze_function): Likewise. - (generate_summary): Likewise; do not compute module_statics_readonly - and do not update variable flags. - (propagate): Call ipa_discover_readonly_nonaddressable_vars. - * ipa.c: Inlucde flags.h - (cgraph_local_node_p): New. - (cgraph_remove_unreachable_nodes): Return early when not optimizing; - promote functions to local. - (ipa_discover_readonly_nonaddressable_vars): New function. - (function_and_variable_visibility): Use cgraph_local_node_p. - * varpool.c (varpool_finalize_decl): Set force_output for - DECL_PRESERVE_P vars. - -2010-05-14 Jan Hubicka - - * ipa.c (cgraph_remove_unreachable_nodes): Revert accidental commit. - -2010-05-14 Richard Guenther - - PR tree-optimization/44119 - * tree-ssa-pre.c (eliminate): Properly mark replacement of - a PHI node necessary. - -2010-05-14 Eric Botcazou - - * tree.h (TREE_ADDRESSABLE): Remove bogus usage for FIELD_DECL. - -2010-05-14 Jason Merrill - - PR c++/44127 - * gimple.h (enum gf_mask): Add GF_CALL_NOTHROW. - (gimple_call_set_nothrow): New. - * gimple.c (gimple_build_call_from_tree): Call it. - (gimple_call_flags): Set ECF_NOTHROW from GF_CALL_NOTHROW. - - PR c++/44127 - * gimplify.c (gimplify_seq_add_stmt): No longer static. - * gimple.h: Declare it. - * gimple.c (gimple_build_eh_filter): No ops. - -2010-05-14 Jan Hubicka - - * ipa.c (enqueue_cgraph_node): Update comment; do not re-enqueue - nodes already in queue. - (cgraph_remove_unreachable_nodes): Cleanup; fix problem with - re-enqueueing node. - -2010-05-14 Jakub Jelinek - - PR debug/44136 - * cfgexpand.c (expand_debug_expr): If non-memory op0 - has BLKmode, return NULL. - -2010-05-14 Harsha Jagasia - - * config.gcc: Add support for --with-cpu option for bdver1. - * config/i386/i386.h (TARGET_BDVER1): New macro. - (ix86_tune_indices): Change SSE_UNALIGNED_MOVE_OPTIMAL - to SSE_UNALIGNED_LOAD_OPTIMAL. Add SSE_UNALIGNED_STORE_OPTIMAL. - (ix86_tune_features) :Change SSE_UNALIGNED_MOVE_OPTIMAL - to SSE_UNALIGNED_LOAD_OPTIMAL. Add SSE_UNALIGNED_STORE_OPTIMAL. - Add SSE_PACKED_SINGLE_INSN_OPTIMAL. - (TARGET_CPU_DEFAULT_NAMES): Add bdver1. - (processor_type): Add PROCESSOR_BDVER1. - * config/i386/i386.md: Add bdver1 as a new cpu attribute to match - processor_type in config/i386/i386.h. - Add check for TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL to emit - movaps instead of movapd when replacing - movsd or movss for SSE and AVX. - Add check for TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL - to emit packed xor instead of packed double/packed integer - xor for SSE and AVX when moving a zero value. - * config/i386/sse.md: Add check for - TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL to emit movaps instead of - movapd/movdqa for SSE and AVX. - Add check for TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL to emit packed - single logical operations i.e and, or and xor instead of packed double - logical operations for SSE and AVX. - * config/i386/i386-c.c (ix86_target_macros_internal): - Add PROCESSOR_BDVER1. - * config/i386/driver-i386.c: Turn on -mtune=native for BDVER1. - (has_fma4, has_xop): New. - * config/i386/i386.c (bdver1_cost): New variable. - (m_BDVER1): New macro. - (m_AMD_MULTIPLE): Add m_BDVER1. - (x86_tune_use_leave, x86_tune_push_memory, x86_tune_unroll_strlen, - x86_tune_deep_branch_prediction, x86_tune_use_sahf, x86_tune_movx, - x86_tune_use_simode_fiop, x86_tune_promote_qimode, - x86_tune_add_esp_8, x86_tune_tune_sub_esp_4, x86_tune_sub_esp_8, - x86_tune_integer_dfmode_moves, x86_tune_partial_reg_dependency, - x86_tune_sse_partial_reg_dependency, - x86_tune_sse_unaligned_load_optimal, - x86_tune_sse_unaligned_store_optimal, x86_tune_sse_typeless_stores, - x86_tune_memory_mismatch_stall, x86_tune_use_ffreep, - x86_tune_inter_unit_moves, x86_tune_inter_unit_conversions, - x86_tune_use_bt, x86_tune_pad_returns, x86_tune_slow_imul_imm32_mem, - x86_tune_slow_imul_imm8, x86_tune_fuse_cmp_and_branch): - Enable/disable for bdver1. - (processor_target_table): Add bdver1_cost. - (cpu_names): Add bdver1. - (override_options): Set up PROCESSOR_BDVER1 for bdver1 entry in - processor_alias_table. - (ix86_expand_vector_move_misalign): Change. - TARGET_SSE_UNALIGNED_MOVE_OPTIMAL to TARGET_SSE_UNALIGNED_LOAD_OPTIMAL. - Check for TARGET_SSE_UNALIGNED_STORE_OPTIMAL. - Check for TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL to emit movups instead - of movupd/movdqu for SSE and AVX. - (ix86_tune_issue_rate): Add PROCESSOR_BDVER1. - (ix86_tune_adjust_cost): Add code for bdver1. - (standard_sse_constant_opcode): Add check for - TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL to emit packed single xor instead - of packed double xor for SSE and AVX. - -2010-05-14 Pat Haugen - - * tree-ssa-loop.prefetch.c (prune_ref_by_group_reuse): Cast abs() - result to unsigned. - -2010-05-14 Tristan Gingold - - * toplev.c (default_debug_hooks): Remove this variable. - (process_options): Remove assignments to default_debug_hooks. - -2010-05-14 Martin Jambor - - * langhooks-def.h (LANG_HOOKS_FOLD_OBJ_TYPE_REF): Remove. - (LANG_HOOKS_INITIALIZER): Remove LANG_HOOKS_FOLD_OBJ_TYPE_REF. - * langhooks.h (struct lang_hooks_for_decls): Removed field - fold_obj_type_ref. - * tree.c (free_lang_data): Remove assignment to - lang_hooks.fold_obj_type_ref. - * tree.def (OBJ_TYPE_REF): Update comment. - -2010-05-14 Richard Guenther - - PR tree-optimization/44124 - * tree-ssa-sccvn.c (vn_nary_may_trap): Fix invalid memory access. - -2010-05-14 Alan Modra - - PR target/44075 - * config/rs6000/rs6000.c (struct machine_function): Reorder - fields for better packing. Add lr_save_state. - (rs6000_ra_ever_killed): Return lr_save_state if set. - (rs6000_emit_eh_reg_restore): Set lr_save_state. - -2010-05-13 Jan Hubicka - - * varpool.c (decide_is_variable_needed): Drop code checking - TREE_SYMBOL_REFERENCED. - -2010-05-13 Jan Hubicka - - * final.c (output_addr_const): Do not call mark_decl_referenced. - * cgraphunit.c (process_function_and_variable_attributes): Use - mark_needed_node dirrectly. - (assemble_thunk): Do not call mark_decl_referenced. - -2010-05-13 Anatoly Sokolov - - * targhooks.c (default_mode_dependent_address_p): Cast 'addr' to rtx. - -2010-05-13 Jeff Law - - * ira-conflicts.c (print_allocno_conflicts): New function broken out - from... - (print_conflicts): Call print_allocno_conflicts. - -2010-05-13 Jakub Jelinek - - PR debug/44104 - * dwarf2out.c (modified_type_die): Don't dereference mod_type_die - if it is NULL. - -2010-05-13 Kai Tietz - - * config.gcc (i[34567]86-*-mingw* | x86_64-*-mingw*): Choose - t-mingw-w64 or t-mingw-w32 for multilib configuration. - * config/i386/t-mingw-w32: New. - * config/i386/t-mingw-w64 (MULTILIB_OSDIRNAMES): Change lib64 to lib. - -2010-05-13 Martin Jambor - - * gimple.c (gimple_fold_obj_type_ref): Removed (a replacement moved to - gimple-fold.c). - * gimple-fold.c (get_base_binfo_for_type): New function. - (gimple_get_relevant_ref_binfo): Likewise. - (gimple_fold_obj_type_ref_known_binfo): Likewise. - (gimple_fold_obj_type_ref): Likewise. - (fold_gimple_call): Simplify condition for folding virtual calls - and call gimple_fold_obj_type_ref. - * gimple.h (gimple_get_relevant_ref_binfo): Declare. - (gimple_fold_obj_type_ref_known_binfo): Likewise. - -2010-05-13 Andreas Schwab - - * config/rs6000/rs6000-protos.h - (rs6000_mode_dependent_address_ptr): Change argument to const_rtx. - * config/rs6000/rs6000.c (rs6000_mode_dependent_address) - (rs6000_debug_mode_dependent_address) - (rs6000_mode_dependent_address_ptr): Likewise. - -2010-05-13 Jakub Jelinek - - PR debug/43983 - * var-tracking.c (track_expr_p): Allow tracking of variables optimized - by SRA. - * Makefile.in (dwarf2out.o): Depend on $(TREE_FLOW_H). - * tree-sra.c (create_access_replacement): Call unshare_expr before - passing expr to SET_DECL_DEBUG_EXPR, and remove any SSA_NAMEs from it. - * dwarf2out.c: Include tree-flow.h. - (struct var_loc_node): Rename var_loc_note field to loc, add comment. - (size_of_loc_descr, output_loc_operands, output_loc_operands_raw): - Handle DW_OP_bit_piece. - (decl_piece_bitsize, decl_piece_varloc_ptr, decl_piece_node, - construct_piece_list, adjust_piece_list): New functions. - (add_var_loc_to_decl): Handle SRA optimized variables. - Adjust for var_loc_note to loc field renaming. - (dw_loc_list_1): For WANT_ADDRESS == 2 prefer DECL_MODE of decl - in VAR_LOCATION note. - (new_loc_descr_op_bit_piece): New function. - (dw_sra_loc_expr): New function. - (dw_loc_list): Use it. Don't handle the last range after the - loop, handle it inside of the loop. Adjust for var_loc_note - to loc field renaming. - (add_location_or_const_value_attribute): Only special case - single entry loc lists if loc is NOTE_P. Adjust for - var_loc_note to loc field renaming. - (dwarf2out_var_location): Don't set newloc->var_loc_note - and newloc->next here. - -2010-05-12 Jan Hubicka - - * cgraph.c (cgraph_mark_address_taken_node): No longer imply needed - flag. - * cgraph.h (cgraph_only_called_directly_p, - cgraph_can_remove_if_no_direct_calls_p): test address_taken flag. - (cgraph_can_remove_if_no_direct_calls_and_refs_p): New function. - * cgraphunit.c (cgraph_mark_functions_to_output): Test address_taken. - (assemble - * ipa.c (cgraph_remove_unreachable_nodes): Use - cgraph_can_remove_if_no_direct_calls_and_refs_p; clear address_taken - flags. - * tree-inline.c (copy_bb): Check address_taken flag. - * tree-profile.c (tree_gen_ic_func_profiler): Check address_taken and - externally_visible flag. - -2010-05-12 Jason Merrill - - PR bootstrap/44048 - PR target/44099 - * dbxout.c (dbxout_type): Remove NULLPTR_TYPE handling. - * sdbout.c (plain_type_1): Likewise. - * dwarf2out.c (is_base_type): Likewise. - (gen_type_die_with_usage): Likewise. Generate - DW_TAG_unspecified_type for any LANG_TYPE. - -2010-05-12 Jan Hubicka - - * cgraphbuild.c (build_cgraph_edges, rebuild_cgraph_edges): Build - indrect edges too. - * cgraph.c (cgraph_create_indirect_edge): Take ecf_flags argument. - (cgraph_clone_edge): Update. - (cgraph_node_remove_callees): Remove indirect calls too. - * cgraph.h (cgraph_indirect_call_info): Add ecf_flags. - (cgraph_create_indirect_edge): Update prototype. - * ipa-reference.c (has_proper_scope_for_analysis): Rename to - is_proper_for_analysis. - (add_new_function, visited_nodes, function_insertion_hook_holder, - get_local_reference_vars_info, mark_address_taken, mark_address, - mark_load, mark_store, check_asm_memory_clobber, check_call, - scan_stmt_for_static_refs, scan_initializer_for_static_refs): Remove. - (ipa_init): Do not initialize visited_nodes; - function_insertion_hook_holder. - (analyze_variable): Rewrite. - (analyze_function): Rewrite. - (copy_local_bitmap): Remove. - (duplicate_node_dat): Do not duplicate local info. - (generate_summary): Simplify to only walk cgraph. - (write_node_summary_p, ipa_reference_write_summary, - ipa_reference_read_summary): Remove. - (propagate): Do not remove function insertion; - generate summary. - (pass_ipa_reference): NULLify summary handling fields. - * lto-cgraph.c (lto_output_edge): Output ecf_flags. - (input_edge): Input ecf_flags. - * ipa-prop.c (ipa_note_parm_call): Expect edge to be around. - (update_indirect_edges_after_inlining): Ignore edges with unknown - param. - -2010-05-12 Sriraman Tallam - - * implicit-zee.c: New file. - * tree-pass.h (pass_implicit_zee): Declare. - * passes.c (init_optimization_passes): Add zee pass. - * common.opt (fzee): New flag. - * timevar.def (TV_ZEE): Define. - * config/i386/i386.c (optimization_options): Turn on ZEE for level 2 - and beyond. - * Makefile.in (implicit-zee.o): Add new build file. - -2010-05-12 Kazu Hirata - Nathan Froyd - - * c-common.c (sync_resolve_params): Remove write-only variable. - -2010-05-12 Anatoly Sokolov - - * target.h (struct gcc_target): Add mode_dependent_address_p field. - * target-def.h (TARGET_MODE_DEPENDENT_ADDRESS_P): New. - (TARGET_INITIALIZER): Use TARGET_MODE_DEPENDENT_ADDRESS_P. - * targhooks.c (default_mode_dependent_address_p): New function. - * targhooks.h (default_mode_dependent_address_p): Declare function. - * doc/tm.texi (TARGET_MODE_DEPENDENT_ADDRESS_P): New. - (GO_IF_MODE_DEPENDENT_ADDRESS): Update. - * recog.c: (mode_dependent_address_p): Call mode_dependent_address_p - target hook. Change return type to bool. - * recog.h: (mode_dependent_address_p): Change return type to bool. - -2010-05-12 Kazu Hirata - Nathan Froyd - - * tree-mudflap.c (build_function_type_0, build_function_type_1, - build_function_type_2, build_function_type_3): Remove. - (mudflap_init): Use build_function_type_list. - -2010-05-12 Kazu Hirata - Nathan Froyd - - * coverage.c (build_fn_info_value): Call build_constructor instead of - build_constructor_from_list. - (build_ctr_info_value): Likewise. - (build_gcov_info): Likewise. - -2010-05-12 Nathan Froyd - - * tree.c (build_constructor): Compute TREE_CONSTANT for the - resultant constructor. - (build_constructor_single): Don't set TREE_CONSTANT. - (build_constructor_from_list): Don't compute TREE_CONSTANT. - -2010-05-12 Jan Hubicka - - * cgraph.h (struct varpool_node): Add aux. - * varasm.c (find_decl_and_mark_needed): Force output of varpool nodes. - * varpool.c (varpool_remove_node): Do not remove initializer. - (varpool_reset_queue): Export. - (varpool_finalize_decl): Volatile vars are forced to be output. - * lto-symtab.c (lto_varpool_replace_node): Clear out initializer of - replaced decl. - * ipa.c (enqueue_cgraph_node, enqueue_varpool_node, - process_references, varpool_can_remove_if_no_refs): New functions. - (cgraph_remove_unreachable_nodes): Handle variables too. - -2010-05-12 H.J. Lu - - PR target/44088 - * config/i386/sse.md (*avx_vmmaskcmp3): New. - -2010-05-12 Jakub Jelinek - - PR middle-end/44085 - * gimplify.c (enum omp_region_type): Add ORT_UNTIED_TASK, - change value of ORT_TASK. - (new_omp_context): Handle ORT_UNTIED_TASK like ORT_TASK. - (omp_notice_threadprivate_variable): New function. - (omp_notice_variable): Call it for threadprivate variables. - If enclosing ctx is a task, print enclosing task rather than - enclosing parallel. Handle ORT_UNTIED_TASK like ORT_TASK. - (gimplify_omp_task): Pass ORT_UNTIED_TASK instead of ORT_TASK - if task has untied clause. - - PR debug/42278 - * dwarf2out.c (base_type_die): Don't add name attribute here. - (modified_type_die): Instead of sizetype use - its underlying original type. If a DW_TAG_base_type doesn't - have name added, add __unknown__. - (dwarf2out_imported_module_or_decl_1): Don't call base_type_die, - always call force_type_die instead. - -2010-05-12 Maxim Kuvyrkov - - * targhooks.c (default_stack_protect_guard): Avoid sharing RTL - for __stack_chk_guard. - -2010-05-11 Jakub Jelinek - - * c-opts.c (c_common_parse_file): If start_end_main_source_file, - don't call start_source_file debug hook here... - (finish_options): ... but here, after outputting predefined and - command line defines and undefs. - - PR middle-end/44071 - * cfglayout.c (fixup_reorder_chain): Allow asm goto to have - no fallthru edge. - * cfgcleanup.c (try_optimize_cfg): When in cfglayout mode - optimizing away empty bb with no successors, move over its - footer chain to fallthru predecessor. - * cfgrtl.c (patch_jump_insn): Update also REG_LABEL_OPERAND. - (rtl_split_edge): For asm goto call patch_jump_insn even if - splitting fallthru edge. - - PR c++/44059 - * config/elfos.h (ASM_DECLARE_OBJECT_NAME): Use qnu_unique_object - even for DECL_ONE_ONLY DECL_ARTIFICIAL !TREE_READONLY decls. - * config/alpha/elf.h (ASM_DECLARE_OBJECT_NAME): Likewise. - * dwarf2asm.c (dw2_output_indirect_constant_1): Set TREE_READONLY - on DW.ref.* decls. - - PR c++/44062 - * c-parser.c (c_parser_expression): Mark LHS of a comma - expression as read if it is a decl, handled component or - COMPOUND_EXPR with that on the RHS. - * c-typeck.c (c_process_expr_stmt): Mark RHS of COMPOUND_EXPR - if it is a decl or handled component. - -2010-05-11 Jan Hubicka - - * lto-symtab.c (lto_symtab_free): New function. - * lto-streamer.h (lto_symtab_free): Declare. - -2010-05-11 Jan Hubicka - - * lto-cgraph.c (reachable_from_other_partition_p): Export; do not assume - that if function is needed it is reachable. - (lto_output_node): See if it the function is reachable or referenced. - (output_cgraph): Update call of lto_output_node. - * lto-streamer.h (reachable_from_other_partition_p): Declare. - -2010-05-11 Jan Hubicka - - * crtstuff.c (__JCR_LIST__, __DTOR_END__, __JCR_END__, __FRAME_END__): - Mark as used. - -2010-05-11 Jan Hubicka - - PR tree-optimize/44063 - * ipa-inline.c (cgraph_edge_badness): Move always inlines to top of - queue. - (cgraph_decide_inlining_of_small_function): Skip check when disrgarding - limits. - (estimate_function_body_sizes): Compute sizes even when disregarding. - -2010-05-11 Kai Tietz - - * collect2.c (maybe_lto_object_file): Add x64-coff magic and check. - -2010-05-11 Jan Hubicka - - * lto-cgraph.c (output_cgraph): Remove loop adding all varpool nodes - into every boundary. - -2010-05-11 Jan Hubicka - - * matrix-reorg.c (matrix_reorg): Rebuild edges. - -2010-05-11 Jan Hubicka - - * lto-streamer.c (lto_streamer_cache_add_to_node_array, - lto_streamer_cache_delete): Put nodes into heap. - * lto-streamer.h (struct lto_streamer_cache_d): Nodes vector is in - heap. - -2010-05-11 Jan Hubicka - - * cgraphbuild.c (cgraph_rebuild_references): New. - * cgraph.c (cgraph_mark_reachable_node): Accept references to optimized - out extern inlines. - * cgraph.h (cgraph_rebuild_references): Declare. - * tree-inline.c (tree_function_versioning): Use it. - * ipa-struct-reorg.c (do_reorg_for_func): Likewise. - -2010-05-11 Jan Hubicka - - * cgraph.c: Include ipa-utils.h - (cgraph_create_virtual_clone): Update references. - * Makefile.in (cgraph.o): Add dependency at ipa-utils.h - -2010-05-11 Christian Borntraeger - - * tree-ssa-loop-prefetch.c (prune_ref_by_group_reuse): Reset - prefetch_before to PREFETCH_ALL if to accesses "meet" beyond - cache size. - -2010-05-11 Christian Borntraeger - - * tree-ssa-loop-prefetch.c: Add debug for dropped prefetches. - -2010-05-11 Jakub Jelinek - - * gcc.c (execute): For -### don't quote arguments that - contain just alphanumerics and _/-. characters. - * doc/invoke.texi: Document that change for -###. - - PR debug/44023 - * df-problems.c (struct dead_debug): Add to_rescan field. - (dead_debug_init): Clear to_rescan field. - (dead_debug_finish): Rescan all debug insns in to_rescan - bitmap and free the bitmap. - (dead_debug_insert_before): Instead of rescanning debug insns - immediately queue their rescanning until dead_debug_finish. - (df_note_bb_compute): After dead_debug_add do continue instead - of break. - -2010-05-10 Jakub Jelinek - - PR debug/44028 - * haifa-sched.c (schedule_insn): When clearing INSN_VAR_LOCATION_LOC, - clear also INSN_REG_USE_LIST. - -2010-05-10 Rainer Orth - - * config/mips/mips.c (TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P): Undef. - -2010-05-10 Jan Hubicka - - * lto-stramer-out.c (produce_asm_for_decls): Correct accidentally - commited change. - -2010-05-10 Jan Hubicka - - * passes.c (ipa_write_summaries_1, ipa_write_optimization_summaries): - Allocate encoders. - * lto-section-out.c (lto_new_out_decl_state): Do not allocate it here. - * lto-streamer.c (lto_streamer_cache_insert_1): Use alloc pool. - (lto_streamer_cache_create): Init alloc pool. - (lto_streamer_cache_delete): Free alloc pool. - * lto-streamer.h: Include alloc pool. - (lto_streamer_cache_d): Use alloc pool. - * lto-stramer-out.c (produce_asm_for_decls): Delete fn_out_states. - -2010-05-10 Jan Hubicka - - * Makefile.in (cgraphbuild.o): Add dependency on except.h. - * cgraphbuild.c: Include except.h - (record_type_list, record_eh_tables): New function. - (build_cgraph_edges, rebuild_cgraph_edges): Use it. - -2010-05-10 Jan Hubicka - - * crtstuff.c (force_to_data, __do_global_dtors_aux_fini_array_entry, - __frame_dummy_init_array_entry, force_to_data): Attribute as used - rather than unused. - -2010-05-10 Michael Matz - - * tree-ssa-reassoc.c (undistribute_ops_list): Use create_tmp_reg. - (can_reassociate_p): Use FLOAT_TYPE_P. - * tree-vectorizer.h (vect_is_simple_reduction): Rename to ... - (vect_force_simple_reduction): ... this. - * tree-parloops.c (gather_scalar_reductions): Use - vect_force_simple_reduction. - * tree-vect-loop.c (vect_is_simple_reduction_1): Rename from - vect_is_simple_reduction, add modify argument, if true rewrite - "a-b" into "a+(-b)". - (vect_is_simple_reduction, vect_force_simple_reduction): New - functions. - (vect_analyze_scalar_cycles_1): Use vect_force_simple_reduction. - -2010-05-10 H.J. Lu - Vladimir Makarov - - PR rtl-optimization/44012 - * ira-build.c (remove_unnecessary_allocnos): Nullify - regno_allocno_map of the removed allocno. - -2010-05-10 Rainer Orth - - * configure.ac (gcc_cv_ld_eh_gc_sections): Redirect objdump errors - to /dev/null. - * configure: Regenerate. - -2010-05-10 Rainer Orth - - * config/sol2.c (solaris_assemble_visibility): Declare decl, vis - unused. - Define visibility_types, name, type inside HAVE_GAS_HIDDEN. - * configure.ac (gcc_cv_ld_hidden): Explain stages of visibility - support in Sun ld. - * configure: Regenerate. - -2010-05-10 Richard Guenther - - * lto-symtab.c (lto_symtab_entry_marked_p): Make entry - marked if the entry identifier is marked. - -2010-05-10 Richard Guenther - - * c-common.c (struct c_common_attributes): Add fnspec attribute. - (handle_fnspec_attribute): New function. - * gimple.h (gimple_call_return_flags): Declare. - (gimple_call_arg_flags): Likewise. - * gimple.c (gimple_call_arg_flags): New function. - (gimple_call_return_flags): Likewise. - * tree.h (EAF_DIRECT, EAF_NOCLOBBER, EAF_NOESCAPE, EAF_UNUSED): - New argument flags. - (ERF_RETURN_ARG_MASK, ERF_RETURNS_ARG, ERF_NOALIAS): New function - return value flags. - * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Skip unused args. - * tree-ssa-structalias.c (make_constraint_from_heapvar): Split - main work to ... - (make_heapvar_for): ... this new function. - (handle_rhs_call): Handle fnspec attribute argument specifiers. - (handle_lhs_call): Likewise. - (find_func_aliases): Adjust. - -2010-05-10 Richard Guenther - - PR tree-optimization/44050 - * tree-inline.c (tree_function_versioning): Clone the ipa-pta flag. - -2010-05-10 Wei Guozhi - - PR target/42879 - * config/arm/thumb2.md (thumb2_tlobits_cbranch): New insn pattern. - -2010-05-09 Joseph Myers - - PR c/10676 - * c-typeck.c (lookup_field): Take a type directly. Update - recursive calls. - (build_component_ref): Update call to lookup_field. - (set_init_label): Use lookup_field to find initialized field. - Handle returned list of fields like a sequence of designators. - -2010-05-09 Richard Guenther - - PR middle-end/44024 - * fold-const.c (tree_single_nonzero_warnv_p): Properly - handle &FUNCTION_DECL. - -2010-05-09 Joseph Myers - - PR c/4784 - * c-decl.c (detect_field_duplicates_hash): New. Handle anonymous - structures and unions recursively. - (detect_field_duplicates): Move duplicate detection with a hash to - detect_field_duplicates_hash. Always use a hash if anonymous - structures or unions are present. - * doc/extend.texi (Unnamed Fields): Document that duplicate fields - give errors. - -2010-05-09 H.J. Lu - - PR target/44046 - * config/i386/driver-i386.c (host_detect_local_cpu): Properly - detect Atom, Core 2 and Core i7. - -2010-05-09 Richard Guenther - - * gcc.c (store_arg): Handle temporary file deletion for - joined arguments. - -2010-05-09 Richard Guenther - - PR middle-end/44043 - * ipa-inline.c (estimate_function_body_sizes): Return after - disregarding inline limits. - -2010-05-09 Richard Guenther - - * gcc.c (store_arg): Revert last change. - -2010-05-08 Sandra Loosemore - - PR middle-end/28685 - * tree-ssa-reassoc.c (eliminate_redundant_comparison): New function. - (optimize_ops_list): Call it. - -2010-05-08 Richard Guenther - - PR tree-optimization/44030 - * tree-ssa-pre.c (eliminate): Copy NECESSARY flag. Set - NECESSARY flag if we propagate from a inserted expression. - -2010-05-08 Eric Botcazou - - * gimple.c (gimple_types_compatible_p) : Treat bounds of - domain types as equal if they are both PLACEHOLDER_EXPRs. - -2010-05-08 Richard Guenther - - * lto-wrapper.c (run_gcc): Remove linker output from - command line for LTRANS invocation. - -2010-05-07 Steven Bosscher - - * config.gcc (i[34567]86-*-darwin*, x86_64-*-darwin*): Add - lto-macho as lto_binary_reader. - * target.h (struct gcc_target): New hooks lto_start and lto_end. - * target-def.h (TARGET_ASM_LTO_START, TARGET_ASM_LTO_END): Define. - * cgraphunit.c (ipa_passes): Wrap LTO assembler output generation - in lto_start and lto_end calls. - (is_elf_or_coff): Rename to maybe_lto_object_file. Add Mach-O - magic numbers. - (scan_prog_file): Update is_elf_or_coff call. - * doc/tm.text (TARGET_ASM_LTO_START, TARGET_ASM_LTO_END): Document. - - * collect2.c (main): Fix enum comparison. - - * config/darwin-protos.h (darwin_asm_lto_start, darwin_asm_lto_end): - Add prototypes. - * darwin9.h (LINK_COMMAND_SPEC): Pass -flto and -fwhopr to the linker. - * darwin.h (LINK_COMMAND_SPEC): Likewise. Define TARGET_ASM_LTO_START - and TARGET_ASM_LTO_END. - * darwin.c: Include obstack.h and lto-streamer.h. - (lto_section_names_offset, lto_section_names_obstack, - lto_asm_out_file, lto_asm_out_name, saved_asm_out_file): New static - global variables. - (LTO_SEGMENT_NAME, LTO_NAMES_SECTION): New defines. - (darwin_asm_lto_start): New function. Redirect output to asm_out_file - to a temporary file. - (darwin_asm_lto_end): New function. Restore asm_out_file. - (darwin_asm_named_section): For LTO sections, replace the name with - the offset of the section name in a string table, and build this - table. - (darwin_file_start): Initialize global vars for LTO support. - (darwin_file_end): If output to asm_out_file was redirected, append it - to the proper asm_out_file here. Add the section names section. - -2010-05-07 Steven Bosscher - - * c-pragma.c (pending_weak_d, pending_weak): New. - (pending_weaks): Change the type to VEC((pending_weak,gc) *. - (maybe_apply_pragma_weak, maybe_apply_pending_pragma_weaks, - handle_pragma_weak): Update the uses of pending_weaks. - -2010-05-07 Ralf Wildenhues - - PR documentation/44016 - * doc/standards.texi (Standards): Link to unversioned - cxx0x_status.html page. - -2010-05-07 Iain Sandoe - - PR target/43708 - * config/darwin-c.c (darwin_pragma_unused): Set DECL_READ_P - in addition to TREE_USED, to avoid "set but unused" warnings. - -2010-05-07 Changpeng Fang - - * tree-ssa-loop-prefetch.c (TRIP_COUNT_TO_AHEAD_RATIO): New. - (is_loop_prefetching_profitable): Do not insert prefetches - when the trip count is not at least TRIP_COUNT_TO_AHEAD_RATIO - times the prefetch ahead distance. - -2010-05-07 Changpeng Fang - - * tree-ssa-loop-prefetch.c (is_loop_prefetching_profitable): - Account for loop unrolling in the insn-to-prefetch ratio heuristic. - (loop_prefetch_arrays): Pass to is_loop_prefetching_profitable - the unroll_factor. - -2010-05-07 Changpeng Fang - - * tree-ssa-loop-prefetch.c (is_loop_prefetching_profitable): Dump - a diagnostic info when the insn-to-mem ratio is too small. - -2010-05-07 Richard Guenther - - * gcc.c (LINK_COMMAND_SPEC): Provide a resolution file to - the linker plugin. - (store_arg): Queue temp_filename for deletion instead of - the whole argument. - -2010-05-07 Richard Guenther - - * lto-wrapper.c (DUMPBASE_SUFFIX): Define. - (run_gcc): Handle LTRANS phase invocation. - * collect2.c (maybe_run_lto_and_relink): Do not set WPA_SAVE_LTRANS. - -2010-05-07 Jakub Jelinek - - * tree.h (TREE_ADDRESSABLE): Adjust comment to say that - this is also meaningful on PARM_DECLs and RESULT_DECLs. - -2010-05-07 Rainer Orth - - * config/mips/iris6.h (LINK_SPEC): Don't pass -init, -fini with -r. - -2010-05-07 Richard Guenther - - PR tree-optimization/44020 - * tree-ssa-pre.c (execute_pre): Do not remove dead inserted - code when PRE is not yet initialized. - -2010-05-07 Rainer Orth - - * config/mips/dbxmdebug.h: Remove. - * config.gcc (mips-sgi-irix6.5*): Remove mips/dbxmdebug.h. - -2010-05-07 Shujing Zhao - - * c-typeck.c (build_binary_op): Warn ordered comparison of pointer - with null pointer and also warn about ordered comparison of zero with - pointer if -Wextra. - -2010-05-05 Andreas Simbuerger - - * graphite-blocking.c - (pbb_strip_mine_profitable_p): Replace Value with mpz_t. - * graphite-clast-to-gimple.c - (clast_to_gcc_expression): Same. - (precision_for_value): Same. - (precision_for_interval): Same. - (gcc_type_for_interval): Same. - (graphite_create_new_guard): Same. - (compute_bounds_for_level): Same. - (graphite_create_new_loop_guard): Same. - * graphite-interchange.c - (build_linearized_memory_access): Same. - (pdr_stride_in_loop): Same. - (memory_strides_in_loop_1): Same. - (memory_strides_in_loop): Same. - (extend_scattering): Same. - (psct_scattering_dim_for_loop_depth): Same. - (pbb_number_of_iterations): Same. - * graphite-poly.h - (debug_iteration_domains): Same. - * graphite-ppl.c - (new_Cloog_Domain_from_ppl_Pointset_Powerset): Same. - (ppl_set_inhomogeneous_gmp): Same. - (ppl_strip_loop): Same. - (ppl_lexico_compare_linear_expressions): Same. - (ppl_read_polyhedron_matrix): Same. - (ppl_max_for_le_pointset): Same. - * graphite-ppl.h - (ppl_read_polyhedron_matrix): Same. - (tree_int_to_gmp): Same. - (gmp_cst_to_tree): Same. - (ppl_set_inhomogeneous): Same. - (ppl_set_inhomogeneous_tree): Same. - (ppl_set_coef): Same. - (ppl_set_coef_tree): Same. - * graphite-sese-to-poly.c - (build_pbb_scattering_polyhedrons): Same. - (build_scop_scattering): Same. - (scan_tree_for_params_right_scev): Same. - (scan_tree_for_params): Same. - (find_params_in_bb): Same. - (find_scop_parameters): Same. - (add_upper_bounds_from_estimated_nit): Same. - (build_loop_iteration_domains): Same. - (add_condition_to_domain): Same. - (pdr_add_memory_accesses): Same. - -2010-05-05 Andreas Simbuerger - - * graphite-blocking.c (pbb_strip_mine_profitable_p): Resolve - CLooG's value_* macros to their respective mpz_* counterparts. - * graphite-clast-to-gimple.c (clast_to_gcc_expression): Same. - (graphite_create_new_loop_guard): Same. - * graphite-interchange.c (build_linearized_memory_access): Same. - (pdr_stride_in_loop): Same. - (memory_strides_in_loop_1): Same. - (1st_interchange_profitable_p): Same. - * graphite-poly.c (extend_scattering): Same. - (psct_scattering_dim_for_loop_depth): Same. - (pbb_number_of_iterations): Same. - (pbb_number_of_iterations_at_time): Same. - * graphite-poly.h (new_1st_loop): Same. - * graphite-ppl.c (cloog_matrix_to_ppl_constraint): Same. - (oppose_constraint): Same. - (insert_constraint_into_matrix): Same. - (ppl_set_inhomogeneous_gmp): Same. - (ppl_set_coef_gmp): Same. - (ppl_strip_loop): Same. - (ppl_lexico_compare_linear_expressions): Same. - (ppl_max_for_le_pointset): Same. - (ppl_min_for_le_pointset): Same. - (ppl_build_realtion): Same. - * graphite-ppl.h (gmp_cst_to_tree): Same. - (ppl_set_inhomogeneous): Same. - (ppl_set_inhomogeneous_tree): Same. - (ppl_set_coef): Same. - (ppl_set_coef_tree): Same. - * graphite-sese-to-poly.c (build_pbb_scattering_polyhedrons): Same. - (build_scop_scattering): Same. - (add_value_to_dim): Same. - (scan_tree_for_params_right_scev): Same. - (scan_tree_for_params_int): Same. - (scan_tree_for_params): Same. - (find_params_in_bb): Same. - (find_scop_parameters): Same. - (add_upper_bounds_from_estimated_nit): Same. - (build_loop_iteration_domains): Same. - (create_linear_expr_from_tree): Same. - (add_condition_to_domain): Same. - (pdr_add_memory_accesses): Same. - -2010-05-06 Magnus Fromreide - Jason Merrill - - * c-common.c (c_common_reswords): Add nullptr. - * c-common.h: Add RID_NULLPTR. Reorganize C++0x rids. - * dwarf2out.c (is_base_type): Handle NULLPTR_TYPE. - (gen_type_die_with_usage): Likewise. - * dbxout.c (dbxout_type): Likewise. - * sdbout.c (plain_type_1): Likewise. - -2010-05-06 Jason Merrill - - * gimplify.c (gimplify_expr): Set GS_ALL_DONE when appropriate. - Don't change GS_OK to GS_ALL_DONE. Make sure that all cases set - ret appropriately. - (gimplify_compound_lval): Return GS_ALL_DONE as appropriate. - - * gimplify.c (gimplify_modify_expr_rhs): Don't return GS_OK for - stripping WITH_SIZE_EXPR. - (gimplify_expr) [MODIFY_EXPR]: Trust GS_OK even if the rhs didn't - change. - -2010-05-06 Rainer Orth - - * config.gcc: Removed mips-sgi-irix5*, mips-sgi-irix6.[0-4]* from - list of obsolete configurations. - Disabled check for obsolete configurations. - (mips-sgi-irix[56]*): Restrict to mips-sgi-irix6.5*. - Removed support for previous versions. - * config/mips/iris.h: Removed. - * config/mips/iris5.h: Removed. - * config/mips/iris6.h: Merged old iris.h contents. - (TARGET_IRIX): Removed. - (DRIVER_SELF_SPECS): Removed mabi=32. - (IDENT_ASM_OP): Removed undef. - (STARTFILE_SPEC): Removed mabi=32. - (ENDFILE_SPEC): Likewise. - (IRIX_SUBTARGET_LINK_SPEC): Likewise. - (MACHINE_TYPE): Update for IRIX 6.5. - * config/mips/mips.c (mips_build_builtin_va_list): Replaced - TARGET_IRIX by TARGET_IRIX6. - (mips_file_start): Likewise. - (mips_output_external): Remove IRIX 5/6 O32 support. - (mips_output_function_prologue): Likewise. - * config/mips/mips.h (TARGET_GPWORD): Replaced TARGET_IRIX by - TARGET_IRIX6. - (TARGET_CPU_CPP_BUILTINS): Likewise. - (TARGET_IRIX): Removed. - * config/mips/t-iris6 (MULTILIB_OPTIONS): Removed mabi=32. - (MULTILIB_DIRNAMES): Removed 32. - (MULTILIB_OSDIRNAMES): Removed ../lib. - * doc/install.texi (Prerequisites): Don't reference IRIX before 6.5. - (Specific, mips-sgi-irix5): Document removal. - (Specific, mips-sgi-irix6): Document IRIX 6.[0-4] and O32 ABI removal. - Remove references to older IRIX 6 releases and the O32 ABI. - -2010-05-06 Jakub Jelinek - - PR bootstrap/43994 - * df-problems.c (dead_debug_insert_before): Use *DF_REF_REAL_LOC - instead of DF_REF_REAL_REG. - -2010-05-06 Dave Korn - - PR target/43888 - * config/i386/winnt.c (i386_pe_binds_local_p): Tweak weak symbol - handling to still return true for x64 targets. - -2010-05-06 Maxim Kuvyrkov - - * config/m68k/uclinux.h (LIB_SPEC): Bring in sync with config/linux.h. - -2010-05-06 Jan Hubicka - - PR tree-optimization/43791 - * ipa-inline.c (update_caller_keys): Remove bogus - disregard_inline_limits check. - -2010-05-06 Michael Matz - - PR tree-optimization/43984 - * tree-ssa-pre.c (inserted_phi_names): Remove. - (inserted_exprs): Change to bitmap. - (create_expression_by_pieces): Set bits, don't append to vector. - (insert_into_preds_of_block): Don't handle inserted_phi_names. - (eliminate): Don't look at inserted_phi_names, remove deleted - insns from inserted_exprs. - (remove_dead_inserted_code): Adjust to use bitmaps instead of vectors. - (init_pre, fini_pre): Allocate and free bitmaps. - (execute_pre): Insert insns on edges before elimination. - -2010-05-06 Maxim Kuvyrkov - - * tree.c (initializer_zerop): Handle STRING_CST. - -2010-05-06 Manuel López-Ibáñez - - PR 40989 - * doc/invoke.texi (Wimplicit): Document as C only. - * opts.c (common_handle_option): Add argument kind. - (handle_option): Rename as read_cmdline_option. Factor out code to... - (handle_option): ... here. New. - (handle_options): Rename as read_cmdline_options. - (decode_options): Update call. - (set_option): Use option index instead of option pointer. Classify - diagnostics correctly. - (enable_warning_as_error): Call handle_option. - * opts.h (set_option): Update declaration. - (handle_option): Declare. - * langhooks.h (struct lang_hooks): Add argument kind to handle_option. - * c.opt (Wimplicit,Wimplicit-int): Initialize to -1. - * c-opts.c (set_Wimplicit): Delete. - (c_family_lang_mask): New static constant. - (c_common_handle_option): Add argument kind. Use handle_option - instead of set_Wimplicit. - (c_common_post_options): warn_implicit and warn_implicit_int - are disabled by default. - * c-common.c (warn_implicit): Do not define here. - * c-common.h (warn_implicit): Do not declare here. - (c_common_handle_option): Update declaration. - * lto-opts.c (lto_reissue_options): Update call to set_option. - -2010-05-06 Richard Guenther - - PR tree-optimization/43571 - * domwalk.c (walk_dominator_tree): Walk the dominator - sons in more optimal order. - -2010-05-06 Richard Guenther - - PR tree-optimization/43934 - * tree-ssa-loop-im.c (movement_possibility): Handle PHI nodes. - (stmt_cost): Likewise. - (extract_true_false_args_from_phi): New helper. - (determine_max_movement): For PHI nodes verify we can hoist them - and compute their cost. - (determine_invariantness_stmt): Handle PHI nodes. - (move_computations_stmt): Likewise. Hoist PHI nodes in - if-converted form using COND_EXPRs. - (move_computations): Return TODO_cleanup_cfg if we hoisted PHI nodes. - (tree_ssa_lim): Likewise. - * tree-flow.h (tree_ssa_lim): Adjust prototype. - * tree-ssa-loop.c (tree_ssa_loop_im): Return todo. - -2010-05-06 Richard Guenther - - PR tree-optimization/43987 - * tree-ssa-structalias.c (could_have_pointers): For possibly - address-taken variables force pointers to be recorded. - (create_variable_info_for_1): Likewise. - (push_fields_onto_fieldstack): Pass in wheter all fields - must have pointers. - (find_func_aliases): Query types instead of vars whether - they contain pointers where appropriate. - -2010-05-06 Jan Hubicka - - * cgraphbuild.c (record_reference_ctx): Add varpool_node. - (record_reference, mark_address, mark_load, mark_store): Record - references. - (record_references_in_initializer): Update call of record_references. - (rebuild_cgraph_edges): Remove all references before rebuiding. - * cgraph.c (cgraph_create_node): Clear ref list. - (cgraph_remove_node): Remove references. - (dump_cgraph_node): Dump references. - (cgraph_clone_node): Clone references. - * cgraph.h: Include ipa-ref.h and ipa-ref-inline.h - (struct cgraph_node, varpool_node): Add ref_lst. - * ipa-ref.c: New file. - * ipa-ref.h: New file. - * ipa-ref-inline.h: New file. - * lto-cgraph.c (output_varpool): Take cgrag node set argument. - (referenced_from_other_partition_p): New function. - (lto_output_varpool_node): Take set arugment; call - referenced_from_other_partition. - (lto_output_ref): New. - (add_references): New. - (output_refs): New. - (output_cgraph): Compute boundary based on references; output refs. - (output_varpool): Accept cgraph_node_set argument. - (input_ref): New. - (input_refs): New. - (input_cgraph): Call input_refs. - * lto-section-in.c (lto_section_name): Add refs. - * Makefile.in: (cgraph.h): Include ipa-ref.h and ipa-ref-inline.h - (ipa-ref.o): New file. - * varpool.c (varpool_node): Clear ipa ref list. - (varpool_remove_node): Remove references. - (dump_varpool_node): Dump references. - (varpool_assemble_decl): Only compile finalized ones. - (varpool_extra_name_alias): Initialize ref list. - * lto-streamer.c (lto-get_section_name): Add .refs section. - * lto-streamer.h (lto_section_type): Add LTO_section_refs. - (referenced_from_other_partition_p): Declared. - -2010-05-06 Ira Rosen - - PR tree-optimization/43901 - * tree-vect-stmts.c (vectorizable_call): Assert that vector - type is not NULL if it's transformation phase, and return - FALSE if it's analysis. - (vectorizable_conversion, vectorizable_operation, - vectorizable_type_demotion, vectorizable_type_promotion): Likewise. - -2010-05-05 Andrew Pinski - - * config/mips/mips.h (TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P): - Delete. - * config/mips/mips.c (TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P): - New define. - * config/mips/mips-protos.h - (mips_small_register_classes_for_mode_p): Delete prototype. - -2010-05-06 Bernd Schmidt - - * config/arm/arm.h (MAX_LDM_STM_OPS): New macro. - * config/arm/arm.c (multiple_operation_profitable_p, - compute_offset_order): New static functions. - (load_multiple_sequence, store_multiple_sequence): Use them. - Replace constant 4 with MAX_LDM_STM_OPS. Compute order[0] from - memory offsets, not register numbers. - (emit_ldm_seq, emit_stm_seq): Replace constant 4 with MAX_LDM_STM_OPS. - -2010-05-05 Steven Bosscher - - * stor-layout.c (pending_sizes): Change the type to VEC(tree,gc) *. - (get_pending_sizes, put_pending_size, put_pending_sizes): - Update the uses of pending_sizes. - * c-decl.c (store_parm_decls): Likewise. - * c-tree.h (struct c_arg_info): Likewise. - * tree.h: Update the prototype for get_pending_sizes and - put_pending_sizes. - -2010-05-05 Jason Merrill - - PR debug/43370 - * c-common.c (handle_aligned_attribute): Respect - ATTR_FLAG_TYPE_IN_PLACE. - - PR testsuite/43758 - * target.h (struct gcc_target): Add attribute_takes_identifier_p. - * target_def.h (TARGET_ATTRIBUTE_TAKES_IDENTIFIER_P): Define. - (TARGET_INITIALIZER): Use it. - * c-common.c (attribute_takes_identifier_p): Call it. - * c-common.h: Update prototype. - * config/rs6000/rs6000.c (rs6000_attribute_takes_identifier_p): New. - (TARGET_ATTRIBUTE_TAKES_IDENTIFIER_P): Define. - -2010-05-05 Jakub Jelinek - - PR debug/43950 - * dwarf2out.c (gen_compile_unit_die): Add DW_AT_identifier_case - DW_ID_down_case for Fortran compilation units. - -2010-05-05 Jan Hubicka - - * lto-cgraph.c (lto_output_varpool_node, input_varpool_node): Correctly - handle aliases. - -2010-05-05 Eric Botcazou - - * gimplify.c (gimplify_return_expr): Gimplify the size expressions of - a variable-sized RESULT_DECL. - -2010-05-05 Maxim Kuvyrkov - - * doc/invoke.texi (-mfix-cortex-m3-ldrd): Move from ARC section to ARM. - -2010-05-05 Jason Merrill - - PR c++/43787 - * gimplify.c (gimplify_expr): Keep working if gimplify_modify_expr - returns GS_OK. - (gimplify_modify_expr_rhs): Return GS_OK if anything changed. - -2010-05-05 Alexandre Oliva - Jakub Jelinek - - PR debug/43478 - * df-problems.c (struct dead_debug_use, struct dead_debug): New. - (dead_debug_init, dead_debug_finish): New functions. - (dead_debug_add, dead_debug_insert_before): Likewise. - (df_note_bb_compute): Initialize a dead_debug object, add dead - debug uses to it, insert debug bind insns before death insns, - reset debug insns that refer to pending uses at the end. - * rtl.h (make_debug_expr_from_rtl): New prototype. - * varasm.c (make_debug_expr_from_rtl): New function. - -2010-05-05 Jan Hubicka - - * lto-cgraph.c (output_varpool): Forward declare; work on encoder. - (lto_varpool_encoder_new, lto_varpool_encoder_delete, - lto_varpool_encoder_encode, lto_varpool_encoder_lookup, - lto_varpool_encoder_deref, lto_varpool_encoder_size, - lto_varpool_encoder_encode_initializer_p, - lto_set_varpool_encoder_encode_initializer): New functions. - (lto_output_cgraph): Take vset parameter too; compute varpool encoder; - call output_varpool. - (input_varpool_node): Do not always set analyzed. - (input_cgraph_1): Return vector of cgraph nodes. - (input_varpool_1): Return vector of varpools. - (input_cgraph): Free the vectors. - * lto-streamer-out.c (lto_output_ts_decl_common_tree_pointers): - output only initializers needed. - (lto_output): Only call output_cgraph. - (produce_asm_for_decls): Call lto_varpool_encoder_delete. - * lto-section-out.c (lto_new_out_decl_state): Initialize - state->varpool_node_encoder. - * lto-streamer.h (lto_varpool_encoder_d): New. - (lto_out_decl_state, lto_file_decl_data): Add varpool_node_encoder. - (lto_cgraph_encoder_delete, output_cgraph): Update prototype. - (lto_varpool_encoder_deref, lto_varpool_encoder_lookup, - lto_varpool_encoder_encode, lto_varpool_encoder_delete, - lto_varpool_encoder_encode_initializer_p, lto_varpool_encoder_new): - Declare. - (output_varpool, input_varpool): Remove declarations. - -2010-05-05 Jan Hubicka - - * lto-symtab.c (lto_symtab_resolve_can_prevail_p): Alias of variable - with body can prevail. - -2010-05-05 Jan Hubicka - - * lto-symtab.c (lto_symtab_merge_decls_1): Prefer declarations with - size. - -2010-05-05 Laurynas Biveinis - - * Makefile.in (build/gengtype.o): Add $(HASHTAB_H) to dependencies. - - * gengtype.h (erro_at_line): Constify pos argument. - - * gengtype.c: Include hashtab.h. - (enum gc_used): Document GC_MAYBE_POINTED_TO. - (error_at_line): Constify pos argument. - (do_typedef): Initialize p->opt field. - (get_file_gtfilename): Fix comment typo. - (struct walk_type_data): Constify line field. - (get_output_file_for_structure): New function. - (write_local_func_for_structure): Constify orig_s argument. - Use get_output_file_for_structure. - (write_func_for_structure): Use get_output_file_for_structure. - (INDENT): New define. - (dump_pair, dump_type, dump_type_list, dump_typekind) - (dump_gc_used, dump_options, dump_fileloc, dump_type_u_s) - (dump_type_u_a, dump_type_u_param_struct, dump_everything): New - functions. - (seen_types): New variable. - (main): New variable do_dump. Process "-d" command line option. - Call dump_everything if dump requested. - -2010-05-05 Jakub Jelinek - - * var-tracking.c (var_debug_decl): Save DECL_DEBUG_EXPR value - in a temporary instead of invoking the macro multiple times. - (track_expr_p): Likewise. - -2010-05-04 Neil Vachharajani - - * doc/invoke.texi (-Wcoverage-mismatch): Updated documentation as - per new semantics. - * opts.c (decode_options): Enable -Werror=coverage-mismatch. - * coverage.c (get_coverage_counts): Always emit a warning. Adjust - conditions for printing notes. - * common.opt (-Wcoverage-mismatch): Allow negative, default to - true, update documentation. - * Makefile.in (coverage.o): Add dependence on DIAGNOSTIC_H and intl.h. - -2010-05-04 Jakub Jelinek - - PR c/43981 - * c-parser.c (c_parser_direct_declarator_inner): Call mark_exp_read - on dimen. - -2010-05-04 H.J. Lu - - PR target/43799 - * config/i386/i386.md (sse_prologue_save): Clobber CC register. - (*sse_prologue_save_insn1): Likewise. - (SSE prologue save splitter): Likewise. - -2010-05-04 Eric Botcazou - - * tree.c (free_lang_data_in_one_sizepos): New inline function. - (free_lang_data_in_type): Call it on TYPE_{MIN|MAX}_VALUE of numerical - types. Call it on TYPE_SIZE and TYPE_SIZE_UNIT of all types. - (free_lang_data_in_decl): Call it on DECL_SIZE and DECL_SIZE_UNIT of - all decls. Call it on DECL_FIELD_OFFSET of fields. - (find_decls_types_r): Follow DECL_VALUE_EXPR. - (iterative_hash_expr) : New case. - -2010-05-04 Martin Jambor - - * tree-sra.c (build_access_from_expr_1): The first parameter type - changed to simple tree. - (build_access_from_expr): Likewise, gsi parameter was eliminated. - (scan_assign_result): Renamed to assignment_mod_result, enum elements - renamed as well. - (build_accesses_from_assign): Removed all parameters except for a - simple gimple statement. Now returns a simple bool. - (scan_function): All non-analysis parts moved to separate functions - sra_modify_function_body and ipa_sra_modify_function_body. Removed all - parameters and updated both callers. - (sra_modify_expr): Removed parameter data. - (sra_modify_function_body): New function. - (perform_intra_sra): Call sra_modify_function_body to modify the - function body. - (replace_removed_params_ssa_names): Parameter data changed into - adjustments vector. - (sra_ipa_modify_expr): Likewise. Also removed unused parameter gsi and - changed the parameter dont_convert to convert with the opposite - meaning. - (sra_ipa_modify_assign): Parameter data changed into adjustments - vector, return value changed to bool. - (ipa_sra_modify_function_body): New function. - (sra_ipa_reset_debug_stmts): Updated a comment. - (modify_function): Use ipa_sra_modify_function_body to modify function - body. - -2010-05-04 H.J. Lu - - PR middle-end/43671 - * alias.c (true_dependence): Handle the same VALUE in x and mem. - (canon_true_dependence): Likewise. - (write_dependence_p): Likewise. - -2010-05-04 Jan Hubicka - - * Makefile.in (cgraphbuild.o): Add dependency on ipa-utils.h - * cgraphbuild.c: Include ipa-utils.h - (record_reference_ctx): New struct. - (record_reference): Simplify to work on initializers; not statements. - (mark_address, mark_load, mark_store): New. - (build_cgraph_edges): Simplify using walk_stmt_load_store_addr_ops; - walk PHI nodes too. - (record_references_in_initializer): Update use of record_reference. - (rebuild_cgraph_edges): Simplify using walk_stmt_load_store_addr_ops; - walk PHI nodes too. - -2010-05-04 Jan Hubicka - - * lto-symtab.c (lto_cgraph_replace_node): Do not remove edges; - node will be removed anyway. - (lto_varpool_replace_node): Allow also unanalyzed nodes; - relink aliases of node into prevailing node. - * varpool.c (varpool_remove_node): Remove aliases properly; - when removing node, remove all its aliases too; remove DECL_INITIAL - of removed node; ggc_free the varpool node. - -2010-05-04 Richard Guenther - - PR tree-optimization/43879 - * tree-ssa-structalias.c (alias_get_name): Use - DECL_ASSEMBLER_NAME if available. - (create_function_info_for): Return the varinfo node. - (ipa_pta_execute): Associate same-body aliases and extra names - with their origin nodes varinfo. Dump DECL_ASSEMBLER_NAME. - -2010-05-04 Kaz Kojima - - * config/sh/sh.c (sh_small_register_classes_for_mode_p): Remove static. - -2010-05-04 Mikael Pettersson - - PR bootstrap/43964 - * ira-color.c (assign_hard_reg): Declare rclass and add_cost - only if HONOR_REG_ALLOC_ORDER is not defined. - -2010-05-04 Richard Guenther - - PR tree-optimization/43949 - * tree-vrp.c (extract_range_from_binary_expr): Only handle - TRUNC_MOD_EXPR. - -2010-04-26 Jason Merrill - - * c.opt (-fstrict-enums): New. - * doc/invoke.texi (C++ Dialect Options): Document -fstrict-enums. - -2010-05-03 David Ung - James E. Wilson - - * config/mips/mips.c (mips_output_division): If GENERATE_DIVIDE_TRAPS, - emit the trap instruction before the divide for TUNE_74K. - -2010-05-03 Steven Bosscher - - * doc/tm.texi (defmac SMALL_REGISTER_CLASSES): Remove. - (TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P): Add documentation, - based on the above, for new target hook. - - * hooks.c (hook_bool_mode_true): New generic hook. - * hooks.h (hook_bool_mode_true): Add prototype. - - * target.h (struct gcc_target): Add small_register_classes_for_mode_p - target hook. - * target-def.h (TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P): New default - target hook, set to hook_bool_mode_false. - * regs.h: Remove default definition of SMALL_REGISTER_CLASSES. - * reload.c (push_secondary_reload): Replace SMALL_REGISTER_CLASSES - with targetm.small_register_classes_for_mode_p. - (find_reusable_reload): Likewise. - (combine_reloads): Likewise. - * reload1.c (reload_as_needed): Likewise. - * cse.c (approx_reg_cost_1, hash_rtx_cb): Likewise. - * ifcvt.c (noce_process_if_block, check_cond_move_block, - dead_or_predicable): Likewise. - * regmove.c (optimize_reg_copy_1): Likewise. - * calls.c (prepare_call_address): Likewise. - (precompute_register_parameters): Likewise. - - * config/sh/sh.h: Replace SMALL_REGISTER_CLASSES with new target - hook definition. - * config/sh/sh.c (sh_small_register_classes_for_mode_p): Add - implementation of the hook that considers all register classes - small except for SH64. - (sh_override_options): Use the new hook. - * config/sh/sh-protos.h (sh_small_register_classes_for_mode_p): - Add prototype. - - * config/arm/arm.h: Replace SMALL_REGISTER_CLASSES with new target - hook definition. - * config/arm/arm.c (arm_small_register_classes_for_mode_p): Add - implementation of the hook that considers all register classes - small for THUMB1. - * config/arm/arm-protos.h (arm_small_register_classes_for_mode_p): - Add prototype. - - * config/mips/mips.h: Replace SMALL_REGISTER_CLASSES with new target - hook definition. - * config/mips/mips.c (mips_small_register_classes_for_mode_p): Add - implementation of the hook that considers all register classes - small for MIPS16. - * config/mips/mips-protos.h (mips_small_register_classes_for_mode_p): - Add prototype. - - * config/i386/i386.h: Replace SMALL_REGISTER_CLASSES with new target - hook definition. - * config/m32c/m32c.h: Likewise. - * config/pdp11/pdp11.h: Likewise. - * config/avr/avr.h: Likewise. - * config/xtensa/xtensa.h: Likewise. - * config/m68hc11/m68hc11.h: Likewise. - * config/mn10300/mn10300.h: Likewise. - * config/mcore/mcore.h: Likewise. - * config/h8300/h8300.h: Likewise. - * config/bfin/bfin.h: Likewise. - - * config/iq2000/iq2000.h: Remove SMALL_REGISTER_CLASSES definition. - * config/rx/rx.h: Remove SMALL_REGISTER_CLASSES definition. - -2010-05-03 Anatoly Sokolov - - * double-int.h (tree_to_double_int): Remove macro. - (double_int_to_tree, double_int_fits_to_tree_p): Move prototypes ... - * tree.h (double_int_to_tree, double_int_fits_to_tree_p): ... here. - (tree_to_double_int): New function. - * double-int.c (double_int_to_tree, double_int_fits_to_tree_p): - Move ... - * tree.c (double_int_to_tree, double_int_fits_to_tree_p): ... here. - -2010-05-03 Richard Guenther - - PR tree-optimization/43971 - * tree-ssa-structalias.c (get_constraint_for_1): Fix - constraints in the !flag_delete_null_pointer_checks case. - -2010-05-03 Jakub Jelinek - - PR debug/43972 - * config/i386/i386.c (ix86_delegitimize_address): Make sure the - result mode matches original rtl mode. - -2010-05-03 Dave Korn - - PR target/43888 - * config/i386/winnt.c (i386_pe_binds_local_p): Handle weak decls. - -2010-05-02 Uros Bizjak - - * config/i386/i386.c (ix86_target_string): Output 'flags', not 'isa', - when processing flag options. - -2010-05-02 Uros Bizjak - - * gcov-iov.c (main): Change format string placeholder - from %#08x to 0x%08x. - * genchecksum.c (dosum): Change format string placeholder - from %#02x to 0x%02x. - -2010-05-02 Richard Guenther - - PR tree-optimization/43879 - * tree-tailcall.c (find_tail_calls): Clobbers also prevent tail calls. - -2010-05-02 Bruno Haible - - * doc/extend.texi (Function Attributes): Fix a typo. - -2010-05-02 Uros Bizjak - - Revert: - * hwint.h (HOST_WIDE_INT_PRINT_DOUBLE_HEX): Change format string - placeholder from 0x%x to %#x. - (HOST_WIDEST_INT_PRINT_DOUBLE_HEX): Ditto. - * config/i386/i386elf.h (ASM_OUTPUT_ASCII): Ditto. - * config/i386/i386-interix.h (ASM_OUTPUT_ASCII): Ditto. - * config/i386/att.h (ASM_OUTPUT_ASCII): Ditto. - * config/i386/sysv4.h (ASM_OUTPUT_ASCII): Ditto. - * config/i386/i386.c (ix86_target_string): Ditto. - * config/i386/i386.c (output_pic_addr_const): Ditto. - (print_operand): Ditto. - -2010-05-02 Uros Bizjak - - * vmsdbgout.c (ASM_OUTPUT_DEBUG_DATA1): Change format string - placeholder from 0x%x to %#x. - (ASM_OUTPUT_DEBUG_DATA1): Ditto. - (ASM_OUTPUT_DEBUG_DATA4): Ditto. - (ASM_OUTPUT_DEBUG_DATA): Ditto. - (ASM_OUTPUT_DEBUG_ADDR_DATA): Ditto. - (ASM_OUTPUT_DEBUG_DATA8): Ditto. - * optc-gen.awk: Ditto. - * hwint.h (HOST_WIDE_INT_PRINT_DOUBLE_HEX): Ditto. - (HOST_WIDE_INT_PRINT_HEX): Ditto. - (HOST_WIDEST_INT_PRINT_HEX): Ditto. - (HOST_WIDEST_INT_PRINT_DOUBLE_HEX): Ditto. - -2010-05-01 Anatoly Sokolov - - * target.h (struct calls): Add function_value_regno_p field. - * target-def.h (TARGET_FUNCTION_VALUE_REGNO_P): Define. - (TARGET_INITIALIZER): Use TARGET_FUNCTION_VALUE_REGNO_P. - * targhooks.c (default_function_value_regno_p): New function. - * targhooks.h (default_function_value_regno_p): Declare function. - * rtlanal.c (keep_with_call_p): Use function_value_regno_p hook. - * builtins.c. (apply_result_size): (Ditto.). - * combine.c. (likely_spilled_retval_p): (Ditto.). - * mode-switching.c. Include 'target.h'. - (create_pre_exit): Use function_value_regno_p hook. - * Makefile.in (mode-switching.o): Add dependency on TARGET_H. - * doc/tm.texi (FUNCTION_VALUE_REGNO_P, - TARGET_FUNCTION_VALUE_REGNO_P): Revise documentation. - - * config/i386/i386.h (TARGET_FUNCTION_VALUE_REGNO_P): Remove macro. - * config/i386/i386.c (TARGET_FUNCTION_VALUE_REGNO_P): Define macro. - (ix86_function_value_regno_p): Declare as static, change argument - type to const unsigned int. - * config/i386/i386-protos.h (ix86_function_value_regno_p): Remove. - -2010-05-01 Richard Guenther - - PR tree-optimization/43949 - * tree-vrp.c (ssa_name_nonnegative_p): Return true for unsigned - types. - (extract_range_from_binary_expr): Handle *_MOD_EXPR. - -2010-05-01 Anatoly Sokolov - - * rtl.h (CONST_DOUBLE_P): Define. - (rtx_to_double_int): Declare. - * emit-rtl.c (rtx_to_double_int): New function. - * dwarf2out.c (insert_double): New function. - (loc_descriptor, add_const_value_attribute): Clean up, use - rtx_to_double_int and insert_double functions. - -2010-05-01 Jonathan Wakely - - * doc/extend.texi (Inline): Add missing return keyword to examples. - (Function Attributes, Variable Attributes, Pragmas): Hyphenate - "command-line". - -2010-04-30 Eric Botcazou - - * tree-ssa-loop-ivopts.c (may_be_unaligned_p): Check the alignment of - the variable part of the offset as well. Use highest_pow2_factor for - all alignment checks. - -2010-04-30 Richard Guenther - - PR tree-optimization/43879 - * tree-ssa-structalias.c (type_could_have_pointers): Functions - can have pointers. - -2010-04-30 Jan Hubicka - - * lto-symtab.c (lto_symtab_resolve_can_prevail_p): Chose var with - varpool. - (lto_symtab_merge_decls_1): Remove logic looking for an initializer. - -2010-04-30 Jan Hubicka - - * cgraph.h (cgraph_node_set_nonempty_p, varpool_node_set_nonempty_p): - New. - * lto-cgraph.c (input_cgraph): Remove call to lto_mark_file_for_ltrans. - * lto-streamer.h (lto_file_decl_data): Remove needs_ltrans_p. - (lto_file_needs_ltrans_p, lto_mark_file_for_ltrans, - cgraph_node_set_needs_ltrans_p): Remove. - -2010-04-30 Steven Bosscher - - * sdbout.c: Include vec.h, do not include varray.h. - (deferred_global_decls, sdbout_global_decl, - sdbout_finish, sdbout_init): Use VEC instead of VARRAY. - * toplev.c: Do not include varray.h. - (dump_memory_report): Do not dump VARRAY statistics. - * gengtype.c (open_base_file): Ignore varray.h. - * Makefile.in: Update for abovementioned changes. - Remove all traces of varray.c and varray.h. - * varray.c: Remove file. - * varray.h: Remove file. - -2010-04-30 Jan Hubicka - - * lto-cgraph.c (lto_output_varpool_node): Always output constant pool - references. - -2010-04-30 Jan Hubicka - - * tree-profile.c (tree_init_ic_make_global_vars): Mark new decls as - needed. - -2010-04-30 Richard Guenther - - * tree-ssa-structalias.c (get_constraint_for_1): Generate - constraints for CONSTRUCTOR. - -2010-04-30 Richard Guenther - - PR lto/43946 - * passes.c (init_optimization_passes): Move pass_ipa_free_lang_data - first after all lowering passes. - -2010-04-30 Steven Bosscher - - * toplev.c: Include varray.h for statistics dumping. - * tree.h: Do not declare varray_head_tag. - * tree-into-ssa.c, tree-ssa-uninit.c, tree-phinodes.c, omega.c, - regs.h, lto-cgraph.c, tree-ssa-loop-ivopts.c, tree-nomudflap.c, - c-objc-common.c, lto-streamer-out.c, tree-ssa-propagate.c, - gimple-low.c, c-semantics.c, dwarf2out.c, lto-streamer-in.c, - lto-section-in.c, alias.c, tree-if-conv.c, gimplify.c, ggc-zone.c, - tree-ssa.c, tree-ssa-loop-prefetch.c, integrate.h, c-gimplify.c, - c-common.c, c-common.h, reg-stack.c, basic-block.h, - tree-ssa-structalias.c, lto-section-out.c, tree-ssanames.c: Do not - include varray.h. - * Makefile.in: Update for abovementioned changes. - -2010-04-30 Jakub Jelinek - - PR debug/43942 - * tree.c (auto_var_in_fn_p): Return false for DECL_EXTERNAL vars. - -2010-04-30 Hariharan Sandanagobalane - - * config/picochip/picochip.c (picochip_legitimize_address): Define. - Use this function to do machine-specific conversion. - (picochip_legitimize_reload_address): Likewise. - (picochip_legitimate_address_p): Check valid base register only if - strict. - (picochip_check_conditional_copy): Check for modw only if opnd is - register. - * config/picochip/picochip.h (LEGITIMIZE_RELOAD_ADDRESS): Use this - to call the function in c. - * config/picochip/picochip-protos.h - (picochip_legitimize_reload_address): Define. - * config/picochip/picochip.md (supported_compare1): Define. - -2010-04-30 Jan Hubicka - - * cgraph.h (cgraph_local_info): Remove for_functions_valid. - (cgraph_global_info): Remove inlined. - (LTO_cgraph_tag_names): Remove. - (LTO_cgraph_tags, LCC_NOT_FOUND): Move to ... - * lto-cgraph.c (LTO_cgraph_tags, LCC_NOT_FOUND): ... here; - simplify cgraph tags and document. - (lto_output_node): Use only LTO_cgraph_unavail_node and - LTO_cgraph_analyzed_node; Do not save analzed, reachable, - for_functions_valid, global info, process and output flags. - (input_overwrite_node): Initialize estimated stack size and - estimated growth. Do not read flags we no longer store. - (input_node): Likewise do not read info no longer stored. - * ipa-inline.c (cgraph_mark_inline_edge): Do not set global.inlined - flag. - -2010-04-30 Richard Guenther - - PR tree-optimization/43879 - * tree-ssa-structalias.c (get_constraint_for_1): Properly - handle non-zero initializers. - -2010-04-30 Richard Guenther - - * builtins.c (fold_builtin_1): Delete free (0). - -2010-04-29 Jan Hubicka - - * gengtype.c (open_base_files): Add lto-streamer.h - * cgraph.h (cgraph_local_info): lto_file_data is now in GGC. - (pass_ipa_cp): GGC collect. - * toplev. (compile_file): Do not output symbols. - * ipa-inline.c (pass_ipa_inline): Add ggc collect. - * timevar.def (TV_VARPOOL, TV_IPA_LTO_DECL_INIT_IO, - TV_IPA_LTO_DECL_MERGE, TV_IPA_LTO_CGRAPH_MERGE, TV_VAROUT): New. - * lto-section-in.c: Include ggc.h - (lto_new_in_decl_state): Alloc in GGC. - (lto_delete_in_decl_state): Likewise. - * ipa.c (pass_ipa_function_visibility, pass_ipa_whole_program): - Collect. - -2010-04-29 Bernd Schmidt - - PR target/42895 - * doc/tm.texi (ADJUST_REG_ALLOC_ORDER): Renamed from - ORDER_REGS_FOR_LOCAL_ALLOC. All instances of this macro changed. - (HONOR_REG_ALLOC_ORDER): Describe new macro. - * ira.c (setup_alloc_regs): Use ADJUST_REG_ALLOC_ORDER if defined. - * ira-color.c (assign_hard_reg): Take prologue/epilogue costs into - account only if HONOR_REG_ALLOC_ORDER is not defined. - * config/arm/arm.h (HONOR_REG_ALLOC_ORDER): Define. - * system.h (ORDER_REGS_FOR_LOCAL_ALLOC): Poison. - -2010-04-29 Jon Grant <04@jguk.org> - - * collect2.c (vflag): Change type from int to bool. - (debug): Likewise. - (helpflag): New global bool. - (main): Set vflag and debug with boolean, not integer truth values. - Accept new "--help" option and output usage text if found. - * collect2.h (vflag): Update prototype. - (debug): Likewise. - -2010-04-29 H.J. Lu - - PR bootstrap/43936 - * plugin.h (flag_plugin_added): Moved out of invoke_plugin_callbacks. - -2010-04-29 Richard Guenther - - PR bootstrap/43935 - * plugin.h (invoke_plugin_callbacks): Annotate arguments - with ATTRIBUTE_UNUSED. - -2010-04-29 H.J. Lu - - PR target/43921 - * config/i386/i386.c (get_some_local_dynamic_name): Replace - INSN_P with NONDEBUG_INSN_P. - (distance_non_agu_define): Likewise. - (distance_agu_use): Likewise. - -2010-04-29 Bernd Schmidt - - From Dominique d'Humieres - PR bootstrap/43858 - * ifcvt.c (dead_or_predicable): Use df_simulate_find_defs to compute - test_set. - -2010-04-29 Brian Hackett - - * plugin.h (invoke_plugin_callbacks): New inline function. - * plugin.c (flag_plugin_added): New global flag. - (add_new_plugin): Initialize above flag. - (invoke_plugin_callbacks): Rename to ... - (invoke_plugin_callbacks_full): ... this. - -2010-04-28 Jan Hubicka - - * lto-symtab.c (lto_symtab_entry_def) Add vnode. - (lto_varpool_replace_node): New. - (lto_symtab_resolve_symbols): Resolve varpool nodes. - (lto_symtab_merge_decls_1): Prefer decls with varpool node. - (lto_symtab_merge_cgraph_nodes_1): Merge varpools. - * cgraph.h (varpool_node_ptr): New type. - (varpool_node_ptr): New vector. - (varpool_node_set_def): New structure. - (varpool_node_set): New type. - (varpool_node_set): New vector. - (varpool_node_set_element_def): New structure. - (varpool_node_set_element, const_varpool_node_set_element): New types. - (varpool_node_set_iterator): New type. - (varpool_node): Add prev pointers, add used_from_other_partition, - in_other_partition. - (varpool_node_set_new, varpool_node_set_find, varpool_node_set_add, - varpool_node_set_remove, dump_varpool_node_set, debug_varpool_node_set, - varpool_get_node, varpool_remove_node): Declare. - (vsi_end_p, vsi_next, vsi_node, vsi_start, varpool_node_in_set_p, - varpool_node_set_size): New inlines. - * cgraph.c (dump_cgraph_node): Dump asm names of aliases. - * tree-pass.h (varpool_node_set_def): Forward declare. - (ipa_opt_pass_d): Summary writting takes vnode sets too. - (ipa_write_optimization_summaries): Update prototype. - * ipa-cp.c (ipcp_write_summary): Update. - * ipa-reference.c (ipa_reference_write_summary): Update. - * lto-cgraph.c (lto_output_varpool_node): New static function. - (output_varpool): New function. - (input_varpool_node): New static function. - (input_varpool_1): New function. - (input_cgraph): Input varpool. - * ipa-pure-const.c (pure_const_write_summary): Update. - * lto-streamer-out.c (lto_output): Update, output varpool too. - (write_global_stream): Kill WPA hack. - (produce_asm_for_decls): Update. - (output_alias_pair_p): Handle variables. - (output_unreferenced_globals): Output only needed partition of varpool. - * ipa-inline.c (inline_write_summary): Update. - * lto-streamer-in.c (lto_input_tree_ref, lto_input_tree): Do not build - cgraph. - * lto-section-in.c (lto_section_name): Add varpool and jump funcs. - * ipa.c (hash_varpool_node_set_element, eq_varpool_node_set_element, - varpool_node_set_new, varpool_node_set_add, - varpool_node_set_remove, varpool_node_set_find, dump_varpool_node_set, - debug_varpool_node_set): New functions. - * passes.c (rest_of_decl_compilation): when in LTO do not finalize. - (execute_one_pass): Process new decls too. - (ipa_write_summaries_2): Pass around vsets. - (ipa_write_summaries_1): Likewise. - (ipa_write_summaries): Build vset; be more selective about cgraph nodes - to add. - (ipa_write_optimization_summaries_1): Pass around vsets. - (ipa_write_optimization_summaries): Likewise. - * varpool.c (varpool_get_node): New. - (varpool_node): Update doubly linked lists. - (varpool_remove_node): New. - (dump_varpool_node): More dumping. - (varpool_enqueue_needed_node): Update doubly linked lists. - (decide_is_variable_needed): Kill ltrans hack. - (varpool_finalize_decl): Kill lto hack. - (varpool_assemble_decl): Skip decls in other partitions. - (varpool_assemble_pending_decls): Update doubly linkes lists. - (varpool_empty_needed_queue): Likewise. - (varpool_extra_name_alias): Likewise. - * lto-streamer.c (lto_get_section_name): Add vars section. - * lto-streamer.h (lto_section_type): Update. - (output_varpool, input_varpool): Declare. - -2010-04-28 Mike Stump - - * config/i386/darwin.h (CC1_SPEC): Ignore -mdynamic-no-pic for now. - -2010-04-28 Eric Botcazou - - * lto-streamer-in.c (unpack_ts_type_value_fields): Replace test for - record or union type with RECORD_OR_UNION_TYPE_P predicate. - (lto_input_ts_type_tree_pointers): Likewise. - * lto-streamer-out.c (pack_ts_type_value_fields): Likewise. - (lto_output_ts_type_tree_pointers): Likewise. - -2010-04-28 Eric Botcazou - - Uniquization of constants at the Tree level - * tree.h (DECL_IN_CONSTANT_POOL): New macro. - (tree_decl_with_vis): Add in_constant_pool bit, move shadowed_for_var_p - bit to the end. - (tree_output_constant_def): Declare. - * gimplify.c (gimplify_init_constructor): When using block copy, first - uniquize the constant constructor on the RHS. - * lto-streamer-in.c (unpack_ts_decl_with_vis_value_fields): Deal with - DECL_IN_CONSTANT_POOL flag. - * lto-streamer-out.c (pack_ts_decl_with_vis_value_fields): Likewise. - * varasm.c (make_decl_rtl): Deal with variables belonging to the global - constant pool. - (assemble_variable): Deal with symbols belonging to the tree constant - pool. - (get_constant_section): Add ALIGN parameter and simplify. - (build_constant_desc): Build a VAR_DECL and attach it to the symbol. - (assemble_constant_contents): Use the expression of the VAR_DECL. - (output_constant_def_contents): Use the alignment of the VAR_DECL. - (tree_output_constant_def): New global function. - (mark_constant): Use the expression of the VAR_DECL. - (place_block_symbol): Use the alignment of the VAR_DECL and the size of - its expression. - (output_object_block): Likewise and assemble the expression. - -2010-04-28 Eric Botcazou - - * lto-streamer.c [LTO_STREAMER_DEBUG] (tree_htab, tree_hash_entry, - hash_tree, eq_tree): New tree hash table. - (lto_streamer_init) [LTO_STREAMER_DEBUG]: Initialize it. - [LTO_STREAMER_DEBUG] (lto_orig_address_map, lto_orig_address_get, - lto_orig_address_remove): Reimplement. - -2010-04-28 Xinliang David Li - - PR c/42643 - * tree-ssa-uninit.c (can_skip_redundant_opnd): New function. - (compute_uninit_opnds_pos): New function. - (is_non_loop_exit_postdominating): New function. - (compute_control_dep_chain): New function. - (find_pdom): New function. - (convert_control_dep_chain_into_preds): New function. - (find_predicates): New function. - (find_control_equiv_block): New function. - (collect_phi_def_edges): New function. - (find_def_preds): New function. - (find_dom): New function. - (dump_predicates): New function. - (get_cmp_code): New function. - (is_value_included_in): New function. - (find_matching_predicate_in_rest_chains): New function. - (use_pred_not_overlap_with_undef_path_pred): New function. - (is_use_properly_guarded): New function. - (normalize_cond_1): New function. - (is_and_or_or): New function. - (normalize_cond): New function. - (is_gcond_subset_of): New function. - (is_subset_of_any): New function. - (is_or_set_subset_of): New function. - (is_and_set_subset_of): New function. - (is_norm_cond_subset_of): New function. - (is_pred_expr_subset_of): New function. - (is_pred_chain_subset_of): New function. - (is_included_in): New function. - (is_superset_of): New function. - (find_uninit_use): New function. - (warn_uninitialized_phi): New function. - (compute_possibly_undefined_names): New function. - (ssa_undefined_value_p): New function. - (execute_late_warn_uninitialized): New function. - * tree-ssa.c (ssa_undefined_value_p): Removed. - (warn_uninit): Changed to extern. - (warn_uninitialized_phi): Removed. - (warn_uninitialized_vars): Changed to extern. - (execute_late_warn_uninitialized): Removed - * tree-flow.h: Add new prototypes. - * timevar.def: Add new time variable. - * Makefile.in: Add new build file. - -2010-04-28 Uros Bizjak - - * config/alpha/elf.h (ASM_DECLARE_OBJECT_NAME): Use gnu_unique_object - type if available. - -2010-04-28 Rainer Orth - - PR target/22224 - * config/alpha/osf5.h (ASM_OUTPUT_LOCAL): Redefine. - -2010-04-28 Martin Jambor - - * cgraph.h (struct cgraph_node): New field indirect_calls. - (struct cgraph_indirect_call_info): New type. - (struct cgraph_edge): Removed field indirect_call. New fields - indirect_info, indirect_inlining_edge and indirect_unknown_callee. - (cgraph_create_indirect_edge): Declare. - (cgraph_make_edge_direct): Likewise. - (enum LTO_cgraph_tags): New item LTO_cgraph_indirect_edge. - * ipa-prop.h (struct ipa_param_call_note): Removed. - (struct ipa_node_params): Removed field param_calls. - (ipa_create_all_structures_for_iinln): Declare. - * cgraph.c: Described indirect edges and uids in initial comment. - (cgraph_add_edge_to_call_site_hash): New function. - (cgraph_edge): Search also among the indirect edges, use - cgraph_add_edge_to_call_site_hash to add edges to the call site hash. - (cgraph_set_call_stmt): Possibly turn an indirect edge into a direct - one, use cgraph_add_edge_to_call_site_hash to add edges to the call - site hash. - (initialize_inline_failed): Assign a reason to indirect edges. - (cgraph_create_edge_1): New function. - (cgraph_create_edge): Moved some functionality to - cgraph_create_edge_1. - (cgraph_create_indirect_edge): New function. - (cgraph_edge_remove_callee): Add an assert checking for - non-indirectness. - (cgraph_edge_remove_caller): Special-case indirect edges. - (cgraph_remove_edge): Likewise. - (cgraph_set_edge_callee): New function. - (cgraph_redirect_edge_callee): Use cgraph_set_edge_callee. - (cgraph_make_edge_direct): New function. - (cgraph_update_edges_for_call_stmt_node): Do nothing only when also - the declaration of the call statement matches. - (cgraph_node_remove_callees): Special-case indirect edges. - (cgraph_clone_edge): Likewise. - (cgraph_clone_node): Clone also the indirect edges. - (dump_cgraph_node): Dump indirect_inlining_edge flag instead of - indirect_call, dump count of indirect_calls edges. - * ipa-prop.c (iinlining_processed_edges): New variable. - (ipa_note_param_call): Create indirect edges instead of - creating notes. New parameter node. - (ipa_analyze_call_uses): New parameter node, pass it on to - ipa_note_param_call. - (ipa_analyze_stmt_uses): Likewise. - (ipa_analyze_params_uses): Pass node to ipa_analyze_stmt_uses. - (print_edge_addition_message): Work on edges rather than on notes. - (update_call_notes_after_inlining): Likewise, renamed to - update_indirect_edges_after_inlining. - (ipa_create_all_structures_for_iinln): New function. - (ipa_free_node_params_substructures): Do not free notes. - (ipa_edge_duplication_hook): Propagate bits within - iinlining_processed_edges bitmap. - (ipa_node_duplication_hook): Do not duplicate notes. - (free_all_ipa_structures_after_ipa_cp): Renamed to - ipa_free_all_structures_after_ipa_cp. - (free_all_ipa_structures_after_iinln): Renamed to - ipa_free_all_structures_after_iinln. - (ipa_write_param_call_note): Removed. - (ipa_read_param_call_note): Removed. - (ipa_write_indirect_edge_info): New function. - (ipa_read_indirect_edge_info): Likewise. - (ipa_write_node_info): Do not stream notes, do stream information - in indirect edges. - (ipa_read_node_info): Likewise. - (lto_ipa_fixup_call_notes): Removed. - * ipa-cp.c (pass_ipa_cp): Set stmt_fixup to NULL. - * ipa-inline.c (pass_ipa_inline): Likewise. - * cgraphunit.c (verify_cgraph_node): Check also indirect edges. - * cif-code.def (INDIRECT_UNKNOWN_CALL): New reason. - * tree-inline.c (copy_bb): Removed an unnecessary double check for - is_gimple_call. - * tree-inline.c (get_indirect_callee_fndecl): Do not consider indirect - edges. - * lto-cgraph.c (output_outgoing_cgraph_edges): New function. - (output_cgraph): Stream also indirect edges. - (lto_output_edge): Added capability to stream indirect edges. - (input_edge): Likewise. - (input_cgraph_1): Likewise. - * lto-streamer-in.c (fixup_call_stmt_edges_1): Fixup also statements - of indirect edges. - -2010-04-28 Richard Guenther - - PR tree-optimization/43879 - PR tree-optimization/43909 - * tree-ssa-structalias.c (struct variable_info): Add - only_restrict_pointers flag. - (new_var_info): Initialize it. Increment stats.total_vars here. - (create_function_info_for): Do not increment stats.total_vars here. - (get_function_part_constraint): Fix build with C++. - (insert_into_field_list): Remove. - (push_fields_onto_fieldstack): Properly merge fields. - (create_variable_info_for): Split and simplify. - (create_variable_info_for_1): New piece. - (intra_create_variable_infos): Properly make restrict constraints - from parameters. - -2010-04-28 Richard Guenther - - PR c++/43880 - * tree-inline.c (copy_bind_expr): Also copy bind expr vars value-exprs. - -2010-04-27 Manuel López-Ibáñez - Jan Hubicka - - * doc/invoke.texi (-Wsuggest-attribute=const, - -Wsuggest-attribute=pure): Document. - * ipa-pure-const.c: Include toplev.h, intl.h and opts.h. - (function_always_visible_to_compiler_p, - suggest_attribute, warn_function_pure, warn_function_const): - New functions. - (check_call): Improve debug info. - (analyze_function): Do not check availability. - (add_new_function): Check availability. - (propagate): Output warnings. - (skip_function_for_local_pure_const): New function. - (local_pure_const): Use it; output warnings. - * common.opt (Wsuggest-attribute=const, - Wsuggest-attribute=pure): New. - -2010-04-27 Jakub Jelinek - - * dwarf2out.c (def_cfa_1): After DW_CFA_def_cfa_expression - force using DW_CFA_def_cfa instead of DW_CFA_def_cfa_register - or DW_CFA_def_cfa_offset{,_sf}. - -2010-04-27 Eric Botcazou - - * tree.h: Fix truncated long macros. - -2010-04-27 Kai Tietz - - * collect2.c (TARGET_64BIT): Redefine to target's default. - * tlink.c: Likewise. - * config/i386/cygming.h (USER_LABEL_PREFIX): Define - dependent to TARGET_64BIT and USE_MINGW64_LEADING_UNDERSCORES. - * config/i386/i386.h (CRT_CALL_STATIC_FUNCTION): Use - for underscoring __USER_LABEL_PREFIX__. - * config/i386/mingw-w64.h (SUB_LINK_ENTRY): New macro. - (SUB_LINK_ENTRY32): New. - (SUB_LINK_ENTRY64): New. - (LINK_SPEC): Replace entry point spec by SUB_LINK_ENTRY. - * config/i386/mingw32 (SUB_LINK_ENTRY32): New. - (SUB_LINK_ENTRY64): New. - (SUB_LINK_ENTRY): New. - (LINK_SPEC): Use SUB_LINK_ENTRY instead of hard-coded entry-point. - (DWARF2_UNWIND_INFO): Error out for use of dw2 unwind when - x64 target is choosen. - * config.in (USE_MINGW64_LEADING_UNDERSCORES): New. - * configure: Regenerated. - * configure.ac (leading-mingw64-underscores): Option added. - -2010-04-27 Jan Hubicka - - * doc/invoke.texi (-fipa-profile): Document. - * opts.c (decode_options): Enable ipa-profile at -O1. - * timevar.def (TV_IPA_PROFILE): Define. - * common.opt (fipa-profile): Add. - * cgraph.c (cgraph_clone_node): Set local flag and clear vtable method - flag for clones. - (cgraph_propagate_frequency): Handle only local ones. - * tree-pass.h (pass_ipa_profile): Declare. - * ipa-profile.c (gate_profile): Use flag_ipa_profile. - (pass_ipa_profile): Use TV_IPA_PROFILE. - * ipa.c (ipa_profile): New function. - (gate_ipa_profile): Likewise. - (pass_ipa_profile): New global variable. - * passes.c (pass_ipa_profile): New. - -2010-04-27 Nathan Froyd - - * config/arm/arm.c (arm_expand_builtin): Remove redundant declaration. - -2010-04-27 Martin Jambor - - PR middle-end/43812 - * ipa.c (dissolve_same_comdat_group_list): New function. - (function_and_variable_visibility): Call - dissolve_same_comdat_group_list when comdat group contains external or - newly local nodes. - * cgraphunit.c (verify_cgraph_node): Verify that same_comdat_group - lists are circular and that they contain only DECL_ONE_ONLY nodes. - -2010-04-27 Eric Botcazou - - * varasm.c (decode_addr_const): Handle special case of INDIRECT_REF. - (const_hash_1) : New case. - (compare_constant) : Likewise. - : Deal with LABEL_REFs. - (copy_constant) : New case. - -2010-04-27 Jan Hubicka - - * cgraph.c (cgraph_propagate_frequency): New function. - * cgraph.h (cgraph_propagate_frequency): Declare. - * ipa-inline.c (cgraph_clone_inlined_nodes): Call - cgraph_propagate_frequency. - -2010-04-27 Jakub Jelinek - - * unwind-dw2.c (_Unwind_DebugHook): Add used and noclone attributes. - -2010-04-27 Bernd Schmidt - - PR target/40657 - * config/arm/arm.c (thumb1_extra_regs_pushed): New function. - (thumb1_expand_prologue, thumb1_output_function_prologue): Call it - here to determine which regs to push and how much stack to reserve. - -2010-04-27 Jie Zhang - - * doc/gimple.texi (gimple_statement_with_ops): Remove - addresses_taken field. - (gimple_statement_with_memory_ops): Likewise. - -2010-04-27 Jan Hubicka - - * tree-inline.c (eni_inlining_weights): Remove. - (estimate_num_insns): Special case more builtins. - -2010-04-27 Shujing Zhao - - PR c/32207 - * c-typeck.c (build_binary_op): Move forward check for comparison - pointer with null pointer constant and adjust the diagnostic message. - -2010-04-27 Dave Korn - - PR lto/42776 - * configure.ac (gcc_cv_as_section_has_align): Set if installed - binutils supports extended .section directive needed by LTO, or - warn if older binutils found. - (LTO_BINARY_READER): New AC_SUBST'd variable. - (LTO_USE_LIBELF): Likewise. - * gcc/config.gcc (lto_binary_reader): New target-specific configure - variable. - * gcc/Makefile.in (LTO_BINARY_READER): Import AC_SUBST'd autoconf var. - (LTO_USE_LIBELF): Likewise. - * configure: Regenerate. - - * collect2.c (is_elf): Rename from this ... - (is_elf_or_coff): ... to this, and recognize and allow i386 COFF - object files in addition to ELF-formatted ones. - (scan_prog_file): Caller updated. Also allow for LTO info marker - symbol to be prefixed or not by an extra underscore. - - * config/i386/t-cygming (winnt.o): Also depend on LTO_STREAMER_H. - * config/i386/winnt.c: Also #include lto-streamer.h - (i386_pe_asm_named_section): Specify 1-byte section alignment for - LTO named sections. - (i386_pe_asm_output_aligned_decl_common): Add comment. - (i386_pe_maybe_record_exported_symbol): Allow decl arg to be NULL. - -2010-04-27 Hans-Peter Nilsson - - PR target/43889 - * config/mmix/mmix.md ("*divdi3_nonknuth", "*moddi3_nonknuth"): - Add missing earlyclobber for second alternative. - -2010-04-26 Bernd Schmidt - - * df-problems.c (df_simulate_initialize_forwards): Set, don't clear, - bits for artificial defs at the top of the block. - * fwprop.c (single_def_use_enter_block): Don't call it. - -2010-04-26 Jack Howarth - - PR 43715 - * gcc/configure.ac: Use "$gcc_cv_nm -g" on darwin - instead of "$gcc_cv_objdump -T". - Use "-undefined dynamic_lookup" on darwin. - * gcc/configure: Regenerate. - -2010-04-26 Jakub Jelinek - - PR c/43893 - * c-omp.c (c_finish_omp_for): Handle also EQ_EXPR. - -2010-04-26 Nathan Froyd - - * c-parser.c (struct c_token): Move location field up. - * c-tree.h (struct c_typespec): Move expr_const_operands field up. - (struct c_declspecs): Convert typespec_word, storage_class, and - default_int_p into bitfields. - (struct c_declarator): Move loc field up. - -2010-04-26 Nathan Froyd - - * cfgloop.h (struct loop): Move can_be_parallel field up. - * ipa-prop.h (struct ip_node_params): Move bitfields up. - * tree-ssa-loop-ivopts.c (struct version_info): Move inv_id field - down. - (struct iv_cand): Convert pos field into a bitfield. - * tree-vectorizer.h (struct _loop_vec_info): Move loop_line_number - field up. - (struct _stmt_vec_info): Shuffle fields for better packing. - -2010-04-26 Eric Botcazou - - * varasm.c (IN_NAMED_SECTION): Remove guard. - * config/arm/unknown-elf.h (IN_NAMED_SECTION): Rename to... - (IN_NAMED_SECTION_P): ...this. - (ASM_OUTPUT_ALIGNED_BSS): Adjust for above renaming. - (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Likewise. - -2010-04-26 Eric Botcazou - - * gimplify.c (gimplify_cond_expr): Use THEN_ and ELSE_ local variables. - Use VOID_TYPE_P for all void type tests. Adjust TYPE variable instead - of shadowing it. Fix comments. - -2010-04-26 Jan Hubicka - - * cgraph.c (cgraph_create_node): Set node frequency to normal. - (cgraph_clone_node): Copy function frequency. - * cgraph.h (node_frequency): New enum - (struct cgraph_node): Add. - * final.c (rest_of_clean_state): Update. - * lto-cgraph.c (lto_output_node): Output node frequency. - (input_overwrite_node): Input node frequency. - * tre-ssa-loop-ivopts (computation_cost): Update. - * lto-streamer-out.c (output_function): Do not output function - frequency. - * predict.c (maybe_hot_frequency_p): Update and handle functions - executed once. - (cgraph_maybe_hot_edge_p): Likewise; use cgraph frequency instead of - attribute lookup. - (probably_never_executed_bb_p, optimize_function_for_size_p): Update. - (compute_function_frequency): Set noreturn functions to be executed - once. - (choose_function_section): Update. - * lto-streamer-in.c (input_function): Do not input function frequency. - * function.c (allocate_struct_function): Do not initialize function - frequency. - * function.h (function_frequency): Remove. - (struct function): Remove function frequency. - * ipa-profile.c (CGRAPH_NODE_FREQUENCY): Remove. - (try_update): Update. - * tree-inline.c (initialize_cfun): Do not update function frequency. - * passes.c (pass_init_dump_file): Update. - * i386.c (ix86_compute_frame_layout): Update. - (ix86_pad_returns): Update. - -2010-04-26 Jie Zhang - - PR tree-optimization/43833 - * tree-vrp.c (range_int_cst_p): New. - (range_int_cst_singleton_p): New. - (extract_range_from_binary_expr): Optimize BIT_AND_EXPR case - when both operands are constants. Use range_int_cst_p in - BIT_IOR_EXPR case. - -2010-04-26 Jan Hubicka - - * cgraphunit.c (cgraph_copy_node_for_versioning): Fix profile updating. - -2010-04-26 Richard Guenther - - PR lto/43080 - * gimple.c (gimple_decl_printable_name): Deal gracefully - with a NULL DECL_NAME. - -2010-04-26 Richard Guenther - - PR lto/42425 - * tree.c (free_lang_data_in_type): Do not free TYPE_CONTEXT - if emitting debug information and it is either a function - or a namespace decl. - -2010-04-26 Ira Rosen - - * tree-vectorizer.h (struct _stmt_vec_info): Add new field to - determine if the statement is vectorizable, and a macro to access it. - * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): - Skip statements that can't be vectorized. If the analysis fails, - mark the statement as unvectorizable if vectorizing basic block. - (vect_compute_data_refs_alignment): Likewise. - (vect_verify_datarefs_alignment): Skip statements marked as - unvectorizable. Add print. - (vect_analyze_group_access): Skip statements that can't be - vectorized. If the analysis fails, mark the statement as - unvectorizable if vectorizing basic block. - (vect_analyze_data_ref_accesses, vect_analyze_data_refs): Likewise. - * tree-vect-stmts.c (vectorizable_store): Fix the number of - generated stmts for SLP. - (new_stmt_vec_info): Initialize the new field. - * tree-vect-slp.c (vect_build_slp_tree): Fail to vectorize - statements marked as unvectorizable. - -2010-04-25 Joseph Myers - - * c-common.c (flag_isoc1x): New. - (flag_isoc99): Update comment. - * c-common.h (flag_isoc1x): New. - (flag_isoc99): Update comment. - * c-cppbuiltin.c (builtin_define_float_constants): Also define - ___DECIMAL_DIG__. - * c-opts.c (set_std_c1x): New. - (c_common_handle_option): Handle -std=c1x and -std=gnu1x. - (set_std_c89, set_std_c99): Also set flag_isoc1x to 0. - * c.opt (-std=c1x, -std=gnu1x): New options. - * doc/cpp.texi: Mention -std=c1x. - * doc/cppopts.texi (-std=c1x, -std=gnu1x): Document. - * doc/extend.texi: Mention -std=c1x and -std=gnu1x. - * doc/invoke.texi (-std=c1x, -std=gnu1x): Document. - * doc/standards.texi: Mention C1X. - * ginclude/float.h (FLT_DECIMAL_DIG, DBL_DECIMAL_DIG, - LDBL_DECIMAL_DIG, FLT_HAS_SUBNORM, DBL_HAS_SUBNORM, - LDBL_HAS_SUBNORM, FLT_TRUE_MIN, DBL_TRUE_MIN, LDBL_TRUE_MIN): - Define for C1X. - -2010-04-25 Uros Bizjak - - * config/i386/gmon-sol2.c (_mcleanup): Change format string - placeholder from 0x%x to %#x. - * config/i386/i386elf.h (ASM_OUTPUT_ASCII): Ditto. - * config/i386/i386-interix.h (ASM_OUTPUT_ASCII): Ditto. - * config/i386/att.h (ASM_OUTPUT_ASCII): Ditto. - * config/i386/sysv4.h (ASM_OUTPUT_ASCII): Ditto. - * config/i386/i386.c (ix86_target_string): Ditto. - (output_pic_addr_const): Ditto. - (print_operand): Ditto. - -2010-04-25 Paolo Bonzini - - * combine.c (find_split_point): Add third argument. Use it - to find nested multiply-accumulate instructions. Adjust calls. - (try_combine): Adjust call to find_split_point. - -2010-04-24 Gerald Pfeifer - - * doc/contrib.texi (Contributors): Add Dodji Seketeli. - -2010-04-24 Bernd Schmidt - - PR tree-optimization/41442 - * fold-const.c (merge_truthop_with_opposite_arm): New function. - (fold_binary_loc): Call it. - -2010-04-23 Manuel López-Ibáñez - - * toplev.c (general_init): Set default for fdiagnostics-show-option. - * opts.c (common_handle_option): Allow disabling it. - * common.opt (fdiagnostics-show-option): Add Var. Enabled by default. - -2010-04-23 Eric Botcazou - - * expr.c (expand_expr_real_1) : Only use conversion - between modes if both types are integral. - -2010-04-23 Richard Guenther - - PR tree-optimization/43572 - * tree-tailcall.c (find_tail_calls): Allow PARM_DECL uses. - -2010-04-23 Richard Guenther - - PR lto/43455 - * tree-inline.c (tree_can_inline_p): Also check compatibility - of return types. - -2010-04-23 Martin Jambor - - PR tree-optimization/43846 - * tree-sra.c (struct access): New flag grp_assignment_read. - (build_accesses_from_assign): Set grp_assignment_read. - (sort_and_splice_var_accesses): Propagate grp_assignment_read. - (enum mark_read_status): New type. - (analyze_access_subtree): Propagate grp_assignment_read, create - accesses also if both direct_read and root->grp_assignment_read. - -2010-04-23 Martin Jambor - - PR middle-end/43835 - * tree-sra.c (ipa_sra_preliminary_function_checks): Check that the - function does not have type attributes. - -2010-04-23 Richard Guenther - - PR lto/42653 - * tree.c (free_lang_data_in_decl): Do not reset DECL_CONTEXT - of FUNCTION_DECLs. - -2010-04-22 Laurynas Biveinis - - * sese.h (create_if_region_on_edge): Remove. - - * sese.c (create_if_region_on_edge): Make static. - - * tree-inline.c: Do not include ggc.h. - - * expr.c: Do not include ggc.h. - - * Makefile.in (tree-inline.o, expr.o): Remove $(GGC_H) from - dependencies. - -2010-04-22 Kaz Kojima - - PR target/43744 - * config/sh/sh.c (find_barrier): Don't emit a constant pool - in the middle of insns for casesi_worker_2. - -2010-04-22 David Edelsohn - - * config/rs6000/x-aix: Override LDFLAGS for all COMPILERS. - -2010-04-22 Ira Rosen - - PR tree-optimization/43842 - * tree-vect-loop.c (vect_create_epilog_for_reduction): Handle - loop unrolling in update of exit phis. Fix comment. - * tree-vect-slp.c (vect_analyze_slp): Check that there are at - least two reduction statements in the loop before starting SLP - analysis. - -2010-04-22 Nick Clifton - - * config/stormy16/stormy16-lib2.c (__ucmpsi2): Fix thinko. - -2010-04-22 Alexander Monakov - - * tree-ssa-reassoc.c (eliminate_plus_minus_pair): Handle BIT_NOT_EXPR - to simplify a + ~a. - -2010-04-22 Laurynas Biveinis - - * tree-parloops.c (loop_parallel_p): New argument - parloop_obstack. Pass it down. - (parallelize_loops): New variable parloop_obstack. Initialize it, - pass it down, free it. - - * tree-loop-linear.c (linear_transform_loops): Pass down - lambda_obstack. - - * tree-data-ref.h (lambda_compute_access_matrices): New argument - of type struct obstack *. - - * tree-data-ref.c (analyze_subscript_affine_affine): New variable - scratch_obstack. Initialize it, pass down, free it. - - * lambda.h (lambda_loop_new): Remove. - (lambda_matrix_new, lambda_matrix_inverse) - (lambda_trans_matrix_new, lambda_trans_matrix_inverse): New - argument of type struct obstack *. - - * lambda-trans.c (lambda_trans_matrix_new): New argument - lambda_obstack. Pass it down, use obstack allocation for ret. - (lambda_trans_matrix_inverse): New argument lambda_obstack. Pass - it down. - - * lambda-mat.c (lambda_matrix_get_column) - (lambda_matrix_project_to_null): Remove. - (lambda_matrix_new): New argument lambda_obstack. Use obstack - allocation for mat. - (lambda_matrix_inverse_hard, lambda_matrix_inverse): New argument - lambda_obstack. - - * lambda-code.c (lambda_loop_new): New function. - (lambda_lattice_new, compute_nest_using_fourier_motzkin) - (lambda_compute_auxillary_space, lambda_compute_target_space) - (lambda_loopnest_transform, gcc_loop_to_lambda_loop) - (lambda_loopnest_to_gcc_loopnest): Pass down lambda_obstack. - (build_access_matrix): New argument lambda_obstack. Use obstack - allocation for am. - (lambda_compute_step_signs, lambda_compute_access_matrices): New - argument lambda_obstack. Pass it down. - -2010-04-22 Bernd Schmidt - - * optabs.h (expand_widening_mult): Declare. - -2010-04-22 Richard Guenther - - PR tree-optimization/43845 - * tree-ssa-pre.c (create_component_ref_by_pieces_1): Properly - lookup the CALL_EXPR function and arguments. - -2010-04-22 Nick Clifton - - * config/stormy16/stormy16.c - (xstormy16_asm_output_aligned_common): Handle a NULL decl parameter. - * config/stormy16/stormy16.h: Tidy up formatting. - (DONT_USE_BUILTIN_SETJMP): Remove definition. - * config/stormy16/stormy16.c (cbranchsi4): Delete pattern. - (ineqbranchsi): Delete pattern. - * config/stormy16/stormy16-lib2-ucmpsi2.c: New file. - * config/stormy16/stormy16-lib2.c (__ucmpsi2): New function. - * config/stormy16/t-stormy16 (LIB2FUNCS_EXTRA): Add - stormy16-lib2-ucmpsi2.c. - -2010-04-22 Bernd Schmidt - - * ifcvt.c (dead_or_predicable): Use df_simulate_find_defs and - df_simulate_find_noclobber_defs as appropriate. Keep track of an - extra set merge_set_noclobber, and use it to relax the final test - slightly. - * df.h (df_simulate_find_noclobber_defs): Declare. - * df-problems.c (df_simulate_find_defs): Don't ignore partial or - conditional defs. - (df_simulate_find_noclobber_defs): New function. - -2010-04-22 Uros Bizjak - - * config/i386/i386.md: Use {} around multi-line preparation statements. - -2010-04-22 Laurynas Biveinis - - * c-tree.h (push_init_level, pop_init_level, set_init_index) - (process_init_element): New argument of type struct obstack *. - - * c-typeck.c (push_init_level, pop_init_level, set_designator) - (set_init_index, set_init_label, set_nonincremental_init) - (set_nonincremental_init_from_string, find_init_member) - (output_init_element, output_pending_init_elements) - (process_init_element): New argument braced_init_obstack. Pass it - down. - (push_range_stack, add_pending_init): New argument - braced_init_obstack. Use obstack allocation. - - * c-parser.c (c_parser_initelt, c_parser_initval): New argument - braced_init_obstack. Pass it down. - (c_parser_braced_init): New variables ret, braced_init_obstack. - Initialize obstack, pass it down and finally free it. - -2010-04-22 Bernd Schmidt - - PR middle-end/29274 - * tree-pass.h (pass_optimize_widening_mul): Declare. - * tree-ssa-math-opts.c (execute_optimize_widening_mul, - gate_optimize_widening_mul): New static functions. - (pass_optimize_widening_mul): New. - * expr.c (expand_expr_real_2) : New case. - : Remove support for widening multiplies. - * tree.def (WIDEN_MULT_EXPR): Tweak comment. - * cfgexpand.c (expand_debug_expr) : Use - simplify_gen_unary rather than directly building extensions. - * tree-cfg.c (verify_gimple_assign_binary): Add tests for - WIDEN_MULT_EXPR. - * expmed.c (expand_widening_mult): New function. - * passes.c (init_optimization_passes): Add pass_optimize_widening_mul. - -2010-04-21 Jan Hubicka - - * timevar.def (TV_WHOPR_WPA_FIXUP): Remove. - * lto-section-in.c (lto_section_name): Remove wpa_fixup. - * lto-wpa-fixup.c: Remove. - * Makefile.in (lto-wpa-fixup.o): Remove. - * passes.c (init_optimization_passes): Remove pass_ipa_lto_wpa_fixup. - (execute_all_ipa_transforms): Set cgraph_state to CGRAPH_STATE_IPA_SSA. - * lto-streamer.c (lto_get_section_name): Remove wpa_fixup section. - -2010-04-21 Jan Hubicka - - * tree-pass.h (ipa_opt_pass_d): Rename function_read_summary; - add write_optimization_summary, read_optimization_summary. - (ipa_write_summaries_of_cgraph_node_set): Remove. - (ipa_write_optimization_summaries): Declare. - (ipa_read_optimization_summaries): Declare. - * ipa-cp.c (pass_ipa_cp): Update. - * ipa-reference.c (pass_ipa_reference): Update. - * ipa-pure-const.c (pass_ipa_pure_const): Update. - * lto-streamer-out.c (pass_ipa_lto_gimple, pass_ipa_lto_finish): - Update. - * ipa-inline.c (pass_ipa_inline): Update. - * ipa.c (pass_ipa_whole_program): Update. - * lto-wpa-fixup.c (pass_ipa_lto_wpa_fixup): Update. - * passes.c (ipa_write_summaries_1): Do not test wpa. - (ipa_write_optimization_summaries_1): New. - (ipa_write_optimization_summaries): New. - (ipa_read_summaries): Do not test ltrans. - (ipa_read_optimization_summaries_1): New. - (ipa_read_optimization_summaries): New. - -2010-04-21 Jan Hubicka - - * lto-cgraph.c (lto_output_node): Do not output comdat groups - for boundary nodes. - (output_cgraph): Do not arrange comdat groups for boundary nodes. - -2010-04-21 Jakub Jelinek - - PR debug/40040 - * dwarf2out.c (add_name_and_src_coords_attributes): Add - DW_AT_{,MIPS_}linkage_name even for Fortran decls. - -2010-04-21 Jan Hubicka - - * ipa-prop.c (ipa_edge_removal_hook): Check for bounds. - -2010-04-21 Jan Hubicka - - * varpool.c (decide_is_variable_needed): Variable is always needed - during ltrans. - -2010-04-21 Jan Hubicka - - * opts.c (decode_options): Enable pure-const pass for whopr. - -2010-04-21 Jan Hubicka - - * cgraph.c (dump_cgraph_node): Dump also assembler name. - * ipa-inline.c (cgraph_decide_inlining_of_small_functions): Do not ice - at WPA dumping. - (cgraph_decide_inlining): Do not expect callee to be removed in all - cases. - -2010-04-21 Eric B. Weddington - - * config/avr/avr-devices.c (avr_mcu_types): Add missing comma. - -2010-04-21 Uros Bizjak - - * config/i386/i386.md (x86_shrd): Add athlon_decode and - amdfam10_decode attributes. - -2010-04-21 Jakub Jelinek - - PR middle-end/43570 - * omp-low.c (scan_sharing_clauses): Don't scan_omp_op - OMP_CLAUSE_DECL for OMP_CLAUSE_COPYPRIVATE. - (lower_copyprivate_clauses): Use private var in outer - context instead of original var. Make sure the types - are correct for VLAs. - -2010-04-21 Richard Guenther - - * tree-ssa-structalias.c (do_ds_constraint): Avoid escaping - to non-pointer objects. - -2010-04-21 Jakub Jelinek - - * dwarf2out.c (add_var_loc_to_decl): Add LABEL argument. Drop - last chain entry if it starts with the still current label. - (add_location_or_const_value_attribute): Check that - loc_list->first->next is NULL instead of comparing ->first with ->last. - (dwarf2out_var_location): Pass last_label resp. last_postcall_label - to add_var_loc_to_decl. - - * dwarf2out.c (output_call_frame_info): For dw_cie_version - >= 4 add also address size and segment size fields into CIE header. - - * unwind-dw2.c (extract_cie_info): Handle CIE version 4, as - long as address size is the same as sizeof (void *) and - segment size is 0. - * unwind-dw2-fde.c (get_cie_encoding): Likewise. If - address size or segment size is unexpected, return DW_EH_PE_omit. - (classify_object_over_fdes): If get_cie_encoding returned - DW_EH_PE_omit, return -1. - (init_object): If classify_object_over_fdes returned -1, - pretend there were no FDEs at all. - -2010-04-21 Uros Bizjak - - * config/i386/i386.md (bswap2): Macroize expander from - bswap{si,di}2 using SWI48 mode iterator. - (*bswap2_movbe): Macroize insn from *bswap{si,di}_movbe using - SWI48 mode iterator. Set type attribute of bswap insn to bitmanip, - set modrm attribute of bswap insn to 0 and remove length attribute. - (*bswap2_1): Macroize insn from *bswap{si,di}_1 using SWI48 mode - iterator. Set type attribute to bitmanip, set modrm attribute to 0, - set mode attribute to and remove length attribute. - -2010-04-20 James E. Wilson - - PR rtl-optimization/43520 - * ira-lives.c (ira_implicitly_set_insn_hard_regs): Exclude classes with - zero available registers. - -2010-04-20 Kaveh R. Ghazi - - * builtins.c (fold_builtin_cproj): Fold more cases. - -2010-04-20 Kaveh R. Ghazi - - * builtins.c (build_complex_cproj, fold_builtin_cproj): New. - (fold_builtin_1): Fold builtin cproj. - * builtins.def (BUILT_IN_CPROJ, BUILT_IN_CPROJF, BUILT_IN_CPROJL): - Use ATTR_CONST_NOTHROW_LIST. - -2010-04-20 Uros Bizjak - - * config/i386/i386.md (ffs2): Macroize expander from ffs_cmove - and ffsdi2 using SWI48 mode iterator. Expand SImode insn through - ffsi2_no_cmove for !TARGET_CMOVE. - (ffssi2_no_cmove): Rename from *ffs_no_cmove. Make public. - (ffssi2): Remove expander. - (*ffs_1): Macroize insn from *ffs{si,di} using SWI48 - mode iterator. - (ctz2): Ditto from ctz{si,di}2. - (clz2): Macroize expander from ctz{hi,si,di}2 using SWI248 - mode iterator. - (clz2_abm): Macroize insn from clz{hi,si,di}2_abm using SWI248 - mode iterator. - -2010-04-20 Jakub Jelinek - - * dwarf2out.c (AT_linkage_name): Define. - (clone_as_declaration): Handle DW_AT_linkage_name. - (add_name_and_src_coords_attributes): Use AT_linkage_name instead - of DW_AT_MIPS_linkage_name. - (move_linkage_attr): Likewise. - (dwarf2out_finish): Likewise. - -2010-04-20 Xinliang David Li - - PR middle-end/41952 - * fold-const.c (fold_comparison): New folding rule. - -2010-04-20 Anatoly Sokolov - - * double-int.h (double_int_setbit): Declare. - * double-int.c (double_int_setbit): New function. - * rtl.h (immed_double_int_const): Declare. - * emit-rtl.c (immed_double_int_const): New function. - * builtins.c (expand_builtin_signbit): Clean up, use double_int_* - and immed_double_int_const functions. - * optabs.c (expand_absneg_bit, expand_copysign_absneg, - expand_copysign_bit): (Ditto.). - * simplify-rtx.c (simplify_binary_operation_1): (Ditto.). - * tree-ssa-address.c (addr_for_mem_ref): (Ditto.). - * dojump.c (prefer_and_bit_test): (Ditto.). - * expr.c (convert_modes, reduce_to_bit_field_precision, - const_vector_from_tree): (Ditto.). - * expmed.c (mask_rtx, lshift_value): (Ditto.). - -2010-04-20 Jan Hubicka - - * cgraph.c (cgraph_remove_node): Kill bodies in other partitoin. - (dump_cgraph_node): Dump new flags. - * cgraph.h (struct cgraph_node): Add flags - reachable_from_other_partition and in_other_partition. - (cgraph_can_remove_if_no_direct_calls_p): Functions used by - other partition can not be removed. - * cgraphunit.c (cgraph_mark_functions_to_output): Functions used by - the other partition must be output; silence sanity checking on - leaking functions bodies from other paritition. - * lto-cgraph.c (reachable_from_other_partition_p): New function. - (lto_output_node): Output new flags; do not sanity check that inline - clones are output; drop lto_forced_extern_inline_p code; do not mock - visibility flags at partition boundaries. - (add_node_to): New function. - (output_cgraph): Use it to sort functions so masters appear before - clones. - (input_overwrite_node): Input new flags. - * passes.c (ipa_write_summaries): Do not call - lto_new_extern_inline_states. - * lto-section-out.c (forced_extern_inline, - lto_new_extern_inline_states lto_delete_extern_inline_states, - lto_force_functions_extern_inline, lto_forced_extern_inline_p): Kill. - * lto-streamer.h (lto_new_extern_inline_states, - * lto_delete_extern_inline_states, lto_force_functions_extern_inline, - lto_forced_extern_inline_p): Kill. - -2010-04-20 Richard Guenther - - * tree-ssa-structalias.c (do_sd_constraint): Add edges only - from vars that can have pointers. - (process_constraint): Dump useless constraints. - -2010-04-20 Richard Guenther - - * tree-ssa-structalias.c (do_structure_copy): Properly handle DEREF. - (dump_sa_points_to_info): Remove asserts. - (init_base_vars): nothing_id isn't an escape point nor does it - have pointers. - -2010-04-20 Jakub Jelinek - - * tree.h (TYPE_REF_IS_RVALUE): Define. - * dwarf2out.c (attr_checksum_ordered, is_type_die, is_comdat_die, - should_move_die_to_comdat, prune_unused_types_walk): Handle - DW_TAG_rvalue_reference_type like DW_TAG_reference_type. - (modified_type_die, gen_reference_type_die): Emit - DW_TAG_rvalue_reference_type instead of DW_TAG_reference_type - if TYPE_REF_IS_RVALUE and -gdwarf-4. - -2010-04-20 Andreas Krebbel - - PR target/43635 - * config/s390/s390.c (s390_emit_call): Turn direct into indirect - calls for -fpic -m31 if they have been sibcall optimized. - -2010-04-19 James E. Wilson - - * config/ia64/ia64.h (FIXED_REGISTERS, CALL_USED_REGISTERS): Make - ar.lc fixed and call-used. - - * config/ia64/ia64.c (TARGET_INVALID_WITHIN_DOLOOP): Define. - -2010-04-19 Jan Hubicka - - * opts.c (decode_options): Disable whpr incompatible passes. - * lto/lto.c (lto_1_to_1_map): Skip clones. - (read_cgraph_and_symbols): Do not mark everything as needed. - (do_whole_program_analysis): Do map only after optimizing; - set proper cgraph_state; use passmanager. - -2010-04-19 DJ Delorie - - * cfgexpand.c (expand_debug_expr): Check for mismatched modes in - POINTER_PLUS_EXPR and fix them. - -2010-04-19 Eric B. Weddington - - * config/avr/avr-devices.c (avr_mcu_types): Add support for new - devices atmega644pa, attiny2313a, attiny24a, attiny261a, attiny4313, - attiny44a, attiny861a, atmega16a, atmega168a, atmega164a, atmega165a, - atmega169a, atmega169pa, atmega16hva2, atmega324a, atmega324pa, - atmega325a, atmega3250a, atmega328, atmega329a, atmega329pa, - atmega3290a, atmega48a, atmega644a, atmega645a, atmega645p, - atmega6450a, atmega6450p, atmega649a, atmega649p, atmega6490a, - atmega6490p, atmega64hve, atmega88a, atmega88pa, attiny461a, attiny84a, - m3000. Remove support for devices atmega8m1, atmega8c1, atmega16c1, - atmega4hvd, atmega8hvd, attiny327, m3000f, m3000s, m3001b. - * config/avr/t-avr.c (MULTILIB_MATCHES): Same. - -2010-04-19 Eric Botcazou - - * ifcvt.c (noce_try_cmove_arith): Fix long lines. - (check_cond_move_block): Likewise. - (cond_move_process_if_block): Likewise. - (noce_find_if_block): Improve formatting. - (find_if_header): Pass 0 to memset and tweak conditions. - (cond_exec_find_if_block): Fix long lines and tweak conditions. - -2010-04-19 Jakub Jelinek - - * dwarf2out.c (lower_bound_default): For DW_LANG_Python return 0 - for -gdwarf-4. - - PR middle-end/43337 - * tree-nested.c (convert_nonlocal_omp_clauses): OMP_CLAUSE_PRIVATE - with non-local decl doesn't need chain. - -2010-04-19 Vladimir Makarov - - * ira-color.c (allocno_reload_assign): Avoid accumulating - reload registers in ALLOCNO_TOTAL_CONFLICT_HARD_REGS. - -2010-04-19 Martin Jambor - - * gimple.h (create_tmp_reg): Declare. - * gimplify.c (create_tmp_reg): New function. - (gimplify_return_expr): Use create_tmp_reg. - (gimplify_omp_atomic): Likewise. - (gimple_regimplify_operands): Likewise. - * tree-dfa.c (make_rename_temp): Likewise. - * tree-predcom.c (predcom_tmp_var): Likewise. - (reassociate_to_the_same_stmt): Likewise. - * tree-sra.c (replace_uses_with_default_def_ssa_name): Likewise. - (get_replaced_param_substitute): Likewise. - * tree-ssa-phiprop.c (phiprop_insert_phi): Likewise. - * tree-ssa-phiopt.c (cond_store_replacement): Likewise. - * tree-ssa-pre.c (get_representative_for): Likewise. - (create_expression_by_pieces): Likewise. - * tree-tailcall.c (adjust_return_value_with_ops): Likewise. - (create_tailcall_accumulator): Likewise. - -2010-04-19 Martin Jambor - - * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Update - new_stmt. - (cgraph_materialize_all_clones): Assert !need_ssa_update_p. - -2010-04-19 Richard Guenther - - PR tree-optimization/43796 - * tree-vrp.c (adjust_range_with_scev): Lookup init and step - from SCEV in the lattice. - (vrp_visit_phi_node): Dump change. - -2010-04-19 Richard Guenther - - * configure.ac: Fix quoting around elf_getshstrndx ABI check. - * configure: Re-generated. - -2010-04-19 Richard Guenther - - PR tree-optimization/43783 - * tree-ssa-pre.c (create_component_ref_by_pieces_1): Drop - constant ARRAY_REF operands two and three if possible. - -2010-04-19 Uros Bizjak - - PR target/43766 - * config/i386/i386.c (ix86_decompose_address): Handle ASHIFT addends. - -2010-04-19 Jie Zhang - - PR target/43662 - * reginfo.c (reinit_regs): Set caller_save_initialized_p to false. - -2010-04-19 Ira Rosen - - PR tree-optimization/37027 - * tree-vectorizer.h (struct _loop_vec_info): Add new field reductions - and macro to access it. - (vectorizable_reduction): Add argument. - (vect_get_slp_defs): Likewise. - * tree-vect-loop.c (vect_analyze_scalar_cycles_1): Collect reduction - statements for possible use in SLP. - (new_loop_vec_info): Initialize LOOP_VINFO_REDUCTIONS. - (destroy_loop_vec_info): Free LOOP_VINFO_REDUCTIONS. - (vect_create_epilog_for_reduction): Handle SLP. Modify documentation, - add new argument. - (vectorizable_reduction): Likewise. - * tree-vect-stmts.c (vect_get_vec_defs): Update call to - vect_get_slp_defs. - (vectorizable_type_demotion, vectorizable_type_promotion, - vectorizable_store): Likewise. - (vect_analyze_stmt): Update call to vectorizable_reduction. - (vect_transform_stmt): Likewise. - * tree-vect-slp.c (vect_get_and_check_slp_defs): Handle reduction. - (vect_build_slp_tree): Fix indentation. Check that there are no loads - from different interleaving chains in same node. - (vect_slp_rearrange_stmts): New function. - (vect_supported_load_permutation_p): Allow load permutations for - reductions. Call vect_slp_rearrange_stmts() to rearrange statements - inside SLP nodes if necessary. - (vect_analyze_slp_instance): Handle reductions. - (vect_analyze_slp): Try to build SLP instances originating from groups - of reductions. - (vect_detect_hybrid_slp_stmts): Skip reduction statements. - (vect_get_constant_vectors): Create initial vectors for reductions - according to reduction code. Add new argument. - (vect_get_slp_defs): Add new argument, pass it to - vect_get_constant_vectors. - (vect_schedule_slp_instance): Remove SLP tree root statements. - -2010-04-19 Jakub Jelinek - - * tree.h (ENUM_IS_SCOPED): Define. - * dwarf2out.c (gen_enumeration_type_die): Add DW_AT_enum_class - for ENUM_IS_SCOPED enums. - -2010-04-18 Eric Botcazou - - * fold-const.c (fold_comparison): Use ssizetype. - * gimple-fold.c (maybe_fold_offset_to_array_ref): Likewise. - * ipa-prop.c (ipa_modify_call_arguments): Use sizetype. - * tree-loop-distribution.c (build_size_arg_loc): Likewise. - * tree-object-size.c (compute_object_sizes): Use size_type_node. - - * tree.h (initialize_sizetypes): Remove parameter. - (build_common_tree_nodes): Remove second parameter. - * stor-layout.c (initialize_sizetypes): Remove parameter. - Always create an unsigned type. - (set_sizetype): Assert that the passed type is unsigned and simplify. - * tree.c (build_common_tree_nodes): Remove second parameter. - Adjust call to initialize_sizetypes. - * c-decl.c (c_init_decl_processing): Remove second argument in call to - build_common_tree_nodes. - -2010-04-18 Matthias Klose - - * gcc.c (main): Search for liblto_plugin.so with mode R_OK. - -2010-04-18 Ira Rosen - - PR tree-optimization/43771 - * tree-vect-slp.c (vect_supported_load_permutation_p): Check that - load permutation doesn't have gaps. - -2010-04-18 Jan Hubicka - - * i386.md (UNSPEC_SSE_PROLOGUE_SAVE_LOW): New. - (sse_prologue_save_insn expander): Use new pattern. - (sse_prologue_save_insn1): New pattern and splitter. - (sse_prologue_save_insn): Update to deal also with 64bit aligned - blocks. - * i386.c (setup_incoming_varargs_64): Do not compute jump - destination here. - (ix86_gimplify_va_arg): Update alignment needed. - (ix86_local_alignment): Do not align all local arrays to 128bit. - -2010-04-17 Jan Hubicka - - * ipa-inline.c (cgraph_early_inlining): Handle flattening too. - -2010-04-17 Richard Earnshaw - - * arm.md (negdi2): Remove redundant code to force values into a - register. - -2010-04-17 Richard Earnshaw - - * arm/bpabi.S: Add EABI alignment attributes to objects. - * arm/bpabi-v6m.S: Likewise. - * arm/crti.asm: Likewise. - * arm/crtn.asm: Likewise. - * arm/lib1funcs.asm: Likewise. - * arm/libunwind.S: Likewise. - -2010-04-17 Richard Earnshaw - - * arm-protos.h (tune_params): New structure. - * arm.c (current_tune): New variable. - (arm_constant_limit): Delete. - (struct processors): Add pointer to the tune parameters. - (arm_slowmul_tune): New tuning option. - (arm_fastmul_tune, arm_xscale_tune, arm_9e_tune): Likewise. - (all_cores): Adjust to pick up the tuning model. - (arm_constant_limit): New function. - (arm_override_options): Select the appropriate tuning model. Delete - initialization of arm_const_limit. - (arm_split_constant): Use the new constant-limit model. - (arm_rtx_costs): Pick up the current tuning model. - * arm.md (is_strongarm, is_xscale): Delete. - * arm-generic.md (load_ldsched_x, load_ldsched): Test explicitly - for Xscale variant architectures. - (mult_ldsched_strongarm, mult_ldsched): Similarly for StrongARM. - -2010-04-17 Ramana Radhakrishnan - - * config/arm/arm.c (arm_gen_constant): Remove unused variable - can_shift. - (arm_rtx_costs_1): Remove unused variable extra_cost. - (arm_unwind_emit_set): Use variable offset. - (thumb1_output_casesi): Remove unused variable flags. - -2010-04-16 Jeff Law - - * ira-color.c (ira_reassign_pseudos): Collect and sort all the pseudos - needing assignment rather than doing a two-phase assignment. Remove - unused variable 'm'. - -2010-04-16 Jakub Jelinek - - PR bootstrap/43767 - * alias.c (memrefs_conflict_p): Don't crash if CSELIB_VAL_PTR is NULL. - -2010-04-16 Doug Kwan - - * tree-ssa-reassoc.c (struct operand_entry): Add new field ID. - (next_operand_entry_id): New static variable. - (sort_by_operand_rank): Stabilize qsort comparator by using unique IDs. - (add_to_ops_vec): Assigned unique ID to operand entry. - (struct oecount_s): New field ID. - (oecount_cmp): Stabilize qsort comparotor by using unique IDs. - (undistribute_ops_list): Assign unique IDs to oecounts. - (init_reassoc): reset next_operand_entry_id. - -2010-04-16 Doug Kwan - - * config/i386/i386.md (*jcc_bt): Fix build breakage by adding - missing left parenthesis. - -2010-04-16 Uros Bizjak - - * config/i386/i386.md (*bt): Macroize insn from *btsi and - *btdi_rex64 using SWI48 mode iterator. - (*jcc_bt): Ditto from *jcc_btsi and *jcc_btdi_rex64. - (*jcc_bt_mask): Ditto from *jcc_btsi_mask and - *jcc_btdi_mask_rex64. - -2010-04-16 Anatoly Sokolov - - * double-int.h (tree_to_double_int): Convert to macro. - * double-int.c (tree_to_double_int): Remove. - -2010-04-16 Jakub Jelinek - - PR debug/43762 - * dwarf2out.c (add_bound_info): Always call loc_list_from_tree - with want_address 2 and in case a single element list might be - possible, call it again with want_address 0. - -2010-04-12 Kaushik Phatak - - * config/h8300/h8300.c (print_operand) : Modify case 'V' and - case 'W' print operands for HI mode. - * config/h8300/h8300.h (Y0, Y2) : New constraints. - * config/h8300/h8300.md (bclrqi_msx, bclrhi_msx): New patterns - (bsetqi_msx, bsethi_msx, bnotqi_msx, bnothi_msx): Likewise. - * config/h8300/predicate.md (bit_register_indirect_operand): New. - - * config/h8300/h8300.h (OK_FOR_U): Support 'U' constraint for H8300SX. - - * config/h8300/h8300.md (movqi_h8sx, movhi_h8sx, movsi_h8sx, - cmphi_h8300hs_znvc, cmpsi, addhi3_h8sx) : Emit instructions in - #xx:3 and #xx:4 mode. - - * config/h8300/h8300.md (inverted load with HImode dest): Add - support for H8300SX. - - * config/h8300/predicate.md (bit_operand): Allow immediate values that - satisfy 'U' constraint. - -2010-04-16 Rainer Orth - - * configure.ac: Check for elf_getshdrstrndx or elf_getshstrndx flavor. - * configure: Regenerate. - * config.in: Regenerate. - * doc/install.texi (Prerequisites): Document that Solaris 2 libelf - works. - -2010-04-16 Richard Guenther - - * tree.h (struct tree_decl_minimal): Move pt_uid ... - (struct tree_decl_common): ... here. - (DECL_PT_UID): Adjust. - (SET_DECL_PT_UID): Likewise. - (DECL_PT_UID_SET_P): Likewise. - -2010-04-16 Richard Guenther - - PR tree-optimization/43572 - * tree-ssa-alias.h (call_may_clobber_ref_p): Declare. - * tree-ssa-alias.c (call_may_clobber_ref_p): Export. - * tree-flow.h (is_call_clobbered): Remove. - * tree-flow-inline.h (is_call_clobbered): Likewise. - * tree-dfa.c (dump_variable): Do not dump call clobber state. - * tree-nrv.c (dest_safe_for_nrv_p): Use the alias oracle. - (execute_return_slot_opt): Adjust. - * tree-tailcall.c (suitable_for_tail_opt_p): Remove - check for call clobbered vars here. - (find_tail_calls): Move tailcall verification to the - proper place. - -2010-04-16 Diego Novillo - - * doc/invoke.texi: Explain how are unrecognized -Wno- warnings handled. - -2010-04-16 Bernd Schmidt - - PR target/40603 - * config/arm/arm.md (cbranchqi4): New pattern. - * config/arm/predicates.md (const0_operand, - cbranchqi4_comparison_operator): New predicates. - -2010-04-16 Richard Guenther - - * gimple-pretty-print.c (dump_gimple_phi): Dump alias info. - (dump_gimple_stmt): Likewise. - -2010-04-16 Bernd Schmidt - - * recog.h (struct recog_data): New field is_operator. - (struct insn_operand_data): New field is_operator. - * recog.c (extract_insn): Set recog_data.is_operator. - * genoutput.c (output_operand_data): Emit code to set the - is_operator field. - * reload.c (find_reloads): Use it rather than testing for an - empty constraint string. - - PR target/41514 - * config/arm/arm.md (cbranchsi4_insn): Renamed from "*cbranchsi4_insn". - If the previous insn is a cbranchsi4_insn with the same arguments, - omit the compare instruction. - - * config/arm/arm.md (addsi3_cbranch): If destination is a high - register, inputs must be low registers and we need a low register - scratch. Handle alternative 2 like alternative 3. - -2010-04-16 Jakub Jelinek - - * alias.c (memrefs_conflict_p): If x and y are the same VALUE, - don't call get_addr on both. If one expression is a VALUE and - the other a REG, check VALUE's locs if the REG isn't among them. - -2010-04-16 Christian Bruel - - * config/sh/sh.h (sh_frame_pointer_required): New function. - * config/sh/sh.h (TARGET_FRAME_POINTER_REQUIRED): New macro. - (flag_omit_frame_pointer) Set. - (MASK_ACCUMULATE_OUTGOING_ARGS) Define and Set. - (rounded_frame_size): Adjust size with outgoing_args_size. - (sh_set_return_address): Must return from stack pointer. - * gcc/config/sh/sh.h (CAN_DEBUG_WITHOUT_FP): Define. - (SUBTARGET_FRAME_POINTER_REQUIRED): Define. - (ACCUMULATE_OUTGOING_ARGS): Define. - * doc/invoke.texi (maccumulate-outgoing-args): Document for SH. - * gcc/config/sh/sh.opt: (maccumulate-outgoing-args): New option. - -2010-04-15 Kaz Kojima - - PR target/43471 - * config/sh/sh.c (sh_legitimize_reload_address): Use - MAYBE_BASE_REGISTER_RTX_P instead of BASE_REGISTER_RTX_P. - Remove a unneeded check for offset_base. - -2010-04-15 H.J. Lu - - * configure: Regenerated. - -2010-04-15 Andreas Krebbel - - * config/s390/s390.c (s390_call_save_register_used): Switch back - to HARD_REGNO_NREGS. - -2010-04-15 Richard Guenther - - * alias.c (alias_set_subset_of): Handle alias-set zero - child properly. - -2010-04-15 Mark Shinwell - Julian Brown - - * config/arm/thumb2.md (thumb2_movsi_insn): Split ldr and str - alternatives according to use of high and low regs. - * config/arm/vfp.md (thumb2_movsi_vfp): Likewise. - * config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Use high regs when - optimizing for size on Thumb-2. - -2010-04-15 Thomas Schwinge - - * config.gcc : Handle softfp as for Linux. - -2010-04-15 Richard Guenther - - * tree-ssa-structalias.c (struct variable_info): Add - is_fn_info flag. - (new_var_info): Initialize it. - (dump_constraints): Support printing last added constraints. - (debug_constraints): Adjust. - (dump_constraint_graph): Likewise. - (make_heapvar_for): Check for NULL cfun. - (get_function_part_constraint): New function. - (get_fi_for_callee): Likewise. - (find_func_aliases): Properly implement IPA PTA constraints. - (process_ipa_clobber): New function. - (find_func_clobbers): Likewise. - (insert_into_field_list_sorted): Remove. - (create_function_info_for): Properly allocate vars for IPA mode. - Do not use insert_into_field_list_sorted. - (create_variable_info_for): Properly generate constraints for - global vars in IPA mode. - (dump_solution_for_var): Always dump the solution. - (set_uids_in_ptset): Initialize DECL_PT_UID if in ipa-mode. - (find_what_var_points_to): Adjust. - (pt_solution_set): Change. - (pt_solution_ior_into): New function. - (pt_solution_empty_p): Export. - (pt_solution_includes_global): Adjust. - (pt_solution_includes_1): Likewise. - (pt_solutions_intersect_1): Likewise. - (dump_sa_points_to_info): Check some invariants. - (solve_constraints): Move constraint dumping ... - (compute_points_to_sets): ... here. - (ipa_pta_execute): ... and here. - (compute_may_aliases): Do not re-compute points-to info - locally if IPA info is available. - (ipa_escaped_pt): New global var. - (ipa_pta_execute): Properly implement IPA PTA. - * tree-into-ssa.c (dump_decl_set): Support dumping - decls not in referenced-vars. - * tree-flow.h (struct gimple_df): Add ipa_pta flag. - * tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Adjust. - (dump_points_to_solution): Likewise. - * tree-dfa.c (dump_variable): Also dump DECL_PT_UID. - * tree-inline.c (remap_ssa_name): Copy IPA points-to solution. - (remap_gimple_stmt): Reset call clobber/use information if necessary. - (copy_decl_to_var): Copy DECL_PT_UID. - (copy_result_decl_to_var): Likewise. - * tree.c (make_node_stat): Initialize DECL_PT_UID. - (copy_node_stat): Copy it. - * tree.h (DECL_PT_UID): New macro. - (SET_DECL_PT_UID): Likewise. - (DECL_PT_UID_SET_P): Likewise. - (struct tree_decl_minimal): Add pt_uid member. - * tree-ssa-alias.h (struct pt_solution): Add ipa_escaped flag. - (pt_solution_empty_p): Declare. - (pt_solution_set): Adjust. - (ipa_escaped_pt): Declare. - * cfgexpand.c (update_alias_info_with_stack_vars): Adjust. - * gimple-pretty-print.c (pp_points_to_solution): New function. - (dump_gimple_call): Dump call clobber/use information. - * tree-dump.c (dump_option_value_in): Add TDF_ALIAS entry. - * tree-pass.h (TDF_ALIAS): New dump option. - * tree-pretty-print.c (dump_decl_name): Dump DECL_PT_UID if asked to. - * doc/invoke.texi (-fipa-pta): Update documentation. - -2010-04-15 Richard Guenther - - * Makefile.in (OBJS-common): Add gimple-fold.o. - (gimple-fold.o): New rule. - * tree.h (maybe_fold_offset_to_reference, - maybe_fold_offset_to_address, maybe_fold_stmt_addition): Move - prototypes ... - * gimple.h: ... here. - * tree-flow.h (fold_stmt, fold_stmt_inplace, get_symbol_constant_value, - may_propagate_address_into_dereference): Move prototypes ... - * gimple.h: ... here. - * tree-ssa-ccp.c (get_symbol_constant_value, - may_propagate_address_into_dereference, maybe_fold_offset_to_array_ref, - maybe_fold_offset_to_component_ref, maybe_fold_offset_to_reference, - maybe_fold_offset_to_address, maybe_fold_stmt_indirect, - maybe_fold_stmt_addition, maybe_fold_reference, get_maxval_strlen, - ccp_fold_builtin, fold_gimple_assign, fold_gimple_cond, - fold_gimple_call, fold_stmt_1, fold_stmt, fold_stmt_inplace, - gimplify_and_update_call_from_tree): Move ... - * gimple-fold.c: ... here. New file. - (ccp_fold_builtin): Rename to ... - (gimple_fold_builtin): ... this. - * tree-ssa-ccp.c (execute_fold_all_builtins): Adjust. - -2010-04-15 Richard Guenther - - * fold-const.c (LOWPART, HIGHPART, BASE, encode, decode, - fit_double_type, force_fit_type_double, add_double_with_sign, - neg_double, mul_double_with_sign, lshift_double, rshift_double, - lrotate_double, rrotate_double, div_and_round_double): Move ... - * double-int.c: ... here. - * tree.h (force_fit_type_double, fit_double_type, add_double_with_sign, - add_double, neg_double, mul_double_with_sign, mul_double, - lshift_double, rshift_double, lrotate_double, rrotate_double, - div_and_round_double): Move prototypes ... - * double-int.h: ... here. - -2010-04-15 Bernd Schmidt - - PR target/43742 - * config/sh/sh.md (doloop_end_split, dect): Undo previous patch. Use - matching constraints to ensure inputs match the output. - -2010-04-15 Kaz Kojima - - PR target/43742 - * config/sh/sh.md (doloop_end_split): Remove "+r" constraint - in an input-only operand. - -2010-04-15 Anatoly Sokolov - - * double-int.h (HOST_BITS_PER_DOUBLE_INT): Define. - (double_int_not, double_int_lshift, double_int_rshift): Declare. - (double_int_negative_p): Convert to static inline function. - * double-int.c (double_int_lshift, double_int_lshift): New functions. - (double_int_negative_p): Remove. - * tree.h (lshift_double, rshift_double): - * tree.c (build_low_bits_mask): Clean up, use double_int_* functions. - * fold-const.c (fold_convert_const_int_from_real, - fold_convert_const_int_from_fixed, div_if_zero_remainder): (Ditto.). - (lshift_double): Change type of arith argument to bool. - (rshift_double): Change type of arith argument to bool. Correct - comment. - * expmed.c (mask_rtx, lshift_value): (Ditto.). - -2010-04-14 Bernd Schmidt - - PR target/21803 - * ifcvt.c (cond_exec_process_if_block): Look for identical sequences - at the start and end of the then/else blocks, and omit them from the - conversion. - * cfgcleanup.c (flow_find_cross_jump): No longer static. Remove MODE - argument; all callers changed. Pass zero to old_insns_match_p instead. - (flow_find_head_matching_sequence): New function. - (old_insns_match_p): Check REG_EH_REGION notes for calls. - * basic-block.h (flow_find_cross_jump, - flow_find_head_matching_sequence): Declare functions. - -2010-04-14 Jason Merrill - - PR c++/36625 - * c-common.c (attribute_takes_identifier_p): New fn. - * c-common.h: Declare it. - -2010-04-14 Uros Bizjak - - * config/i386/i386.md (*divmod4): Remove stray "&&" from - splitter condition. - (*udivmod4): Ditto. - -2010-04-14 Uros Bizjak - - * config/i386/i386.md (maxmin_int): Rename code attribute from - maxminiprefix and update all users. - (maxmin_float): Ditto from maxminfprefix. - (logic): Ditto from logicprefix. - (absneg_mnemonic): Ditto from absnegprefix. - * config/i386/mmx.md: Update all users of maxminiprefix, - maxminfprefix and logicprefix for rename. - * config/i386/sse.md: Ditto. - * config/i386/sync.md (sync_): Update for - logicprefix rename. - -2010-04-14 Manuel López-Ibáñez - - PR 42966 - * diagnostics.c (diagnostic_report_diagnostic): Mark specially - warnings converted to errors. - -2010-04-14 Uros Bizjak - - * config/alpha/alpha.c (alpha_adjust_cost): Remove set but not - used insn_type variable. - (function_value): Add ATTRIBUTE_UNUSED to dummy variable declaration - to avoid set-but-not-used warning. - -2010-04-14 Uros Bizjak - - * df-core.c (df_ref_debug): Change format string placeholder - from 0x%x to %#x. - * dwarf2asm.c (dw2_asm_output_data_raw, - dw2_asm_output_data_uleb128_raw, dw2_asm_output_data_uleb128, - dw2_asm_output_data_sleb128_raw, dw2_asm_output_data_sleb128): Ditto. - * dwarf2out.c (output_cfi, output_cfi_directive, - dwarf2out_do_cfi_startproc, output_loc_sequence_raw, - output_cfa_loc_raw, output_die, output_ranges, output_file_names): - Ditto. - * genattrtab.c (write_test_expr, write_attr_valueq): Ditto. - * print-rtl.c (print_rtx): Ditto. - -2010-04-14 Michael Meissner - - PR middle-end/42694 - * builtins.c (expand_builtin_pow_root): New function to expand pow - calls with exponents 0.25, 0.50, 0.75, 1./3., and 1./6. into a - series of sqrt and cbrt calls under -ffast-math. - (expand_builtin_pow): Call it. - -2010-04-14 Michael Matz - - PR tree-optimization/42963 - * tree-cfg.c (touched_switch_bbs): New static variable. - (group_case_labels_stmt): New function broken out from ... - (group_case_labels): ... here, use the above. - (start_recording_case_labels): Allocate touched_switch_bbs. - (end_recording_case_labels): Deallocate it, call - group_case_labels_stmt. - (gimple_redirect_edge_and_branch): Remember index of affected BB. - -2010-04-14 Uros Bizjak - - * config/i386/i386.md (*popcountsi2_cmp_zext): Remove mode attribute - from insn template. - -2010-04-14 Uros Bizjak - - * config/i386/i386.md (*ashlqi3_1_slp): New insn pattern. - -2010-04-13 Jan Hubicka - - * ipa-inline.c (cgraph_mark_inline_edge): Avoid double accounting - of optimized out static functions. - (cgraph_edge_badness): Add DUMP parameter and dump reasons for the - cost computation. Also sanity check for overflows. - (update_caller_keys): Update cgraph_edge_badness call; properly - update fibheap and sanity check that it is up to date. - (add_new_edges_to_heap): Update cgraph_edge_badness. - (cgraph_decide_inlining_of_small_function): Likewise; - add sanity checking that badness in heap is up to date; - improve dumping of reason; Update badness of calls to the - offline copy of function currently inlined; dump badness - of functions not inlined because of unit growth limits. - -2010-04-13 Eric Botcazou - - PR middle-end/32628 - * c-common.c (pointer_int_sum): Disregard overflow that occured only - because of sign-extension change when converting to sizetype here... - * fold-const.c (fold_convert_const_int_from_int): ...and not here. - - * fold-const.c (fold_binary_op_with_conditional_arg): Do not restrict - the folding to constants. Remove redundant final conversion. - (fold_binary) : Do not associate if the re-association of - constants alone overflows. - (fold_binary) : Move transformation into BIT_AND_EXPR - to the end of the list. - (multiple_of_p) : New case. - -2010-04-13 Manuel López-Ibáñez - - * opt-functions.awk (opt_sanitized_name): New. - (opt_enum): New. - * optc-gen.awk: Use it - * opth-gen.awk: Use it. - -2010-04-13 Martin Jambor - - * tree-sra.c (replace_uses_with_default_def_ssa_name): New function. - (sra_modify_assign): Delete stmts loading dead data even if racc has no - children. Call replace_uses_with_default_def_ssa_name to handle - SSA_NAES on lhs. - -2010-04-13 Michael Matz - - PR middle-end/43730 - * builtins.c (expand_builtin_interclass_mathfn): Also create - a register if the predicate doesn't match. - -2010-04-13 Diego Novillo - - * Makefile.in (c-pch.o, ggc-common.o): Depend on timevar.h. - * c-pch.c: Include timevar.h. - (c_common_write_pch): Use TV_PCH_SAVE and TV_PCH_CPP_SAVE timers. - (c_common_read_pch): Use TV_PCH_RESTORE and TV_PCH_CPP_RESTORE timers. - * ggc-common.c: Include timevar.h. - (gt_pch_save): Use TV_PCH_PTR_REALLOC and TV_PCH_PTR_SORT timers. - * timevar.def (TV_PCH_SAVE): Define. - (TV_PCH_CPP_SAVE): Define. - (TV_PCH_PTR_REALLOC): Define. - (TV_PCH_PTR_SORT): Define. - (TV_PCH_RESTORE): Define. - (TV_PCH_CPP_RESTORE): Define. - -2010-04-13 Michael Matz - - * tree-ssa-reassoc.c (repropagate_negates): Merge negates also - into MINUS_EXPRs. - (can_reassociate_p): New function. - (break_up_subtract_bb, reassociate_bb): Use it. - -2010-04-13 Richard Guenther - - PR bootstrap/43737 - * builtins.c (c_readstr): Fix assert. - -2010-04-13 Uros Bizjak - - * config/i386/i386.md (extendsidi2 splitter): Also check for DX_REG - when generating cltd insn. - - (*ashl3_1): Remove special handling for register operand 2. - (*ashlsi3_1_zext): Ditto. - (*ashlhi3_1): Ditto. - (*ashlhi3_1_lea): Ditto. - (*ashlqi3_1): Ditto. - (*ashlqi3_1_lea): Ditto. - (*3_1): Ditto. - (*si3_1_zext): Ditto. - (*qi3_1_slp): Ditto. - (*3_1): Ditto. - (*si3_1_zext): Ditto. - (*qi3_1_slp): Ditto. - -2010-04-13 Richard Guenther - - * tree-ssa-structalias.c (callused_id): Remove. - (call_stmt_vars): New. - (get_call_vi): Likewise. - (lookup_call_use_vi): Likewise. - (lookup_call_clobber_vi): Likewise. - (get_call_use_vi): Likewise. - (get_call_clobber_vi): Likewise. - (make_transitive_closure_constraints): Likewise. - (handle_const_call): Adjust to do per-call call-used handling. - (handle_pure_call): Likewise. - (find_what_var_points_to): Remove general callused handling. - (init_base_vars): Likewise. - (init_alias_vars): Initialize call_stmt_vars. - (compute_points_to_sets): Process call-used and call-clobbered - vars for call statements. - (delete_points_to_sets): Free call_stmt_vars. - -2010-04-13 Richard Guenther - - * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): - Only add RW dependence for dependence distance zero. - Adjust maximal vectorization factor according to dependences. - Move alignment handling ... - (vect_find_same_alignment_drs): ... here. New function. - (vect_analyze_data_ref_dependences): Adjust. - (vect_analyze_data_refs_alignment): Call vect_find_same_alignment_drs. - (vect_analyze_data_refs): Adjust minimal vectorization factor - according to data references. - * tree-vect-loop.c (vect_analyze_loop): Analyze data-ref - dependences before determining the vectorization factor. - Analyze alignment after determining the vectorization factor. - * tree-vect-slp.c ((vect_slp_analyze_bb): Analyze data-ref - dependences before alignment. - * tree-vectorizer.h (vect_analyze_data_ref_dependences): - Adjust prototype. - (vect_analyze_data_refs): Likewise. - (MAX_VECTORIZATION_FACTOR): New define. - -2010-04-13 Duncan Sands - - * except.h (lang_eh_type_covers): Remove. - * except.c (lang_eh_type_covers): Likewise. - -2010-04-13 Andreas Krebbel - Ulrich Weigand - - * gcc/config/s390/s390.md: Replace TARGET_64BIT with TARGET_ZARCH. - * gcc/config/s390/s390.c: Replace UNTIS_PER_WORD with - UNITS_PER_LONG where it is ABI relevant. - (s390_return_addr_rtx): Likewise. - (s390_back_chain_rtx): Likewise. - (s390_frame_area): Likewise. - (s390_frame_info): Likewise. - (s390_initial_elimination_offset): Likewise. - (save_gprs): Likewise. - (s390_emit_prologue): Likewise. - (s390_emit_epilogue): Likewise. - (s390_function_arg_advance): Likewise. - (s390_function_arg): Likewise. - (s390_va_start): Likewise. - (s390_gimplify_va_arg): Likewise. - (s390_function_profiler): Likewise. - (s390_optimize_prologue): Likewise. - (s390_rtx_costs): Likewise. - (s390_secondary_reload): Likewise. - (s390_promote_function_mode): Likewise. - (s390_hard_regno_mode_ok): Replace TARGET_64BIT with TARGET_ZARCH. - (s390_scalar_mode_supported_p): Disallow TImode if no 64 bit - registers available. - (s390_unwind_word_mode): New function. - (s390_function_value): Split 64 bit values into register pair if - used as return value. - (s390_call_saved_register_used): Don't use HARD_REGNO_NREGS for - function call parameters. Handle parallels. - (TARGET_SCALAR_MODE_SUPPORTED_P): New macro. - (HARD_REGNO_CALL_PART_CLOBBERED): New macro. - (DWARF_CIE_DATA_ALIGNMENT): New macro. - (s390_expand_setmem): Remove unused variable src_addr. - * gcc/longlong.h: Make smul_ppmm and sdiv_qrnnd inline asms to - deal with 64 bit registers. - * gcc/config/s390/s390.h: Define __zarch__ predefined macro. - Replace UNITS_PER_WORD with UNITS_PER_LONG where it is ABI relevant. - (UNITS_PER_LONG): New macro. - * libjava/include/s390-signal.h: Define extended ucontext - structure containing the upper halfs of the 64 bit registers. - -2010-04-13 Simon Baldwin - - * cfgexpand.c (gimple_expand_cfg): Clarify warning message text. - -2010-04-13 Eric Botcazou - - * gimple.c (walk_gimple_op) : Do not request a pure - rvalue on the RHS if the LHS is of a non-renamable type. - * tree-ssa-ccp.c (maybe_fold_offset_to_component_ref): Fold result. - -2010-04-13 Matthias Klose - - * gcc.c (cc1_options): Handle -iplugindir before processing - the cc1 spec. Only add -iplugindir once. - (cpp_unique_options): Add -iplugindir option if -fplugin* options - found. - * common.opt (iplugindir): Remove `Separate' property, initialize. - * plugin.c (default_plugin_dir_name): Error with missing -iplugindir - option. - * Makefile.in (check-%, check-parallel-%): Create plugin dir. - (distclean): Remove plugin dir. - * doc/invoke.texi: Document -iplugindir. - -2010-04-13 Basile Starynkevitch - - * doc/plugins.texi (Loading Plugins): Document short - -fplugin=foo option. - (Plugin API): Mention default_plugin_dir_name function. - - * gcc.c (find_file_spec_function): Add new declaration. - (static_spec_func): Use it for "find-file". - (find_file_spec_function): Add new function. - (cc1_options): Add -iplugindir option if -fplugin* options found. - - * gcc-plugin.h (default_plugin_dir_name): Added new declaration. - - * plugin.c (add_new_plugin): Updated comment, and handle short - plugin name. - (default_plugin_dir_name): Added new function. - - * common.opt (iplugindir): New option to set the plugin directory. - -2010-04-12 Uros Bizjak - - * config/i386/i386.md (any_rotate): New code iterator. - (rotate_insn): New code attribute. - (rotate): Ditto. - (SWIM124): New mode iterator. - (ti3): New expander. - (di3): Macroize expander from {rotl,rotr}di3 using - any_rotate code iterator. - (3) Macroize expander from {rotl,rotr}{qi,hi,si}3 - using any_rotate code iterator and SWIM124 mode iterator. - (ix86_rotlti3): New insn_and_split pattern. - (ix86_rotrti3): Ditto. - (ix86_rotl3_doubleword): Macroize insn_and_split pattern from - ix86_rotl{di,ti}3 patterns. - (ix86_rotr3_doubleword): Ditto from ix86_rotr{di,ti}3 patterns. - (*3_1): Merge with *{rotl,rotr}{qi,hi,si}3_1_one_bit - and *{rotl,rotr}di3_1_one_bit_rex64. Macroize insn from - *{rotl,rotr}{qi,hi,si}3_1 and *{rotl,rotr}di3_1_rex64 using any_rotate - code iterator and SWI mode iterator. - (*si3_1_zext): Merge with *{rotl,rotr}si3_1_one_bit_zext. - Macroize insn from {rotl,rotr}si3_1_zext using any_rotate - code iterator. - (*qi3_1_slp): Merge with *{rotl,rotr}qi3_1_one_bit_slp. - Macroize insn from {rotl,rotr}qi3_1_slp using any_rotate code iterator. - (bswap rotatert splitter): Add splitter. - (bswap splitter): Macroize splitter using any_rotate code iterator. - Add insn predicate to split only for TARGET_USE_XCHGB or when - optimizing function for size. - -2010-04-12 Steve Ellcey - - * config/pa/pa.c (emit_move_sequence): Remove use of - deleted variable flag_argument_noalias. - -2010-04-12 Rainer Orth - - * config.gcc: Removed *-*-solaris2.7* from list of obsolete - configurations. - Add to unsupported targets list. - * configure.ac (gcc_cv_as_tls): Removed i[34567]86-*-solaris2.[567]*, - sparc*-sun-solaris2.[567]* from target lists. - * configure: Regenerate. - * doc/install.texi (Specific, *-*-solaris2*): Document Solaris 7 - removal. - Remove Solaris 7 patch references. - (Specific, sparc-sun-solaris2.7): Removed. - (sparc-sun-solaris2*): Update Solaris 7 example. - (sparc64-*-solaris2*): Likewise. - -2010-04-12 Rainer Orth - - * config.build (alpha*-dec-osf4*): Remove. - * config.gcc: Remove alpha*-dec-osf4*, alpha-dec-osf5.0* from list - of obsolete configurations. - (alpha*-dec-osf[45]*): Remove alpha*-dec-osf4*, alpha-dec-osf5.0* - support. - * config/alpha/t-osf4: Renamed to ... - * config/alpha/t-osf5: ... this. - * config/alpha/osf.h: Renamed to ... - * config/alpha/osf5.h: ... this. - Merged old osf5.h contents. - Update comments. - (ASM_SPEC): Use ASM_OLDAS_SPEC directly. - (EXTRA_SPECS): Removed. - * doc/install.texi (Specific, alpha*-dec-osf5.1): Renamed to - reflect removal of Tru64 UNIX V4.0/V5.0 support. - Document that. - -2010-04-12 Rainer Orth - - * doc/contrib.texi (Contributors, Rainer Orth): Update. - -2010-04-12 Kai Tietz - - PR/43702 - * config/i386/i386.c (x86_this_parameter): Handle aggregate for - __thiscall convention. - -2010-04-12 Steve Ellcey - - * config/pa/pa.c (hppa_legitimize_address): Remove unused variable - orig_base. - * config/pa/pa.md (call, call_value): Remove unused variable call_insn. - -2010-04-12 Steve Ellcey - - * function.c (assign_parms_initialize_all): Add unused attribute - to fntype. - -2010-04-12 Richard Guenther - - * gsstruct.def (GSS_CALL): New. - * gimple.def (GIMPLE_CALL): Change to GSS_CALL. - * gimple.h: Include tree-ssa-alias.h. - (struct gimple_statement_call): New. - (union gimple_statement_struct_d): Add gimple_call member. - (gimple_call_reset_alias_info): Declare. - (gimple_call_use_set): New function. - (gimple_call_clobber_set): Likewise. - * Makefile.in (GIMPLE_H): Add tree-ssa-alias.h. - * gimple.c (gimple_call_reset_alias_info): New function. - (gimple_build_call_1): Call it. - * lto-streamer-in.c (input_gimple_stmt): Likewise. - * tree-inline.c (remap_gimple_stmt): Likewise. - (expand_call_inline): Remove callused handling. - * cfgexpand.c (update_alias_info_with_stack_vars): Likewise. - * tree-dfa.c (dump_variable): Likewise. - * tree-parloops.c (parallelize_loops): Likewise. - * tree-ssa.c (init_tree_ssa): Likewise. - (delete_tree_ssa): Likewise. - * tree-flow-inline.h (is_call_used): Remove. - * tree-flow.h (struct gimple_df): Remove callused member. - * tree-nrv.c (dest_safe_for_nrv_p): Adjust predicate. - * tree-ssa-alias.c (dump_alias_info): Remove callused handling. - (ref_maybe_used_by_call_p_1): Simplify. - (call_may_clobber_ref_p_1): Likewise. - * tree-ssa-structalias.c (compute_points_to_sets): Set - the call stmt used and clobbered sets. - * tree-tailcall.c (suitable_for_tail_opt_p): Adjust predicate. - (find_tail_calls): Verify the tail call. - -2010-04-12 Richard Guenther - - * ipa.c (cgraph_postorder): Adjust postorder to guarantee - single-iteration always-inline inlining. - * ipa-inline.c (cgraph_mark_inline): Do not return anything. - (cgraph_decide_inlining): Do not handle always-inline specially. - (try_inline): Remove always-inline cycle detection special case. - Do not recurse on always-inlines. - (cgraph_early_inlining): Do not iterate if not optimizing. - (cgraph_gate_early_inlining): remove. - (pass_early_inline): Run unconditionally. - (gate_cgraph_decide_inlining): New function. - (pass_ipa_inline): Use it. Do not run the IPA inliner if - not inlining or optimizing. - (cgraph_decide_inlining_of_small_functions): Also consider - always-inline functions. - (cgraph_default_inline_p): Return true for nodes which should - disregard inline limits. - (estimate_function_body_sizes): Assume zero size and time for - nodes which are marked as disregarding inline limits. - (cgraph_decide_recursive_inlining): Do not perform recursive - inlining on always-inline nodes. - -2010-04-12 Jakub Jelinek - - PR bootstrap/43699 - * c-typeck.c (c_process_expr_stmt): Call mark_exp_read even - for exprs satisfying handled_component_p. - -2010-04-12 Eric Botcazou - - * expr.c (categorize_ctor_elements_1): Properly count sub-elements of - non-constant aggregate elements. - - * gimplify.c (gimplify_init_constructor): Do not pre-evaluate if this - is a real initialization. - -2010-04-12 Shujing Zhao - - PR c/36774 - * c-decl.c (start_function): Move forward check for nested function. - -2010-04-11 Kaz Kojima - - * config/sh/sh-protos.h (sh_legitimize_reload_address): Declare. - * config/sh/sh.c: Include reload.h. - (sh_legitimize_reload_address): New. - * config/sh/sh.h (LEGITIMIZE_RELOAD_ADDRESS): Use - sh_legitimize_reload_address. - -2010-04-11 Kaushik Phatak - - * config/sh/sh.md (*movqi_pop): New insn pattern. - * config/sh/predicates.md (sh_no_delay_pop_operand): New predicate. - -2010-04-11 Uros Bizjak - - * config/i386/i386.md (any_shiftrt): New code iterator. - (shiftrt_insn): New code attribute. - (shiftrt): Ditto. - (3): Macroize expander from {ashr,lshr}3 - using any_shiftrt code iterator. - (*3_doubleword): Macroize insn_and_split from - *{ashr,lshr}3_doubleword using any_shiftrt code iterator. - (*3_doubleword peephole2): Macroize peephole2 - pattern from corresponding peephole2 patterns. - (*3_1): Macroize insn from *{ashr,lshr}3_1 - using any_shiftrt code iterator. - (*si3_1_zext): Ditto from *{ashr,lshr}si3_1_zext. - (*qi3_1_slp): Ditto from *{ashr,lshr}qi3_1_slp. - (*3_cmp): Ditto from *{ashr,lshr}3_cmp. - (*3_cmp_zext): Ditto from - *{ashr,lshr}3_cmp_zext. - (*3_cconly): Ditto from *{ashr,lshr}3_cconly. - -2010-04-11 Uros Bizjak - - * config/i386/i386.md (*ashr3_cconly): Fix wrong mode of - scratch register. - (*lshr3_cconly): Ditto. - -2010-04-11 Uros Bizjak - - * config/i386/i386.md (lshr3): Macroize expander from - lshr{qi,hi,si,di,ti}3_1 using SDWIM mode iterator. - (*lshr3_doubleword): New insn_and_split_pattern. Macroize - pattern from *lshr{di,ti}3_1 and corresponding splitters using - DWI mode iterator. - (*lshr3_doubleword peephole2): Macroize peephole2 pattern - from corresponding peephole2 patterns. - (*lshr3_1): Merge with *lshr{qi,hi,si}3_1_one_bit and - *lshrdi3_1_one_bit_rex64. Macroize insn from *lshr{qi,hi,si}3_1 - and *lshrdi3_1_rex64 using SWI mode iterator. - (*lshrsi3_1_zext): Merge with *lshrsi3_1_one_bit_zext. - (*lshrqi3_1_slp): Merge with *lshrqi3_1_one_bit_slp. - (*lshr3_cmp): Merge with *lshr{qi,hi,si}3_one_bit_cmp and - *lshrdi3_one_bit_cmp_rex64. Macroize insn from *lshr{qi,hi,si}3_cmp - and *lshrdi3_cmp_rex64 using SWI mode iterator. - (*lshrsi3_cmp_zext): Merge with *lshrsi3_cmp_one_bit_zext. - (*lshr3_cconly): Merge with *lshr{qi,hi,si}3_one_bit_cconly and - *lshrdi3_one_bit_cconly_rex64. Macroize insn from - *lshr{qi,hi,si}3_cconly and *lshrdi3_cconly_rex64 using - SWI mode iterator. - -2010-04-10 Uros Bizjak - - * config/i386/i386.md (ashr3): Macroize expander from - ashr{qi,hi,si,di,ti}3_1 using SDWIM mode iterator. - (*ashr3_doubleword): New insn_and_split_pattern. Macroize - pattern from *ashr{di,ti}3_1 and corresponding splitters using - DWI mode iterator. - (*ashr3_doubleword peephole2): Macroize peephole2 pattern - from corresponding peephole2 patterns. - (ashrdi3_cvt): Rename from ashrdi3_63_rex64. - (ashrsi3_cvt): Rename from ashrsi3_31. - (*ashrsi3_cvt_zext): Rename from *ashrsi3_31_zext. - (x86_shift_adj_3): Macroize expander from x86_shift_adj_3 - and x86_64_shift_adj_3 using SWI48 mode iterator. - (*ashr3_1): Merge with *ashr{qi,hi,si}3_1_one_bit and - *ashrdi3_1_one_bit_rex64. Macroize insn from *ashr{qi,hi,si}3_1 - and *ashrdi3_1_rex64 using SWI mode iterator. - (*ashrsi3_1_zext): Merge with *ashrsi3_1_one_bit_zext. - (*ashrqi3_1_slp): Merge with *ashrqi3_1_one_bit_slp. - (*ashr3_cmp): Merge with *ashr{qi,hi,si}3_one_bit_cmp and - *ashrdi3_one_bit_cmp_rex64. Macroize insn from *ashr{qi,hi,si}3_cmp - and *ashrdi3_cmp_rex64 using SWI mode iterator. - (*ashrsi3_cmp_zext): Merge with *ashrsi3_cmp_one_bit_zext. - (*ashr3_cconly): Merge with *ashr{qi,hi,si}3_one_bit_cconly and - *ashrdi3_one_bit_cconly_rex64. Macroize insn from - *ashr{qi,hi,si}3_cconly and *ashrdi3_cconly_rex64 using - SWI mode iterator. - (sign_extend splitters): Update for renamed ashr{di,si}3_cvt patterns. - * config/i386/i386.c (ix86_split_ashr): Update for renamed - x86_shift_adj_3 expanders. - -2010-04-10 Wei Guozhi - - PR target/42601 - * config/arm/arm.c (arm_pic_static_addr): New function. - (legitimize_pic_address): Call arm_pic_static_addr when it detects - a static symbol. - (arm_output_addr_const_extra): Output expression for new pattern. - * config/arm/arm.md (UNSPEC_SYMBOL_OFFSET): New unspec symbol. - -2010-04-10 Bernd Schmidt - - * ira-costs.c (record_reg_classes): Ignore alternatives that are - not enabled. - - * Makefile.in (web.o): Depend on insn-config.h and $(RECOG_H). - * web.c: Include "insn-config.h" and "recog.h". - (union_match_dups): New function. - (web_main): Call it. - (union_defs): Don't try to recognize match_dups. - - * reload1.c (eliminate_regs_in_insn): Don't restore an operand - if doing so would replace the entire pattern. - -2010-04-09 Uros Bizjak - - PR target/43707 - PR target/43709 - * config/i386/i386.md (*ashl3_doubleword): Split to insn - and splitter pattern. Change splitter operand 1 predicate to - nonmemory_operand. - -2010-04-09 Martin Jambor - - * ipa-cp.c (ipcp_lats_are_equal): Return true also if the two - lattices are addresses of CONST_DECLs with the same initial value. - (ipcp_print_all_lattices): Print values of CONST_DECLs. - * ipa-prop.c (ipa_print_node_jump_functions): Likewise. - -2010-04-09 Eric Botcazou - Bernd Schmidt - - * loop-invariant.c (replace_uses): New static function. - (move_invariant_reg): Use it to ensure we can replace the uses. - -2010-04-09 Hariharan Sandanagobalane - - * config/picochip/picochip.c (picochip_rtx_costs): Use correct - function template. - (picochip_override_options): Enable section anchors only above -O1. - (picochip_reorg): Fixed a couple of build warnings. - -2010-04-09 Rainer Orth - - * configure.ac (plugin -rdynamic test): Log result. - * configure: Regenerate. - * config/sol2.h (LINK_SPEC): Handle -rdynamic. - (RDYNAMIC_SPEC): Define. - * config/sol2-gld.h (RDYNAMIC_SPEC): Redefine. - -2010-04-09 Rainer Orth - - * configure.ac: Determine Sun ld version numbers. - (comdat_group): Restrict GNU ld version checks to gld. - (comdat_group, *-*-solaris2.1[1-9]*): Enable for Sun ld > 1.1688. - (enable_comdat): Support --enable-comdat. - * configure: Regenerate. - * doc/install.texi (Configuration): Document --enable-comdat. - -2010-04-09 Rainer Orth - - * config/sparc/sol2-gld.h: Remove SPARC reference. Rename ... - * config/sol2-gld.h: ... here. - * config.gcc (sparc*-*-solaris2*): Reflect this. - (i[34567]86-*-solaris2*): Use it. - -2010-04-09 Steve Ellcey - - * config/ia64/ia64.c (ia64_dfa_new_cycle): Remove unused variable - setup_clocks_p. - (final_emit_insn_group_barriers): Remove unused variable prev_insn. - -2010-04-09 Manuel López-Ibáñez - - PR 42965 - * diagnostic.c (diagnostic_initialize): Initialize - some_warnings_are_errors. - (diagnostic_finish): New. - (diagnostic_action_after_output): Call it before exiting. - (diagnostic_report_diagnostic): Do not print message here. Set - some_warnings_are_errors. - * diagnostic.h (diagnostic_context): Delete - issue_warnings_are_errors_message. Add some_warnings_are_errors. - (diagnostic_finish): Declare. - * toplev.c (toplev_main): Call it before exit. - -2010-04-09 Jason Merrill - - PR c++/42623 - * c-common.c (c_sizeof_or_alignof_type): Return error_mark_node - for incomplete type. - - PR c++/41788 - * stor-layout.c (finalize_record_size): Don't change TYPE_PACKED - based on a warning flag. - -2010-04-09 Richard Guenther - - * tree-pretty-print.c (dump_generic_node): Dump TYPE_VECTOR_SUBPARTS. - -2010-04-09 Iain Sandoe - - PR bootstrap/43684 - * varasm.c (default_assemble_visibility): Wrap vars that are - set, but unused, by targets without GAS. - * config/rs6000/rs6000.c: (paired_emit_vector_compare): - Remove set, but unused, vars. - (rs6000_legitimize_tls_address): Likewise. - (altivec_expand_dst_builtin): Likewise. - * config/darwin.c (machopic_classify_symbol): Likewise. - (machopic_indirection_name): Likewise. - -2010-04-09 Uros Bizjak - - * config/i386/i386.md (DWI): New mode iterator. - (S): New mode attribute. - (shift_operand): Ditto. - (shift_immediate_operand): Ditto. - (ashl_input_operand): Ditto. - (ashl3): Macroize expander from ashl{qi,hi,si,di,ti}3_1 - using SDWIM mode iterator. - (*ashl3_doubleword): New insn_and_split_pattern. Macroize - pattern from *ashl{di,ti}3_1 and corresponding splitters using - DWI mode iterator. - (*ashl3_doubleword peephole2): Macroize peephole2 pattern - from corresponding peephole2 patterns. - (x86_shift_adj_1): Macroize expander from x86_shift_adj_1 - and x86_64_shift_adj_1 using SWI48 mode iterator. - (x86_shift_adj_2): Ditto. - (*ashldi3_1_rex64): Split TYPE_LEA pattern. - (*ashl3_1): Macroize insn from *ashlsi3_1 and *ashldi3_1_rex64 - using SWI48 mode iterator. - (*ashl3_cmp): Macroize insn from *ashl{qi,hi,si}3_cmp and - *ashldi3_cmp_rex64 using SWI mode iterator. - (*ashl3_cconly): Macroize insn from *ashl{qi,hi,si}3_cconly and - *ashldi3_cconly_rex64 using SWI mode iterator. - * config/i386/i386.c (ix86_split_ashl): Update for renamed - x86_shift_adj_{1,2}. - (ix86_split_ashr): Ditto. - (ix86_split_lshr): Ditto. - -2010-04-09 Richard Guenther - - * target.h (builtin_conversion): Pass in input and output types. - * targhooks.c (default_builtin_vectorized_conversion): Adjust. - * targhooks.h (default_builtin_vectorized_conversion): Likewise. - * tree-vect-stmts.c (vectorizable_conversion): Adjust. - * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_CONVERSION): Adjust. - - * config/i386/i386.c (ix86_vectorize_builtin_conversion): Adjust. - Handle AVX modes. - * config/rs6000/rs6000.c (rs6000_builtin_conversion): Adjust. - -2010-04-09 Richard Guenther - - PR target/43152 - * config/i386/sse.md (vcond): Handle AVX modes as well. - -2010-04-09 Richard Guenther - - * tree-vectorizer.h (struct _stmt_vec_info): Document - that vectype is the type of the LHS. - (supportable_widening_operation, supportable_narrowing_operation): - Get both input and output vector types as arguments. - (vect_is_simple_use_1): Declare. - (get_same_sized_vectype): Likewise. - * tree-vect-loop.c (vect_determine_vectorization_factor): - Set STMT_VINFO_VECTYPE to the vector type of the def. - (vectorizable_reduction): Adjust. - * tree-vect-patterns.c (vect_recog_widen_mult_pattern): - Adjust. Specify the output vector type. - (vect_pattern_recog_1): Adjust. - * tree-vect-stmts.c (get_same_sized_vectype): New function. - (vectorizable_call): Adjust. - (vectorizable_conversion): Likewise. - (vectorizable_operation): Likewise. - (vectorizable_type_demotion): Likewise. - (vectorizable_type_promotion): Likewise. - (vect_analyze_stmt): Set STMT_VINFO_VECTYPE to the vector type of - the def. - (vect_is_simple_use_1): New function. - (supportable_widening_operation): Get both input and output - vector types. - (supportable_narrowing_operation): Likewise. - * tree-vect-slp.c (vect_schedule_slp_instance): Adjust. - -2010-04-09 Kai Tietz - - * config/i386/cygming.h (TARGET_OS_CPP_BUILTINS): Add - __thiscall and _thiscall as predefined macros. - * config/i386/i386.c (ix86_handle_cconv_attribute): Add - thiscall attribute handling. - (ix86_comp_type_attributes): Likewise. - (ix86_function_regparm): Likewise. - (ix86_return_pops_args): Likewise. - (init_cumulative_args): Likewise. - (find_drap_reg): Likewise. - (ix86_static_chain): Likewise. - (x86_this_parameter): Likewise. - (x86_output_mi_thunk): Likewise. - (ix86_attribute_table): Add description for thiscall attribute. - * config/i386/i386.h (ix86_args): Adjust comment for member fastcall. - * doc/extend.texi: Add documentation for thiscall. - -2010-04-09 Manuel López-Ibáñez - - PR c++/28584 - * c.opt (Wint-to-pointer-cast): Available in C++. - * doc/invoke.texi (Wint-to-pointer-cast): Available in C++. - -2010-04-08 Eric Botcazou - - * tree.h (TREE_ADDRESSABLE): Document its effect for function types. - * calls.c (expand_call): Pass the function type to aggregate_value_p. - * function.c (aggregate_value_p): Do not honor DECL_BY_REFERENCE on - the target function of a CALL_EXPR. Honor TREE_ADDRESSABLE on the - function type instead. Reorder and simplify checks. - - * gimplify.c (gimplify_modify_expr_rhs) : New case. - -2010-04-08 Jing Yu - Zdenek Dvorak - - PR tree-optimization/42720 - * tree-ssa-loop-unswitch.c (tree_ssa_unswitch_loops): Move one-time - loop unswitch conditions here from ... - (tree_unswitch_single_loop): ... here. - -2010-04-08 Sebastian Pop - - * tree-if-conv.c: Fix comments and simplify logic. - -2010-04-08 Sebastian Pop - - * tree-if-conv.c (if_convertible_loop_p): Remove unused parameter. - (tree_if_conversion): Same. Update call to if_convertible_loop_p. - (main_tree_if_conversion): Update call to tree_if_conversion. - -2010-04-08 Manuel López-Ibáñez - - PR 42485 - * doc/invoke.texi (-b,-V): Delete. - * doc/tm.texi: Do not mention -b. - * gcc.c (display_help): Delete -b and -V. - (process_command): Delete -b and -V. - * gcc.h (DEFAULT_SWITCH_TAKES_ARG): Delete -b and -V. - -2010-04-08 Christian Borntraeger - Wolfgang Gellerich - - Implement target hook for loop unrolling - * target.h (loop_unroll_adjust): Add a new target hook function. - * target-def.h (TARGET_LOOP_UNROLL_ADJUST): Likewise. - * doc/tm.texi (TARGET_LOOP_UNROLL_ADJUST): Document it. - * config/s390/s390.c (TARGET_LOOP_UNROLL_ADJUST): Define it. - (s390_loop_unroll_adjust): Implement the new target hook for s390. - * loop-unroll.c (decide_unroll_runtime_iterations): Call loop unroll - target hook. - (decide_unroll_stupid): Likewise. - -2010-04-08 Rainer Orth - - PR target/43643 - * config/i386/gmon-sol2.c [__x86_64__]: Properly restore %rcx. - -2010-04-08 Rainer Orth - - * doc/install.texi (Specific, i?86-*-solaris2.10): Fix grammar. - (Specific, *-*-solaris2*): Likewise. - Don't prefer Sun as over GNU as. - -2010-04-08 Wolfgang Gellerich - - * config/s390/s390.c (override_options): Adjust the z10 defaults - for max-unroll-times, max-completely-peeled-insns - and max-completely-peel-times. - -2010-04-08 Andreas Krebbel - - * config/s390/s390.c (s390_expand_movmem): Issue prefetch - instructions for z10. - (s390_expand_setmem): Likewise. - (s390_expand_cmpmem): Likewise. - -2010-04-08 Richard Guenther - - PR tree-optimization/43679 - * tree-ssa-pre.c (eliminate): Only propagate copies. - -2010-04-08 Jakub Jelinek - - PR bootstrap/43681 - * expr.c (block_move_libcall_safe_for_call_parm): Avoid - set but not used variable warning. - -2010-04-08 Wei Guozhi - - PR target/41653 - * config/arm/arm.c (thumb1_size_rtx_costs): New function. - (arm_size_rtx_costs): Call the new function when optimized for size. - -2010-04-08 Jakub Jelinek - - PR debug/43670 - * cfgexpand.c (expand_debug_expr): If for non-NULL offset - op0 is not a MEM, just return NULL instead of assertion - failure. - (discover_nonconstant_array_refs): Don't walk debug stmts. - -2010-04-08 Doug Kwan - - * configure.ac: Recognize gold and do not use its version number - to test ld features. - * configure: Regenerate. - -2010-04-08 Maxim Kuvyrkov - - PR middle-end/40815 - * tree-ssa-reassoc.c (broken_up_substracts): Rename to plus_negates. - (negate_value): Move code to push elements to broken_up_substracts ... - (eliminate_plus_minus_pair): ... here. Push operands that have no - negative pair to plus_negates. - (repropagate_negates, init_reassoc, fini_reassoc): Update. - -2010-04-07 Ralf Wildenhues - - * doc/install.texi (Configuration): Move description of - --enable-lto, --with-libelf*, --enable-gold from Java section to - general section. - - * doc/generic.texi (Working with declarations) - (Function Properties, C and C++ Trees): Fix typos. - * doc/sourcebuild.texi (Top Level): Likewise. - -2010-04-07 Jakub Jelinek - - PR c/18624 - * tree.h (DECL_READ_P): Define. - (struct tree_decl_common): Add decl_read_flag. - * c-decl.c (pop_scope): If TREE_USED but !DECL_READ_P, issue - a set but not used warning. - (merge_decls): Merge DECL_READ_P flag. - (finish_decl, build_compound_literal): Set DECL_READ_P flag. - (finish_function): Issue -Wunused-but-set-parameter diagnostics. - * c-common.c (handle_used_attribute, handle_unused_attribute): - Likewise. - * c-tree.h (default_function_array_read_conversion, mark_exp_read): - New prototypes. - * c-typeck.c (default_function_array_read_conversion, mark_exp_read): - New functions. - (default_conversion, c_process_expr_stmt): Call mark_exp_read. - * c-parser.c (c_parser_initializer, c_parser_expr_no_commas, - c_parser_binary_expression, c_parser_cast_expression, - c_parser_expr_list, c_parser_omp_atomic, c_parser_omp_for_loop): - Call default_function_array_read_conversion instead of - default_function_array_conversion where needed. - (c_parser_unary_expression, c_parser_conditional_expression, - c_parser_postfix_expression_after_primary, c_parser_initelt): - Likewise. Call mark_exp_read where needed. - (c_parser_statement_after_labels, c_parser_asm_operands, - c_parser_typeof_specifier, c_parser_sizeof_expression, - c_parser_alignof_expression, c_parser_initval): Call mark_exp_read - where needed. - * common.opt (Wunused-but-set-variable, Wunused-but-set-parameter): - New. - * toplev.c (warn_unused_but_set_variable): Default to warn_unused. - (warn_unused_but_set_parameter): Default to warn_unused - && extra_warnings. - * doc/invoke.texi: Document -Wunused-but-set-variable and - -Wunused-but-set-parameter. - - * tree-ssa-pre.c (my_rev_post_order_compute): Remove set but not - used count variable. - * genemit.c (gen_expand, gen_split): Avoid set but not used warnings - when operandN variables aren't used in the body of the expander - or splitter. - * tree-outof-ssa.c (FOR_EACH_ELIM_GRAPH_SUCC, - FOR_EACH_ELIM_GRAPH_PRED): Avoid set but not used warnings. - * tree-ssa-operands.h (FOR_EACH_SSA_TREE_OPERAND): Likewise. - * tree-flow.h (FOR_EACH_IMM_USE_FAST, FOR_EACH_IMM_USE_STMT, - FOR_EACH_IMM_USE_ON_STMT): Likewise. - * tree.h (FOR_EACH_CONSTRUCTOR_ELT): Likewise. - * tree.c (PROCESS_ARG): Likewise. - -2010-04-07 Simon Baldwin - - * diagnostic.h (diagnostic_override_option_index): New macro to - set a diagnostic's option_index. - * c-tree.h (c_cpp_error): Add warning reason argument. - * opts.c (_warning_as_error_callback): New. - (register_warning_as_error_callback): Store callback for - warnings enabled via enable_warning_as_error. - (enable_warning_as_error): Call callback, minor code tidy. - * opts.h (register_warning_as_error_callback): Declare. - * c-opts.c (warning_as_error_callback): New, set cpp_opts flag in - response to -Werror=. - (c_common_init_options): Register warning_as_error_callback in opts.c. - * common.opt: Add -Wno-cpp option. - * c-common.c (struct reason_option_codes_t): Map cpp warning - reason codes to gcc option indexes. - * (c_option_controlling_cpp_error): New function, lookup the gcc - option index for a cpp warning reason code. - * (c_cpp_error): Add warning reason argument, call - c_option_controlling_cpp_error for diagnostic_override_option_index. - * doc/invoke.texi: Document -Wno-cpp. - -2010-04-07 Richard Guenther - - * ipa-reference.c (mark_load): Use get_base_address. - (mark_store): Likewise. - - * tree-ssa-ccp.c (gimplify_and_update_call_from_tree): Avoid - inserting GIMPLE_NOPs into the IL. - * tree-ssa-structalias.c (get_constraint_for_component_ref): - Explicitly strip handled components and indirect references. - - * fold-const.c (fold_unary_loc): Do not strip qualifiers when - folding address expressions. - * gimple.c (gimple_ior_addresses_taken_1): Use get_base_address. - * tree-ssa-alias.c (decl_refs_may_alias_p): Do not use - operand_equal_p to compare decls. - (ptr_deref_may_alias_decl_p): Likewise. - * tree-ssa-operands.c (get_asm_expr_operands): Simplify - * tree-ssa-forwprop.c (forward_propagate_into_gimple_cond): - Handle reversed comparison ops. - * tree-sra.c (asm_visit_addr): Use get_base_address. - * ipa-prop.c (visit_store_addr_for_mod_analysis): Use get_base_address. - * ipa-reference.c (mark_address): Use get_base_address. - -2010-04-07 Richard Guenther - - * tree-ssa-forwprop.c (forward_propagate_addr_expr): - Propagate constants everywhere. - -2010-04-07 Jakub Jelinek - - PR debug/43516 - * tree.c (MAX_INT_CACHED_PREC): Define. - (nonstandard_integer_type_cache): New array. - (build_nonstandard_integer_type): Cache results for precision - <= MAX_INT_CACHED_PREC. - -2010-04-07 Richard Guenther - - * doc/invoke.texi (-fargument-alias, -fargument-noalias, - -fargument-noalias-global, -fargument-noalias-anything): Remove. - * common.opt: Likewise. - * tree-ssa-structalias.c (intra_create_variable_infos): Adjust comment. - * alias.c (base_alias_check): Remove flag_argument_noalias handling. - (nonoverlapping_memrefs_p): Likewise. - * emit-rtl.c (set_mem_attributes_minus_bitpos): Likewise. - * opts.c (common_handle_option): Handle OPT_fargument_alias, - OPT_fargument_noalias, OPT_fargument_noalias_anything and - OPT_fargument_noalias_global for backward compatibility. - -2010-04-07 Richard Guenther - - PR tree-optimization/43270 - * tree-vrp.c (check_array_ref): Fix flexible array member detection. - * tree-ssa-sccvn.h (fully_constant_vn_reference_p): Declare. - * tree-ssa-pre.c (phi_translate_1): Adjust. - (fully_constant_expression): Split out vn_reference handling to ... - * tree-ssa-sccvn.c (fully_constant_vn_reference_p): ... here. - Fold reads from constant strings. - (vn_reference_lookup): Handle fully constant references. - (vn_reference_lookup_pieces): Likewise. - * Makefile.in (expmed.o-warn): Add -Wno-error. - -2010-04-07 Martin Jambor - - * tree-sra.c (find_param_candidates): Allow scalar va_list types. - -2010-04-07 Iain Sandoe - - PR driver/41594 - * gcc.c: Add -static-libstdc++ to list of recognized options. - -2010-04-07 Rainer Orth - - * config.gcc (i[34567]86-*-solaris2*): Default with_tune_32 to generic. - -2010-04-07 Richard Guenther - - PR middle-end/42617 - * expr.c (expand_expr_real_1): For TARGET_MEM_REFs with pointer - bases build simple mem attributes to retain points-to information. - -2010-04-07 Richard Guenther - - PR middle-end/42617 - * alias.c (ao_ref_from_mem): Without MEM_OFFSET or MEM_SIZE - preserve points-to related information. - -2010-04-07 Richard Guenther - - PR middle-end/42617 - * emit-rtl.c (set_mem_attributes_minus_bitpos): Do not - discard plain indirect references. - * fold-const.c (operand_equal_p): Guard against NULL_TREE type. - * tree.c (tree_nop_conversion): Likewise. - -2010-04-07 Dodji Seketeli - - PR debug/43628 - * dwarf2out.c (modified_type_die): Ignore artificial typedefs. - -2010-04-06 Kai Tietz - - * config/i386/i386.c (ix86_handle_cconv_attribute): Ignore - calling convention attributes on METHOD_TYPEs for w64 ABI, too. - -2010-04-07 Sebastian Pop - - * tree-if-conv.c: Fix indentation and comments. - -2010-04-07 Sebastian Pop - - * tree-if-conv.c: Sort static functions in topological order. - -2010-04-07 Sebastian Pop - - * tree-if-conv.c: Fix indentation and comments. - -2010-04-06 Sebastian Pop - - PR middle-end/43519 - * graphite-clast-to-gimple.c (max_signed_precision_type): Use - lang_hooks.types.type_for_size instead of - build_nonstandard_integer_type. - When converting an unsigned type to signed, double its precision. - (gcc_type_for_interval): Use lang_hooks.types.type_for_size. - (gcc_type_for_iv_of_clast_loop): Call max_signed_precision_type. - (graphite_create_new_loop_guard): When ub + 1 wraps around, - use lb <= ub. - -2010-04-06 Sebastian Pop - - PR middle-end/43519 - * graphite-clast-to-gimple.c (graphite_create_new_loop_guard): Use - POINTER_PLUS_EXPR for pointer types. - -2010-04-06 Sebastian Pop - - PR middle-end/43519 - * Makefile.in (graphite-clast-to-gimple.o): Depends on langhooks.h. - * graphite-clast-to-gimple.c: Include langhooks.h. - (max_signed_precision_type): New. - (max_precision_type): Takes two types as arguments. - (precision_for_value): New. - (precision_for_interval): New. - (gcc_type_for_interval): New. - (gcc_type_for_value): New. - (gcc_type_for_clast_term): New. - (gcc_type_for_clast_red): New. - (gcc_type_for_clast_bin): New. - (gcc_type_for_clast_expr): Split up into several functions. - (gcc_type_for_clast_eq): Rewritten. - (compute_bounds_for_level): New. - (compute_type_for_level_1): New. - (compute_type_for_level): New. - (gcc_type_for_cloog_iv): Removed. - (gcc_type_for_iv_of_clast_loop): Rewritten. - (graphite_create_new_loop): Compute the lower and upper bound types - with gcc_type_for_clast_expr. - (graphite_create_new_loop_guard): Same. - (find_cloog_iv_in_expr): Removed. - (compute_cloog_iv_types_1): Removed. - (compute_cloog_iv_types): Removed. - (gloog): Do not call compute_cloog_iv_types. - * graphite-sese-to-poly.c (new_gimple_bb): Do not initialize - GBB_CLOOG_IV_TYPES. - (free_data_refs_aux): Do not free GBB_CLOOG_IV_TYPES. - * sese.h (struct gimple_bb): Removed field cloog_iv_types. - (GBB_CLOOG_IV_TYPES): Removed. - -2010-04-06 Sebastian Pop - - * graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): Assert that - gimple_phi_num_args of the loop close SSA phi node is equal to 1. - (detect_commutative_reduction): Same. - -2010-04-06 Sebastian Pop - - * graphite-clast-to-gimple.c (graphite_verify): Remove redundant - call to verify_ssa. Invoke verify_loop_closed_ssa with an extra - argument. - * graphite-scop-detection.c (canonicalize_loop_closed_ssa_form): Same. - * graphite-sese-to-poly.c (rewrite_reductions_out_of_ssa): Same. - (rewrite_commutative_reductions_out_of_ssa): Same. - * passes.c (execute_function_todo): Call verify_ssa for every pass - in the LNO. Invoke verify_loop_closed_ssa with an extra argument. - * tree-flow.h (verify_loop_closed_ssa): Update declaration. - * tree-parloops.c (parallelize_loops): Invoke verify_loop_closed_ssa - with an extra argument. - * tree-ssa-loop-manip.c (check_loop_closed_ssa_stmt): Same. Call - verify_ssa only when the extra argument is true. - (gimple_duplicate_loop_to_header_edge): Invoke verify_loop_closed_ssa - with an extra argument. - (tree_transform_and_unroll_loop): Same. - -2010-04-06 Sebastian Pop - - * passes.c (execute_function_todo): Call verify_loop_closed_ssa - for all the passes of the LNO having LOOP_CLOSED_SSA. - * tree-if-conv.c (pass_if_conversion): Remove TODO_verify_loops. - * tree-loop-distribution.c (pass_loop_distribution): Same. - * tree-pass.h (TODO_verify_loops): Removed. - * tree-ssa-loop.c (pass_tree_loop_init): Same. - (pass_lim): Same. - (pass_tree_unswitch): Same. - (pass_predcom): Same. - (pass_vectorize): Same. - (pass_linear_transform): Same. - (pass_graphite_transforms): Same. - (pass_iv_canon): Same. - (pass_complete_unroll): Same. - (pass_complete_unrolli): Same. - (pass_parallelize_loops): Same. - (pass_loop_prefetch): Same. - (pass_iv_optimize): Same. - -2010-04-06 Changpeng Fang - - PR middle-end/32824 - * passes.c (init_optimization_passes): Move pass_lim before - pass_copy_prop and pass_dce_loop. - -2010-04-06 Jakub Jelinek - - PR target/43667 - * config/i386/i386.c (bdesc_multi_arg): Use OPTION_MASK_ISA_XOP - instead of OPTION_MASK_ISA_AVX for __builtin_ia32_vpermil2p*. - (ix86_expand_args_builtin): Use V*_FTYPE_* enum codes instead of - MULTI_* defines for 4 argument vpermil2p* builtins. - -2010-04-06 Uros Bizjak - - * config/i386/i386-protos.h (x86_maybe_negate_const_int): Declare. - * config/i386/i386.c (x86_maybe_negate_const_int): New. - (x86_output_mi_thunk): Use x86_maybe_negate_const_int. - * config/i386/i386.md (*add_1, *addsi_1_zext, *addhi_1, - *addhi_1_lea, *addqi_1, *addqi_1_lea, *addqi_1_slp, *add_2, - *addsi_2_zext, *addhi_2, *addqi_2, *add_3, *addsi_3_zext, - *addhi_3, *addqi_3,*add_5, *addhi_5, *addqi_5): - Use x86_maybe_negate_const_int to output insn mnemonic. - (*adddi_4, *addsi_4, *addhi_4, *addqi_4): Ditto. Remove overflow - check from instruction predicate. Update comments. - * config/i386/sync.md (sync_add): Use - x86_maybe_negate_const_int to output insn mnemonic. - -2010-04-06 Jan Hubicka - - PR tree-optimization/42906 - * tree-ssa-dce.c (mark_control_dependent_edges_necessary): Add - IGNORE_SELF argument. Set visited_control_parents for fully - processed BBs. - (find_obviously_necessary_stmts): Update call of - mark_control_dependent_edges_necessary. - (propagate_necessity): Likewise. Handle PHI edges more curefully. - -2010-04-06 Uros Bizjak - - * config/i386/i386.md: Remove comment about 'e' and 'E' - operand modifier. - -2010-04-06 Richard Guenther - - PR tree-optimization/43627 - * tree-vrp.c (extract_range_from_unary_expr): Widenings - of [1, +INF(OVF)] go to [1, +INF(OVF)] of the wider type, - not varying. - -2010-04-06 Jakub Jelinek - - * BASE-VER: Change to 4.6.0. - - PR target/43638 - * config/i386/i386.c (print_operand): Remove 'e' and 'E' code - handling. - -2010-04-06 Richard Guenther - - PR middle-end/43661 - * fold-const.c (fold_comparison): Handle X * 0 CMP 0. - -2010-04-05 Ralf Wildenhues - - * doc/invoke.texi (Optimize Options): Document that LTO - won't remove object access purely due to incompatible - declarations. - -2010-04-04 Matthias Klose - - * graphite-sese-to-poly.c (translate_scalar_reduction_to_array): - Initialize variable. - -2010-04-03 Richard Guenther - - PR middle-end/42509 - * alias.c (nonoverlapping_memrefs_p): For spill-slot accesses - require a non-NULL MEM_OFFSET. - -2010-04-02 Steven Bosscher - - * ada/gcc-interface/Make-lang.in, alias.c, attribs.c, auto-inc-dec.c, - basic-block.h, bb-reorder.c, calls.c, c-common.c, cgraph.h, - collect2.h, config/alpha/alpha.c, config/alpha/alpha.md, - config/alpha/predicates.md, config/arm/arm.md, - config/arm/lib1funcs.asm, config/arm/neon-schedgen.ml, - config/avr/avr.c, config/avr/avr.md, config/bfin/bfin.c, - config/darwin9.h, config/darwin.c, config/darwin.h, - config/h8300/h8300.c, config/i386/cpuid.h, config/i386/cygming.h, - config/i386/cygwin.h, config/i386/mingw32.h, config/i386/msformat-c.c, - config/i386/sol2-10.h, config/i386/xopintrin.h, config/ia64/ia64.c, - config/ia64/ia64.md, config/ia64/sync.md, config/mep/mep.c, - config/mips/mips.md, config/mn10300/mn10300.c, - config/mn10300/mn10300.h, config/pa/pa.c, config/pa/pa.md, - config/rs6000/aix.h, config/rs6000/dfp.md, - config/rs6000/rs6000-builtin.def, config/rs6000/rs6000-c.c, - config/rs6000/vector.md, config/rtems.h, config/rx/rx.md, - config/s390/s390.md, config/sol2-c.c, config/sparc/sol2-bi.h, - config/sparc/sol2-gas.h, config/sparc/sparc.h, config/sparc/sparc.md, - config/sparc/sparc-protos.h, config/spu/spu.c, config/spu/spu-c.c, - config/t-darwin, convert.c, c.opt, c-opts.c, cp/Make-lang.in, - c-pretty-print.c, c-typeck.c, df-core.c, df-scan.c, diagnostic.c, - diagnostic.h, doc/cppopts.texi, doc/cpp.texi, doc/extend.texi, - doc/gimple.texi, doc/languages.texi, doc/plugins.texi, doc/rtl.texi, - doc/standards.texi, doc/tree-ssa.texi, doc/trouble.texi, dominance.c, - fold-const.c, fortran/Make-lang.in, fwprop.c, gcc-plugin.h, - gensupport.c, gimple.h, gimple-iterator.c, graphite.c, - graphite-clast-to-gimple.c, graphite-clast-to-gimple.h, - graphite-dependences.c, graphite-poly.c, graphite-poly.h, - graphite-ppl.c, graphite-ppl.h, graphite-scop-detection.c, - graphite-sese-to-poly.c, graphite-sese-to-poly.h, ifcvt.c, intl.c, - intl.h, ipa.c, ipa-cp.c, ipa-inline.c, ipa-prop.c, ipa-prop.h, - ipa-pure-const.c, ipa-reference.c, ipa-type-escape.c, ira-color.c, - ira-conflicts.c, ira-lives.c, java/Make-lang.in, lambda-code.c, - loop-invariant.c, lto/Make-lang.in, lto-streamer.h, lto-streamer-in.c, - objc/Make-lang.in, objcp/Make-lang.in, omp-low.c, optc-gen.awk, - opt-functions.awk, opth-gen.awk, params.def, passes.c, - postreload-gcse.c, print-tree.c, recog.c, regrename.c, reload.h, - rtl.def, sched-int.h, sched-rgn.c, sel-sched-dump.c, sese.c, sese.h, - store-motion.c, stor-layout.c, tree-cfgcleanup.c, tree-chrec.c, - tree-complex.c, tree-data-ref.c, tree.def, tree-eh.c, tree-flow.h, - tree-flow-inline.h, tree.h, tree-loop-distribution.c, tree-outof-ssa.c, - tree-parloops.c, tree-pass.h, tree-predcom.c, tree-profile.c, - tree-scalar-evolution.c, tree-ssa-address.c, tree-ssa-alias.c, - tree-ssa-coalesce.c, tree-ssa-copy.c, tree-ssa-dce.c, tree-ssa-dom.c, - tree-ssa-dse.c, tree-ssa-loop-im.c, tree-ssa-loop-ivcanon.c, - tree-ssa-loop-manip.c, tree-ssa-math-opts.c, tree-ssa-operands.c, - tree-ssa-pre.c, tree-ssa-sccvn.c, tree-ssa-structalias.c, - tree-ssa-uncprop.c, tree-tailcall.c, tree-vect-data-refs.c, - tree-vect-loop.c, tree-vectorizer.h, tree-vect-slp.c, tree-vrp.c, - unwind-dw2-fde-darwin.c, varpool.c: Update copyright years. - -2010-04-02 Ralf Wildenhues - - PR other/43620 - * doc/install.texi (Prerequisites): Bump Automake version to 1.11.1. - * aclocal.m4: Regenerate. - -2010-04-02 Richard Guenther - - PR tree-optimization/43629 - * tree-ssa-ccp.c (likely_value): Reset all_undefined_operands - if we have seen a constant value. - -2010-04-02 Joseph Myers - - * read-rtl.c (read_rtx_1): Give an error for EOF while looking for ']'. - -2010-04-02 Richard Earnshaw - - PR target/43469 - * arm.c (legitimize_tls_address): Adjust call to - gen_tls_load_dot_plus_four. - (arm_note_pic_base): New function. - (arm_cannot_copy_insn_p): Use it. - * thumb2.md (tls_load_dot_plus_four): Rework to avoid use of '+' in - constraint. - -2010-04-02 Ralf Wildenhues - - PR bootstrap/43531 - - Revert: - 2009-09-28 Ralf Wildenhues - - * Makefile.in ($(out_object_file)): Depend on - gt-$(basename $(notdir $(out_file))).h. - -2010-04-01 Ralf Corsépius - - * config.gcc (lm32-*-rtems*): Add t-lm32. - -2010-04-01 Joel Sherrill - - * config.gcc: Add lm32-*-rtems*. - * config/lm32/rtems.h: New file. - -2010-04-01 Dave Korn - - PR target/42609 - * config/i386/cygwin.h (CXX_WRAP_SPEC): Disable spec when -mno-cygwin. - -2010-04-01 Jakub Jelinek - - * dwarf2out.c (output_compilation_unit_header): For - -gdwarf-4 use version 4 instead of version 3. - (output_line_info): For version 4 and above emit additional - maximum ops per insn header field. - (DWARF_LINE_DEFAULT_MAX_OPS_PER_INSN): Define. - - * dwarf2out.c (is_c_family, is_java): Remove. - (lower_bound_default): New function. - (add_bound_info, gen_descr_array_type_die): Use it. - -2010-04-01 Dodji Seketeli - - PR debug/43325 - * dwarf2out.c (gen_variable_die): Allow debug info for variable - re-declaration when it happens in a function. - -2010-04-01 Aldy Hernandez - - * cgraph.c (cgraph_add_function_insertion_hook): Update comment. - (cgraph_remove_function_insertion_hook): Same. - (cgraph_call_function_insertion_hooks): Same. - -2010-04-01 Richard Guenther - - PR middle-end/43614 - * tree-ssa-address.c (copy_mem_ref_info): Copy TREE_SIDE_EFFECTS - and TREE_THIS_VOLATILE. - (copy_ref_info): Likewise. - * tree-ssa-operands.c (get_tmr_operands): Check TREE_THIS_VOLATILE. - * tree.c (build6_stat): Ignore side-effects of all but arg5 - for TARGET_MEM_REF. Set TREE_THIS_VOLATILE from arg5 of - TARGET_MEM_REF. - -2010-04-01 Richard Guenther - - PR tree-optimization/43607 - * ipa-type-escape.c (check_call): Do not access non-existing - arguments. - -2010-04-01 Richard Guenther - - PR middle-end/43602 - Revert - 2010-03-30 Seongbae Park - Jack Howarth - - * tree-profile.c (tree_init_ic_make_global_vars): Make static - variables TLS. - -2010-04-01 Rainer Orth - - * doc/install.texi (Prerequisites): Document libelf usability on - IRIX 5/6 and Solaris 2. - (Specific, i?86-*-solaris2.10): No 64-bit default configuration. - Update GNU as, GNU ld requirements. - (Specific, *-*-solaris2*): Document Solaris 7 obsoletion, removal. - Document Sun Studio compiler download. - Update and simplify as, ld recommendations. - (Specific, *-*-solaris2.7): Note obsoletion, removal. - -2010-04-01 Rainer Orth - - * config.gcc (i[34567]86-*-solaris2*): Default with_arch_32, - with_tune_32 to pentium4. - -2010-04-01 Uros Bizjak - - * config/i386/cpuid.h (__get_cpuid_max): Move misplaced comment. - -2010-04-01 Rainer Orth - - * doc/install.texi (Specific, mips-sgi-irix5): Document IRIX 5 - obsoletion, removal. - Update IDO URL. - Document GNU as requirement. - Update configure requirements. - (Specific, mips-sgi-irix6): Document IRIX 6 < 6.5 obsoletion, removal. - Recomment IRIX 6.5.18+. - Document IDF/IDL requirement. - Document GNU as requirement. - Document GNU ld bootstrap failure. - Remove freeware.sgi.com reference. - -2010-04-01 Rainer Orth - - * doc/install.texi (Specific, alpha*-dec-osf*): Document Tru64 - UNIX V4.0, V5.0 obsoletion, removal. - Remove --with-gc=simple reference. - Update VM requirements during bootstrap. - Remove -oldas bootstrap description. - Update binutils reference. - Remove comparison failure note. - -2010-03-31 Richard Guenther - Zdenek Dvorak - Sebastian Pop - - PR middle-end/43464 - * tree-ssa-copy.c (init_copy_prop): Handle loop close phi nodes - with multiple arguments. - (execute_copy_prop): Remove call to rewrite_into_loop_closed_ssa. - -2010-03-31 Sebastian Pop - - * graphite-dependences.c (print_pddr): Call print_pdr with an - extra argument. - * graphite-poly.c (debug_pdr): Add an extra argument for the - verbosity level. - (print_pdr): Same. - (print_pbb_domain): Same. - (print_pbb): Same. - (print_scop_context): Same. - (print_scop): Same. - (print_cloog): Same. - (debug_pbb_domain): Same. - (debug_pbb): Same. - (print_pdrs): Same. - (debug_pdrs): Same. - (debug_scop_context): Same. - (debug_scop): Same. - (debug_cloog): Same. - (print_scop_params): Same. - (debug_scop_params): Same. - (print_iteration_domain): Same. - (print_iteration_domains): Same. - (debug_iteration_domain): Same. - (debug_iteration_domains): Same. - (print_scattering_function): Same. - (print_scattering_functions): Same. - (debug_scattering_function): Same. - (debug_scattering_functions): Same. - * graphite-poly.h (debug_pdr): Update declaration. - (print_pdr): Same. - (print_pbb_domain): Same. - (print_pbb): Same. - (print_scop_context): Same. - (print_scop): Same. - (print_cloog): Same. - (debug_pbb_domain): Same. - (debug_pbb): Same. - (print_pdrs): Same. - (debug_pdrs): Same. - (debug_scop_context): Same. - (debug_scop): Same. - (debug_cloog): Same. - (print_scop_params): Same. - (debug_scop_params): Same. - (print_iteration_domain): Same. - (print_iteration_domains): Same. - (debug_iteration_domain): Same. - (debug_iteration_domains): Same. - (print_scattering_function): Same. - (print_scattering_functions): Same. - (debug_scattering_function): Same. - (debug_scattering_functions): Same. - -2010-03-31 Sebastian Pop - - * graphite-poly.c (print_scattering_function_1): New. - (print_scattering_function): Call it. - (print_scop_params): Remove spaces at the end of lines. - (print_cloog): New. - (debug_cloog): New. - * graphite-poly.h (print_cloog): Declared. - (debug_cloog): Declared. - -2010-03-31 Sebastian Pop - - * graphite-sese-to-poly.c (graphite_loop_normal_form): Add the IV bump - in loop->header. - * tree-flow.h (canonicalize_loop_ivs): Updated declaration. - * tree-parloops.c (gen_parallel_loop): Add the IV bump in loop->latch. - * tree-ssa-loop-manip.c (canonicalize_loop_ivs): Add a new parameter - to switch between adding the IV bump in loop->latch or in loop->header. - -2010-03-31 Sebastian Pop - - * graphite-poly.c (print_scattering_function): Pretty print following - the scoplib format. - (print_pdr): Same. - (print_pbb_domain): Same. - (dump_gbb_cases): Same. - (dump_gbb_conditions): Same. - (print_pdrs): Same. - (print_pbb): Same. - (print_scop_params): Same. - (print_scop_context): Same. - (print_scop): Same. - (print_pbb_body): New. - (lst_indent_to): New. - (print_lst): Start new lines with a #. - * graphite-poly.h (pbb_bb): New. - (pbb_index): Use pbb_bb. - * graphite-ppl.c (ppl_print_powerset_matrix): Print the number of - disjuncts. - * tree-data-ref.c (dump_data_reference): Start new lines with a #. - -2010-03-31 Jakub Jelinek - - * dwarf2out.c (size_of_die): For -gdwarf-4 use - uleb128 size instead of fixed 1 or 2 for dw_val_class_loc - and 0 instead of 1 for dw_val_class_flag. - (value_format): For -gdwarf-4 use DW_FORM_sec_offset for - dw_val_class_range_list, dw_val_class_loc_list, - dw_val_class_lineptr and dw_val_class_macptr, use - DW_FORM_flag_present for dw_val_class_flag and - DW_FORM_exprloc for dw_val_class_loc. - (output_die): For -gdwarf-4 print dw_val_class_loc - size as uleb128 instead of 1 or 2 bytes and don't print - anything for dw_val_class_flag. - - * var-tracking.c (vt_init_cfa_base): Use cselib_lookup_from_insn - instead of cselib_lookup following by tweaking locs->setting_insn. - - PR bootstrap/43596 - * cselib.c (cselib_process_insn): Clear cselib_current_insn - even before returning from label, setjmp call or volatile asm - handling. - -2010-03-31 Richard Guenther - - PR middle-end/43600 - * cgraphunit.c (cgraph_output_in_order): Do not allocate - temporary data on stack. - -2010-03-31 Rainer Orth - - * config/sparc/sysv4.h (PUSHSECTION_FORMAT): Remove undef. - (PUSHSECTION_ASM_OP): Remove. - (POPSECTION_ASM_OP): Remove. - (PUSHSECTION_FORMAT): Remove. - * config/sol2.h (PUSHSECTION_FORMAT): Define. - * config/sparc/sol2.h [!USE_GAS] (PUSHSECTION_FORMAT): Redefine. - * config/sol2.c (solaris_output_init_fini): Use it. - -2010-03-31 Jie Zhang - - PR 43574 - * opt-functions.awk (var_type_struct): Use signed char type - for simple variables. - -2010-03-31 Rainer Orth - - * config/sol2.c: Include output.h. - (solaris_assemble_visibility): New function. - * config/t-sol2 (sol2.o): Add output.h dependency. - * config/sol2-protos.h (solaris_assemble_visibility): Declare. - * config/sol2.h [!USE_GAS] (TARGET_ASM_ASSEMBLE_VISIBILITY): - Redefine. - -2010-03-31 Jakub Jelinek - - PR target/43580 - * config/arm/arm.c (arm_save_coproc_regs): Use Pmode instead of - V2SImode or XFmode on PRE_DEC. - - PR debug/43557 - * cfgexpand.c (expand_debug_expr): Handle VOIDmode mode like - BLKmode. - -2010-03-31 Jie Zhang - - PR 43562 - * reload.h (caller_save_initialized_p): Declare. - * toplev.c (backend_init_target): Don't call - init_caller_save but set caller_save_initialized_p to false. - * caller-save.c (caller_save_initialized_p): Define. - (init_caller_save): Check caller_save_initialized_p. - * ira.c (ira): Call init_caller_save if flag_caller_saves. - -2010-03-31 Rainer Orth - - PR target/39048 - * config.gcc (i[34567]86-*-solaris2*): Add i386/t-fprules-softfp - and soft-fp/t-softfp to tmake_file. - * config/i386/sol2.h (LIBGCC2_HAS_TF_MODE): Redefine. - (LIBGCC2_TF_CEXT): Define. - (TF_SIZE): Define. - -2010-03-30 Alexandre Oliva - - PR debug/42977 - * cselib.c (n_useless_values): Document handling of debug locs. - (n_useless_debug_values, n_debug_values): New variables. - (new_elt_loc_list): Don't add to debug values, keep count. - (promote_debug_loc): New. - (cselib_reset_table): Zero new variables. - (entry_and_rtx_equal_p): Promote debug locs. - (discard_useless_locs): Increment n_useless_debug_values for - debug values. - (remove_useless_values): Adjust n_useless_values and n_debug_values - with n_useless_debug_values. - (add_mem_for_addr): Promote debug locs. - (cselib_lookup_mem): Likewise. - (cselib_lookup_addr): Renamed to... - (cselib_lookup_addr_1): ... this. Promote debug locs. Don't call... - (cselib_log_lookup): ... this. Turn into... - (cselib_lookup_addr): ... new wrapper. - (cselib_lookup_from_insn): New. - (cselib_invalidate_regno): Increment n_useless_debug_values for - debug values. - (cselib_invalidate_mem): Likewise. - (cselib_process_insn): Take n_deleted and n_debug_values into - account to guard remove_useless_value call. - (cselib_finish): Zero n_useless_debug_values. - * cselib.h (cselib_lookup_from_insn): Declare. - * sched-deps.c (sched_analyze_1): Use cselib_lookup_from_insn. - (sched_analyze_2): Likewise. - -2010-03-30 Jakub Jelinek - - * var-tracking.c (use_narrower_mode_test, use_narrower_mode): New - functions. - (adjust_mems): Replace narrowing SUBREG of expression containing - just PLUS, MINUS, MULT and ASHIFT of registers and constants - with operations in the narrower mode. - - PR debug/43593 - * var-tracking.c (dataflow_set_clear_at_call): Invalidate just - regs_invalidated_by_call instead all call_used_reg_set registers. - -2010-03-30 Sebastian Pop - - PR middle-end/43430 - * tree-vect-slp.c (vect_get_and_check_slp_defs): Replace type - pointer comparisons with types_compatible_p. - * tree-vect-stmts.c (vectorizable_call): Same. - (vectorizable_condition): Same. - -2010-03-30 Andreas Krebbel - - * config/s390/s390.c (s390_emit_prologue): Omit issuing a dynamic - stack check if the mask would be zero. - -2010-03-30 Seongbae Park - Jack Howarth - - * tree-profile.c (tree_init_ic_make_global_vars): Make static - variables TLS. - -2010-03-30 Joseph Myers - - PR other/25232 - * libgcc-std.ver (GCC_4.5.0): Define version. Include __unordxf2 - and __unordtf2. - * config/bfin/libgcc-bfin.ver (GCC_4.5.0): Define version. - Include ___unordxf2 and ___unordtf2. - * config/i386/libgcc-glibc.ver: Do not define inheritance from - GCC_4.4.0 here. - -2010-03-30 Tarik Graba - - * config/lm32/t-lm32: New file. - * config.gcc: Use the above file when targetting lm32. - -2010-03-28 Duncan Sands - - * Makefile.in (PLUGIN_HEADERS): Add except.h. - -2010-03-29 Sebastian Pop - - PR middle-end/43431 - * tree-vect-loop.c (vect_estimate_min_profitable_iters): - Improve vectorization cost model diagnostic. - -2010-03-29 Sebastian Pop - - PR middle-end/43436 - * tree-vect-data-refs.c (vect_analyze_data_refs): When - compute_data_dependences_for_loop returns false, early exit - and output an extra diagnostic for the failed data reference - analysis. - -2010-03-29 Richard Guenther - - PR tree-optimization/43560 - * tree-ssa-loop-im.c (ref_always_accessed_p): Add store_p parameter. - (can_sm_ref_p): Treat stores to readonly locations as trapping. - -2010-03-29 Jie Zhang - - PR 43564 - * toplev.c (process_options): Set optimization_default_node - and optimization_current_node. - * opts.c (decode_options): Don't set optimization_default_node - and optimization_current_node. - -2010-03-29 Ralf Corsépius - - * config/rtems.h: Abandon -qrtems_debug. - -2010-03-28 Jan Hubicka - - PR tree-optimization/43505 - * cgraph.c (cgraph_clone_node): When clonning a clone, replacement - map should not be copied. - -2010-03-27 John David Anglin - - PR middle-end/41674 - * cgraphunit.c (cgraph_build_static_cdtor): If target doesn't have - cdtors, set DECL_PRESERVE_P. - * ipa.c (cgraph_externally_visible_p): Return true if declaration - should be preseved. - -2010-03-27 Uros Bizjak - - PR tree-optimization/43528 - * stor-layout.c (place_field): Check that constant fits into - unsigned HWI when skipping calculation of MS bitfield layout. - -2010-03-27 Jan Hubicka - - PR middle-end/43391 - * varasm.c (make_decl_rtl): Deal with COMMON flag to make - notice_global_symbol work. - -2010-03-27 Jakub Jelinek - - * dwarf2out.c (dwarf2_debug_hooks): Use dwarf2out_function_decl - instead of dwarf2out_decl. - (struct var_loc_node): Remove section_label field. - (dwarf2out_function_decl): New function. - (dwarf2out_var_location): Don't set section_label field. - (dwarf2out_begin_function): Don't empty decl_loc_table here. - -2010-03-26 Michael Meissner - - PR tree-optimization/43544 - * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION): - First argument for builtin vectorized function hook is now a - tree to be able to distinguish between machine specific and - standard builtins. - * targhooks.c (default_builtin_vectorized_function): Ditto. - * targhooks.h (default_builtin_vectorized_function): Ditto. - * target.h (struct gcc_target): Ditto. - * tree-vect-stmts.c (vectorizable_function): Ditto. - * config/i386/i386.c (ix86_builtin_vectorized_function): Ditto. - * config/rs6000/rs6000.c (rs6000_builtin_vectorized_function): - Ditto. - -2010-03-26 Joseph Myers - - PR c/43381 - * c-decl.c (get_parm_info): Assert that decl going in OTHERS has a - nested binding iff it is a FUNCTION_DECL. - (store_parm_decls_newstyle): Pass nested=true to bind for - FUNCTION_DECLs amongst parameters. - -2010-03-26 Jakub Jelinek - - * var-tracking.c (vt_expand_loc_callback): Don't run - cselib_expand_value_rtx_cb in dummy mode if - cselib_dummy_expand_value_rtx_cb returned false. - - * var-tracking.c (emit_note_insn_var_location): For one part - notes with offset 0, don't add EXPR_LIST around the location. - * dwarf2out.c (loc_descriptor, dw_loc_list_1, - add_location_or_const_value_attribute): Adjust for that change. - - PR debug/43540 - * dwarf2out.c (reg_save): For DW_CFA_expression put regnum - into first operand and location into second. - (dw_cfi_oprnd1_desc): Return dw_cfi_oprnd_reg_num instead of - dw_cfi_oprnd_loc for DW_CFA_expression. - (dw_cfi_oprnd2_desc): Return dw_cfi_oprnd_loc for DW_CFA_expression. - (output_cfa_loc, output_cfa_loc_raw): For DW_CFA_expression - assume first argument is regnum and second argument is location. - -2010-03-26 Uros Bizjak - - PR target/42113 - * config/alpha/alpha.md (*cmp_sadd_si): Change mode - of scratch register to DImode. Split to DImode comparison operator. - Use SImode subreg of scratch register in the multiplication. - (*cmp_sadd_sidi): Ditto. - (*cmp_ssub_si): Ditto. - (*cmp_ssub_sidi): Ditto. - -2010-03-26 Uros Bizjak - - PR target/43524 - * config/i386/i386.c (ix86_expand_prologue) [TARGET_STACK_PROBE]: - Remove invalid assert and wrong comment. - -2010-03-26 Jakub Jelinek - - PR debug/43516 - * flags.h (final_insns_dump_p): New extern. - * final.c (final_insns_dump_p): New variable. - (rest_of_clean_state): Set it before -fdump-final-insns= - dumping, clear afterwards. - * print-rtl.c (print_rtx): If final_insns_dump_p don't dump - MEM_ALIAS_SET on MEMs. - -2010-03-26 David S. Miller - - * configure.ac: Fix sparc GOTDATA_OP bug check. - * configure: Rebuild. - -2010-03-26 Alan Modra - - * config/rs6000/rs6000.md (cmptf_internal2): Correct comparison. - -2010-03-25 Rainer Orth - - * doc/tm.texi (Sections): Document TLS_COMMON_ASM_OP, - TLS_SECTION_ASM_FLAG. - -2010-03-25 Jakub Jelinek - - PR bootstrap/43511 - * config/i386/i386.c (ix86_code_end): Set DECL_WEAK if TARGET_MACHO. - Clear first_function_block_is_cold. - - PR c/43385 - * gimplify.c (gimple_boolify): Only recurse on __builtin_expect - argument if the argument is truth_value_p. - -2010-03-24 Michael Meissner - - * config/rs6000/constraints.md: Update copyright year for my changes. - - PR target/43484 - * config/rs6000/rs6000.c (rs6000_split_multireg_move): If r0 is - used in reg+reg addressing, swap registers. - -2010-03-24 Jakub Jelinek - - PR debug/43293 - * target.h (struct gcc_target): Add code_end hook. - * target-def.h (TARGET_ASM_CODE_END): Define to hook_void_void - if not yet defined. - (TARGET_ASM_OUT): Add TARGET_ASM_CODE_END. - * toplev.c (compile_file): Call targetm.asm_out.code_end - hook before unwind info/debug info output. - * config/i386/winnt.c (i386_pe_file_end): Don't call ix86_file_end. - * config/i386/linux.h (NEED_INDICATE_EXEC_STACK): Don't define. - (TARGET_ASM_FILE_END): Define to file_end_indicate_exec_stack. - * config/i386/linux64.h (NEED_INDICATE_EXEC_STACK): Don't define. - (TARGET_ASM_FILE_END): Define to file_end_indicate_exec_stack. - * config/i386/i386.c (ix86_file_end): Renamed to... - (ix86_code_end): ... this. Make static. Don't call - file_end_indicate_exec_stack. Emit unwind info using - final_start_function/final_end_function. - (darwin_x86_file_end): Remove. - (TARGET_ASM_CODE_END): Define. - * config/i386/i386.h (TARGET_ASM_FILE_END, - NEED_INDICATE_EXEC_STACK): Don't define. - * config/i386/darwin.h (darwin_x86_file_end): Remove prototype. - (TARGET_ASM_FILE_END): Define to darwin_file_end. - * config/i386/i386-protos.h (ix86_file_end): Remove prototype. - * doc/tm.texi (TARGET_ASM_CODE_END): Document. - - PR target/43498 - * config/i386/i386.c (x86_output_mi_thunk): Call final_start_function - at the beginning and final_end_function at the end. - * config/s390/s390.c (s390_output_mi_thunk): Likewise. - -2010-03-24 Rainer Orth - - * configure.ac (i[34567]86-*-*): Handle Solaris 2/x86 TLS support - and Sun as TLS syntax. - (TLS_SECTION_ASM_FLAG) [on_solaris && !gas_flag]: Define. - * configure: Regenerate. - * config.in: Regenerate. - * varasm.c (TLS_SECTION_ASM_FLAG): Define default. - (default_elf_asm_named_section): Use it. - * config/i386/i386.c (output_pic_addr_const): Lowercase @DTPOFF. - (i386_output_dwarf_dtprel): Likewise. - (output_addr_const_extra): Likewise. - (output_pic_addr_const): Lowercase @GOTTPOFF. - (output_addr_const_extra): Likewise. - (output_pic_addr_const): Lowercase @GOTNTPOFF. - (output_addr_const_extra): Likewise. - (output_pic_addr_const): Lowercase @INDNTPOFF. - (output_addr_const_extra): Likewise. - (output_pic_addr_const): Lowercase @NTPOFF. - (output_addr_const_extra): Likewise. - (output_pic_addr_const): Lowercase @TPOFF. - (output_addr_const_extra): Likewise. - * config/i386/i386.md (*tls_global_dynamic_32_gnu): Lowercase @TLSGD. - (*tls_global_dynamic_64): Likewise. - (*tls_local_dynamic_base_32_gnu): Lowercase @TLSLDM. - (*tls_local_dynamic_base_64): Lowercase @TLSLD. - - * defaults.h (TLS_COMMON_ASM_OP): Provide default. - (ASM_OUTPUT_TLS_COMMON): Use it. - * config/i386/sol2-gas.h (TLS_COMMON_ASM_OP): Undef. - - PR target/38118 - * config.gcc (sparc*-*-solaris2*) [$gas=yes]: Add usegas.h to tm_file. - * config/sparc/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): Move ... - * config/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): ... here. - * config/i386/sol2-10.h (ASM_OUTPUT_ALIGNED_COMMON): Redefine. - * config/i386/sol2.h (TARGET_SUN_TLS): Redefine. - (ASM_DECLARE_OBJECT_NAME) [!USE_GAS]: Redefine. - -2010-03-24 Rainer Orth - - * config/i386/i386.c (override_options): Don't accept - -mtls-dialect=sun any longer. - * config/i386/i386.h (TARGET_SUN_TLS): Define as 0. - * config/i386/i386.md (*tls_global_dynamic_32_sun): Remove. - (*tls_local_dynamic_base_32_sun): Likewise. - * config/i386/sol2.h (TARGET_SUN_TLS): Redefine. - -2010-03-24 Jakub Jelinek - - PR debug/43508 - * dwarf2out.c (mem_loc_descriptor): Don't ICE on - VEC_{MERGE,SELECT,CONCAT,DUPLICATE}. - - PR debug/43479 - * ira.c (adjust_cleared_regs): New function. - (update_equiv_regs): Adjust cleared_regs in DEBUG_INSNs. - - PR debug/19192 - PR debug/43479 - * cfgexpand.c (gimple_assign_rhs_to_tree): Also set TREE_BLOCK - from gimple_block. - * expr.c (expand_expr_real): Restore previous - curr_insn_source_location and curr_insn_block after - expand_expr_real_1 call. - (expand_expr_real_1) : Call expand_expr_real - instead of expand_expr_real_1. - -2010-03-23 Vladimir Makarov - - PR rtl-optimization/43413 - * ira-color.c (setup_allocno_available_regs_num): Count prohibited - hard regs too. - -2010-03-22 James E. Wilson - - PR target/43348 - * ia64.md (call_nogp, call_value_nogp, sibcall_nogp, call_gp, - call_value_gp, sibcall_gp): Use 's' constraint not 'i'. - -2010-03-22 H.J. Lu - - * config/i386/i386.c (ix86_target_string): Add -mfma. - Fix a typo in comment. - -2010-03-22 Mike Stump - - PR target/23071 - * config/rs6000/rs6000.c (darwin_rs6000_special_round_type_align): - Don't overly align based upon packed packed fields. - -2010-03-22 Jason Merrill - - * c-pretty-print.c (pp_c_specifier_qualifier_list) [VECTOR_TYPE]: - Use () rather than [], and move before the element type. - -2010-03-22 Rainer Orth - - * doc/configfiles.texi (Configuration Files): Removed - fixinc/Makefile*, intl/Makefile.*. - * doc/makefile.texi: Fixed markup. Abstract from version - control system used. - (Makefile): Removed obsolete gcc/java/parse.y example. - * doc/sourcebuild.texi: Likewise. - (Top Level): Added config, gnattools, libdecnumber, libgcc, - libgomp, libssp. Removed fastjar. - (Miscellaneous Docs): Clarify location. - Added COPYING3, COPYING3.LIB. - (Front End Directory): Moved Make-lang.in entry to new subsubsection. - 2010-03-22 Rainer Orth PR target/38085 @@ -6458,11 +82,10 @@ 2010-03-19 Andrew Pinski - PR c/43211 - * c-decl.c (grokparms): Set arg_types to NULL_TREE if there was - an error. + PR C/43211 + * c-decl.c (grokparms): Set arg_types to NULL_TREE if there was an error. -2010-03-19 Bernd Schmidt +2010-03-19 Bernd Schmidt PR rtl-optimization/42258 * ira-lives.c (check_and_make_def_conflict): Ignore conflict for a @@ -6559,7 +182,8 @@ PR bootstrap/43403 * var-tracking.c (vt_init_cfa_base): Do nothing if - cfa_base_rtx would be hard_frame_pointer_rtx or non-fixed register. + cfa_base_rtx would be hard_frame_pointer_rtx or non-fixed + register. 2010-03-18 Alexandre Oliva @@ -6585,7 +209,8 @@ * cgraph.h (cgraph_redirect_edge_call_stmt_to_callee): Declare. * cgraphunit.c (cgraph_materialize_all_clones): Update calls in all non-clones. Moved call redirection... - (cgraph_redirect_edge_call_stmt_to_callee): ...to this new function. + (cgraph_redirect_edge_call_stmt_to_callee): ...to this new + function. (cgraph_materialize_all_clones): Dispose of all combined_args_to_skip bitmaps. (verify_cgraph_node): Do not check for edges pointing to wrong @@ -6656,7 +281,8 @@ appending a use to an empty chain. (build_def_use): Remove previous changes that convert OP_INOUT to OP_OUT operands; instead detect the case where an OP_INOUT operand - uses a previously untracked register and create an empty chain for it. + uses a previously untracked register and create an empty chain for + it. 2010-03-17 Ralf Wildenhues @@ -6694,8 +320,9 @@ 2010-03-16 Richard Guenther PR middle-end/43379 - * tree-cfg.c (gimple_merge_blocks): When propagating virtual PHI - operands make sure to merge SSA_NAME_OCCURS_IN_ABNORMAL_PHI properly. + * tree-cfg.c (gimple_merge_blocks): When propagating virtual + PHI operands make sure to merge SSA_NAME_OCCURS_IN_ABNORMAL_PHI + properly. 2010-03-16 Aldy Hernandez Alexandre Oliva @@ -6713,7 +340,7 @@ cfa_base_preserved_val): New static variables. (preserve_only_constants): New function. (cselib_reset_table): If cfa_base_preserved_val is non-NULL, don't - clear its REG_VALUES. If cselib_preserve_constants, don't + clear its REG_VALUES. If cselib_preserve_constants, don't empty the whole hash table, but preserve there VALUEs with constants, cfa_base_preserved_val and cfa_base_preserved_val plus constant. (cselib_preserve_cfa_base_value): New function. @@ -8147,7 +1774,7 @@ statements ... (vrp_visit_phi_node): ... but only for loop PHI nodes. -2010-02-16 Ira Rosen +2010-02-16 Ira Rosen PR tree-optimization/43074 * tree-vectorizer.h (VECTORIZABLE_CYCLE_DEF): New. @@ -8190,8 +1817,7 @@ (TARGET_VECTORIZE_BUILTIN_VEC_PERM): Likewise. (TARGET_VECTORIZE_BUILTIN_VEC_PERM_OK): Likewise. - * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_CONVERSION): Fix argument - types. + * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_CONVERSION): Fix argument types. * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION): Fix argument types. @@ -8233,7 +1859,7 @@ 2010-02-15 Nick Clifton - * config/h8300/h8300.c (h8300_push_pop): Use bool type for + * config/h8300/h8300.c: (h8300_push_pop): Use bool type for boolean parameters. Use emit_jump_insn when emitting a pop instruction containing a return insn. (push): Use 'true' rather than '1' as second parameter to F.