X-Git-Url: http://git.sourceforge.jp/view?p=pf3gnuchains%2Fgcc-fork.git;a=blobdiff_plain;f=gcc%2FChangeLog;h=e2b535a9e74d3d7cabd465ff994c9eb854a56548;hp=0ff9b006c95ce9bbc7408e7d27c77b81cf7b1e94;hb=efc49b995db1f178dcf1ff5bed91c30d27327ce6;hpb=7951924dcde91db28a330abb7e155d83cf7aa8f4 diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 0ff9b006c95..e2b535a9e74 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,1528 @@ +2008-07-30 Rafael Avila de Espindola + + PR 36974 + * final.c (call_from_call_insn): Handle COND_EXEC + +2008-07-30 H.J. Lu + + * builtins.c (std_gimplify_va_arg_expr): Replace + PREFERRED_STACK_BOUNDARY with MAX_SUPPORTED_STACK_ALIGNMENT. + * config/i386/i386.c (ix86_gimplify_va_arg): Likewise. + +2008-07-30 Joey Ye + H.J. Lu + + * builtins.c (expand_builtin_setjmp_receiver): Replace + virtual_incoming_args_rtx with crtl->args.internal_arg_pointer. + (expand_builtin_apply_args_1): Likewise. + (expand_builtin_longjmp): Need DRAP for stack alignment. + (expand_builtin_apply): Likewise. + + * caller-save.c (setup_save_areas): Call assign_stack_local_1 + instead of assign_stack_local to allow alignment reduction. + + * calls.c (emit_call_1): Need DRAP for stack alignment if + return pops. + (expand_call): Replace virtual_incoming_args_rtx with + crtl->args.internal_arg_pointer. + * stmt.c (expand_nl_goto_receiver): Likewise. + + * cfgexpand.c (get_decl_align_unit): Estimate stack variable + alignment and store to stack_alignment_estimated and + max_used_stack_slot_alignment. + (expand_one_var): Likewise. + (expand_stack_alignment): New function. + (tree_expand_cfg): Initialize max_used_stack_slot_alignment + and stack_alignment_estimated fields in rtl_data. Call + expand_stack_alignment at end. + + * defaults.h (INCOMING_STACK_BOUNDARY): New. + (MAX_STACK_ALIGNMENT): Likewise. + (MAX_SUPPORTED_STACK_ALIGNMENT): Likewise. + (SUPPORTS_STACK_ALIGNMENT): Likewise. + + * emit-rtl.c (gen_reg_rtx): Estimate stack alignment for + stack alignment when generating virtual registers. + + * function.c (assign_stack_local): Renamed to ... + (assign_stack_local_1): This. Add a parameter to indicate + if it is OK to reduce alignment. + (assign_stack_local): Use it. + (instantiate_new_reg): Instantiate virtual incoming args rtx + to vDRAP if stack realignment and DRAP is needed. + (assign_parms): Collect parameter/return type alignment and + contribute to stack_alignment_estimated. + (locate_and_pad_parm): Likewise. + (get_arg_pointer_save_area): Replace virtual_incoming_args_rtx + with crtl->args.internal_arg_pointer. + + * function.h (rtl_data): Add new field drap_reg, + max_used_stack_slot_alignment, stack_alignment_estimated, + stack_realign_needed, need_drap, stack_realign_processed and + stack_realign_finalized. + (stack_realign_fp): New macro. + (stack_realign_drap): Likewise. + + * global.c (compute_regsets): Frame pointer is needed when + stack is realigned. Can eliminate frame pointer when stack is + realigned and dynamic realigned argument pointer isn't used. + + * reload1.c (update_eliminables): Frame pointer is needed + when stack is realigned. + (init_elim_table): Can eliminate frame pointer when stack is + realigned and dynamic realigned argument pointer isn't used. + + * rtl.h (assign_stack_local_1): Declare new funtion. + + * target-def.h (TARGET_UPDATE_STACK_BOUNDARY): New. + (TARGET_GET_DRAP_RTX): Likewise. + (TARGET_CALLS): Add TARGET_UPDATE_STACK_BOUNDARY and + TARGET_GET_DRAP_RTX. + + * target.h (gcc_target): Add update_stack_boundary and + get_drap_rtx. + + * tree-vectorizer.c (vect_can_force_dr_alignment_p): Replace + STACK_BOUNDARY with MAX_STACK_ALIGNMENT. + +2008-07-30 Xuepeng Guo + H.J. Lu + + * dwarf2out.c (dw_fde_struct): Add stack_realignment, drap_reg, + vdrap_reg, stack_realign and drap_reg_saved. + (add_cfi): Don't allow redefining CFA when DRAP is used. + (reg_save): Handle stack alignment. + (dwarf2out_frame_debug_expr): Add rules 16-20 to handle stack + alignment. Don't generate DWARF information for (set fp sp) + when DRAP is used. + (dwarf2out_begin_prologue): Initialize drap_reg and vdrap_reg + to INVALID_REGNUM. + (int_loc_descriptor): Move prototype forward. Also define if + DWARF2_UNWIND_INFO is true. + (output_cfa_loc): Handle DW_CFA_expression. + (build_cfa_aligned_loc): New. + (based_loc_descr): Update assert for stack realign. For local + variables, use sp+offset when stack is aligned without drap and + fp+offset when stack is aligned with drap. For arguments, use + cfa+offset when drap is used to align stack. + +2008-07-30 Joey Ye + H.J. Lu + + * config/i386/i386.c (ix86_force_align_arg_pointer_string): + Break long line. + (ix86_gen_andsp): New. + (ix86_user_incoming_stack_boundary): Likewise. + (ix86_default_incoming_stack_boundary): Likewise. + (ix86_incoming_stack_boundary): Likewise. + (ix86_can_eliminate): Likewise. + (find_drap_reg): Likewise. + (ix86_update_stack_boundary): Likewise. + (ix86_get_drap_rtx): Likewise. + (ix86_finalize_stack_realign_flags): Likewise. + (TARGET_UPDATE_STACK_BOUNDARY): Likewise. + (TARGET_GET_DRAP_RTX): Likewise. + (override_options): Overide option value for new options. + (ix86_function_ok_for_sibcall): Remove check for + force_align_arg_pointer. + (ix86_handle_cconv_attribute): Likewise. + (ix86_function_regparm): Likewise. + (setup_incoming_varargs_64): Don't set stack_alignment_needed + here. + (ix86_va_start): Replace virtual_incoming_args_rtx with + crtl->args.internal_arg_pointer. + (ix86_select_alt_pic_regnum): Check DRAP register. + (ix86_save_reg): Replace force_align_arg_pointer with drap_reg. + (ix86_compute_frame_layout): Compute frame layout wrt stack + realignment. + (ix86_internal_arg_pointer): Just return + virtual_incoming_args_rtx. + (ix86_expand_prologue): Decide if stack realignment is needed + and generate prologue code accordingly. + (ix86_expand_epilogue): Generate epilogue code wrt stack + realignment is really needed or not. + + * config/i386/i386.h (MAIN_STACK_BOUNDARY): New. + (ABI_STACK_BOUNDARY): Likewise. + (PREFERRED_STACK_BOUNDARY_DEFAULT): Likewise. + (STACK_REALIGN_DEFAULT): Likewise. + (INCOMING_STACK_BOUNDARY): Likewise. + (MAX_STACK_ALIGNMENT): Likewise. + (ix86_incoming_stack_boundary): Likewise. + (FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN): Removed. + (REAL_PIC_OFFSET_TABLE_REGNUM): Updated to use BX_REG. + (CAN_ELIMINATE): Defined with ix86_can_eliminate. + (machine_function): Remove force_align_arg_pointer. + + * config/i386/i386.md (BX_REG): New. + (R13_REG): Likewise. + + * config/i386/i386.opt (mforce_drap): New. + (mincoming-stack-boundary): Likewise. + (mstackrealign): Add Init(-1). + + * config/i386/i386-protos.h (ix86_can_eliminate): New + +2008-07-30 H.J. Lu + + * doc/extend.texi: Update force_align_arg_pointer. + + * doc/invoke.texi: Document -mincoming-stack-boundary. Update + -mstackrealign. + + * doc/tm.texi (MAX_STACK_ALIGNMENT): Add macro. + (INCOMING_STACK_BOUNDARY): Likewise. + (TARGET_UPDATE_STACK_BOUNDARY): New target hook. + (TARGET_GET_DRAP_RTX): Likewise. + +2008-07-30 Andreas Schwab + + PR rtl-optimization/36929 + * dse.c (replace_inc_dec): Use emit_insn_before instead of + add_insn_before and fix argument order. + (replace_inc_dec_mem): Handle NULL rtx. + +2008-07-30 Andrew Jenner + + * config/arm/arm.c (arm_compute_static_chain_stack_bytes): New + function. + (arm_compute_initial_elimination_offset): Use it. + (arm_compute_save_reg_mask): Include static chain save slot when + calculating alignment. + (arm_get_frame_offsets): Ditto. + (thumb1_compute_save_reg_mask): Ensure we have a low register saved + that we can use to decrement the stack when the stack decrement + could be too big for an immediate value in a single insn. + (thumb1_expand_prologue): Avoid using r12 for stack decrement. + +2008-07-30 Richard Guenther + + PR tree-optimization/36967 + * tree-predcom.c (remove_stmt): Use gimple_assign_ssa_name_copy_p. + Release defs of statements we remove. + +2008-07-30 Nathan Froyd + + * config/arm/arm.c (arm_expand_prologue): Use 0-length rtvec + instead of NULL_RTVEC. + +2008-07-30 Nathan Froyd + + PR target/35866 + + * config/rs6000/rs6000.h (SLOW_UNALIGNED_ACCESS): Add clause for + vector modes. + +2008-07-30 Rafael Avila de Espindola + + * final.c (call_from_call_insn): New. + (final_scan_insn): Call assemble_external on FUNCTION_DECLs. + +2008-07-30 Paolo Bonzini + + * configure.ac: Substitute ADA_CFLAGS. + * configure: Regenerate. + * config.host: Remove mention of pa/x-ada and pa/x-ada-hpux10 files. + * Makefile.in: Remove mention of X_* variables. + * config/pa/x-ada-hpux10: Remove. + * config/pa/x-ada: Remove. + + * doc/fragments.texi: Update. + +2008-07-30 Olivier Hainque + + * config/mips/irix-crti.asm: .hide __gcc_init and __gcc_fini. + * config/mips/iris6.h (IRIX_SUBTARGET_LINK_SPEC, irix ld): Hide + __dso_handle explicitly here. + +2008-07-30 Manuel Lopez-Ibanez + + PR 34389 + * c-typeck.c (build_binary_op): Encapsulate code into... + * c-common.c (shorten_binary_op): ...this new function. + (conversion_warning): Use the new function. Handle non-negative + constant in bitwise-and. + * c-common.h (shorten_binary_op): Declare. + +2008-07-30 Olivier Hainque + + * scan.c (make_sstring_space): Add explicit conversions of + allocator's return value. + * fix-header.c (recognized_function): Likewise. + +2008-07-30 Ralf Wildenhues + + * doc/cpp.texi: Update to GFDL 1.2. + * doc/gcc.texi: Do not list GPL as Invariant Section. + * doc/gccint.texi: Likewise. Update copyright years. + * doc/install.texi: Update copyright years. + +2008-07-30 Alan Modra + + PR target/36955 + * config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Add + a use of pic_offset_table_rtx for -msecure-plt __tls_get_addr calls. + +2008-07-29 Jan Hubicka + + * c-decl.c (merge_decls): Do not handle DECL_INLINE. + (grokdeclarator): Likewise. + * langhooks.c (lhd_warn_unused_global_decl): Use + DECL_DECLARED_INLINE_P. + * print-tree.c (print_node): Remove DECL_INLINE check. + +2008-07-29 Richard Guenther + + PR tree-optimization/36945 + * tree-ssa-sccvn.h (copy_reference_ops_from_ref): Declare. + * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Export. + Record invariant addresses un-decomposed. + (copy_reference_ops_from_call): Record reference call + arguments properly. Simplify. + * tree-ssa-pre.c (create_component_ref_by_pieces_1): New + helper split out from ... + (create_component_ref_by_pieces): ... here. Simplify. + Prepare for recursive invocation for call arguments. + (create_expression_by_pieces): Adjust call to + create_component_ref_by_pieces. + (compute_avail): Process operand 2 of reference ops. + +2008-07-29 Richard Guenther + + * gimplify.c (gimplify_expr): Clear TREE_SIDE_EFFECTS for + OBJ_TYPE_REF. + +2008-07-29 Jakub Jelinek + + * c-format.c (check_format_types): Revert unwanted checkin. + +2008-07-29 Jan Hubicka + + * flags.h (flag_really_no_inline): Remove. + * cgraph.c (cgraph_function_possibly_inlined_p): Simplify. + * toplev.c (flag_really_no_inline): Remove. + * c-cppbuiltin.c (c_cpp_builtins): Use flag_no_inline. + * ipa-inline.c (cgraph_decide_inlining): Do not check flag_no_inline. + (cgraph_decide_inlining_incrementally): Likewise. + (compute_inline_parameters): Likewise. + * opts.c (decode_options): Simplify. + * c-opts.c (c_common_post_options): Do not set flag_no_inline. + * common.opt (finline): Initialize to 1. + * tree-inline.c (inlinable_function_p): Check flag_no_inline. + +2008-07-29 Jan Hubicka + + * predict.c (always_optimize_for_size_p): New function. + (optimize_bb_for_size_p, optimize_bb_for_speed_p, + optimize_edge_for_size_p, optimize_edge_for_speed_p, + optimize_insn_for_size_p, optimize_insn_for_speed_p): New global + functions. + (rtl_profile_for_bb, rtl_profile_for_edge, rtl_default_profile): New. + * function.c (prepare_function_start): Set default profile. + * function.h (rtl_data): Add maybe_hot_insn_p. + * cfgexpand.c (expand_gimple_basic_block): Set RTL profile. + (construct_exit_block): Likewise. + (tree_expand_cfg): Likewise. + * basic-block.h + (optimize_bb_for_size_p, optimize_bb_for_speed_p, + optimize_edge_for_size_p, optimize_edge_for_speed_p, + optimize_insn_for_size_p, optimize_insn_for_speed_p): Declare. + (rtl_profile_for_bb, rtl_profile_for_edge, default_rtl_profile): + Declare. + +2008-07-29 Manuel Lopez-Ibanez + + PR 34985 + * c-decl.c (merge_decls): Merge USED flags. + +2008-07-29 Kaz Kojima + + * config/sh/sh.c (sh_gimplify_va_arg_expr): Unshare the addr, + valist, next_fp, next_fp_tmp, next_fp_limit, next_o, next_o_limit, + next_stack, lab_false and lab_over trees. + +2008-07-28 Richard Guenther + + PR tree-optimization/36957 + * tree-flow.h (tree_ssa_useless_type_conversion): Remove. + (useless_type_conversion_p): Remove. + (types_compatible_p): Remove. + * gimple.h (tree_ssa_useless_type_conversion): Declare. + (useless_type_conversion_p): Declare. + (types_compatible_p): Declare. + (gimple_expr_type): Return the base type only if it is + trivially convertible to the subtype. + +2008-07-28 Andreas Tobler + + * configure.ac: Use the m4_do macro to concatenate the warnings into + one string in ACX_PROG_CC_WARNING_OPTS, + ACX_PROG_CC_WARNING_ALMOST_PEDANTIC and ACX_PROG_CC_WARNINGS_ARE_ERRORS. + * configure: Regenerate. + +2008-07-28 Richard Guenther + + * tree-ssa-pre.c (insert_into_preds_of_block): Remove dead code. + (insert_fake_stores): Remove. + (realify_fake_stores): Likewise. + (execute_pre): Remove dead code. + * tree-ssa-structalias.c (get_constraint_for_1): Remove tcc_unary + case. + (find_func_aliases): Deal with it here instead. + Re-enable gcc_unreachable call. + +2008-07-28 Richard Guenther + + Merge from gimple-tuples-branch. + + * ChangeLog.tuples: ChangeLog from gimple-tuples-branch. + * gimple.def: New file. + * gsstruct.def: Likewise. + * gimple-iterator.c: Likewise. + * gimple-pretty-print.c: Likewise. + * tree-gimple.c: Removed. Merged into ... + * gimple.c: ... here. New file. + * tree-gimple.h: Removed. Merged into ... + * gimple.h: ... here. New file. + + * Makefile.in: Add dependencies on GIMPLE_H and tree-iterator.h. + * configure.ac: Added support for ENABLE_GIMPLE_CHECKING and the + --enable-checking=gimple flag. + * config.in: Likewise. + * configure: Regenerated. + + * tree-ssa-operands.h: Tuplified. + * tree-vrp.c: Likewise. + * tree-loop-linear.c: Likewise. + * tree-into-ssa.c: Likewise. + * tree-ssa-loop-im.c: Likewise. + * tree-dump.c: Likewise. + * tree-complex.c: Likewise. + * cgraphbuild.c: Likewise. + * tree-ssa-threadupdate.c: Likewise. + * tree-ssa-loop-niter.c: Likewise. + * tree-pretty-print.c: Likewise. + * tracer.c: Likewise. + * gengtype.c: Likewise. + * tree-loop-distribution.c: Likewise. + * tree-ssa-loop-unswitch.c: Likewise. + * cgraph.c: Likewise. + * cgraph.h: Likewise. + * tree-ssa-loop-manip.c: Likewise. + * value-prof.c: Likewise. + * tree-ssa-loop-ch.c: Likewise. + * tree-tailcall.c: Likewise. + * value-prof.h: Likewise. + * tree.c: Likewise. + * tree.h: Likewise. + * tree-pass.h: Likewise. + * ipa-cp.c: Likewise. + * tree-scalar-evolution.c: Likewise. + * tree-scalar-evolution.h: Likewise. + * target.h: Likewise. + * lambda-mat.c: Likewise. + * tree-phinodes.c: Likewise. + * diagnostic.h: Likewise. + * builtins.c: Likewise. + * tree-ssa-alias-warnings.c: Likewise. + * cfghooks.c: Likewise. + * fold-const.c: Likewise. + * cfghooks.h: Likewise. + * omp-low.c: Likewise. + * tree-ssa-dse.c: Likewise. + * ipa-reference.c: Likewise. + * tree-ssa-uncprop.c: Likewise. + * toplev.c: Likewise. + * tree-gimple.c: Likewise. + * tree-gimple.h: Likewise. + * tree-chrec.c: Likewise. + * tree-chrec.h: Likewise. + * tree-ssa-sccvn.c: Likewise. + * tree-ssa-sccvn.h: Likewise. + * cgraphunit.c: Likewise. + * tree-ssa-copyrename.c: Likewise. + * tree-ssa-ccp.c: Likewise. + * tree-ssa-loop-ivopts.c: Likewise. + * tree-nomudflap.c: Likewise. + * tree-call-cdce.c: Likewise. + * ipa-pure-const.c: Likewise. + * c-format.c: Likewise. + * tree-stdarg.c: Likewise. + * tree-ssa-math-opts.c: Likewise. + * tree-ssa-dom.c: Likewise. + * tree-nrv.c: Likewise. + * tree-ssa-propagate.c: Likewise. + * ipa-utils.c: Likewise. + * tree-ssa-propagate.h: Likewise. + * tree-ssa-alias.c: Likewise. + * gimple-low.c: Likewise. + * tree-ssa-sink.c: Likewise. + * ipa-inline.c: Likewise. + * c-semantics.c: Likewise. + * dwarf2out.c: Likewise. + * expr.c: Likewise. + * tree-ssa-loop-ivcanon.c: Likewise. + * predict.c: Likewise. + * tree-ssa-loop.c: Likewise. + * tree-parloops.c: Likewise. + * tree-ssa-address.c: Likewise. + * tree-ssa-ifcombine.c: Likewise. + * matrix-reorg.c: Likewise. + * c-decl.c: Likewise. + * tree-eh.c: Likewise. + * c-pretty-print.c: Likewise. + * lambda-trans.c: Likewise. + * function.c: Likewise. + * langhooks.c: Likewise. + * ebitmap.h: Likewise. + * tree-vectorizer.c: Likewise. + * function.h: Likewise. + * langhooks.h: Likewise. + * tree-vectorizer.h: Likewise. + * ipa-type-escape.c: Likewise. + * ipa-type-escape.h: Likewise. + * domwalk.c: Likewise. + * tree-if-conv.c: Likewise. + * profile.c: Likewise. + * domwalk.h: Likewise. + * tree-data-ref.c: Likewise. + * tree-data-ref.h: Likewise. + * tree-flow-inline.h: Likewise. + * tree-affine.c: Likewise. + * tree-vect-analyze.c: Likewise. + * c-typeck.c: Likewise. + * gimplify.c: Likewise. + * coretypes.h: Likewise. + * tree-ssa-phiopt.c: Likewise. + * calls.c: Likewise. + * tree-ssa-coalesce.c: Likewise. + * tree.def: Likewise. + * tree-dfa.c: Likewise. + * except.c: Likewise. + * except.h: Likewise. + * cfgexpand.c: Likewise. + * tree-cfgcleanup.c: Likewise. + * tree-ssa-pre.c: Likewise. + * tree-ssa-live.c: Likewise. + * tree-sra.c: Likewise. + * tree-ssa-live.h: Likewise. + * tree-predcom.c: Likewise. + * lambda.h: Likewise. + * tree-mudflap.c: Likewise. + * ipa-prop.c: Likewise. + * print-tree.c: Likewise. + * tree-ssa-copy.c: Likewise. + * ipa-prop.h: Likewise. + * tree-ssa-forwprop.c: Likewise. + * ggc-page.c: Likewise. + * c-omp.c: Likewise. + * tree-ssa-dce.c: Likewise. + * tree-vect-patterns.c: Likewise. + * tree-ssa-ter.c: Likewise. + * tree-nested.c: Likewise. + * tree-ssa.c: Likewise. + * lambda-code.c: Likewise. + * tree-ssa-loop-prefetch.c: Likewise. + * tree-inline.c: Likewise. + * tree-inline.h: Likewise. + * tree-iterator.c: Likewise. + * tree-optimize.c: Likewise. + * tree-ssa-phiprop.c: Likewise. + * tree-vect-transform.c: Likewise. + * tree-object-size.c: Likewise. + * tree-outof-ssa.c: Likewise. + * cfgloop.c: Likewise. + * system.h: Likewise. + * tree-profile.c: Likewise. + * cfgloop.h: Likewise. + * c-gimplify.c: Likewise. + * c-common.c: Likewise. + * tree-vect-generic.c: Likewise. + * tree-flow.h: Likewise. + * c-common.h: Likewise. + * basic-block.h: Likewise. + * tree-ssa-structalias.c: Likewise. + * tree-switch-conversion.c: Likewise. + * tree-ssa-structalias.h: Likewise. + * tree-cfg.c: Likewise. + * passes.c: Likewise. + * ipa-struct-reorg.c: Likewise. + * ipa-struct-reorg.h: Likewise. + * tree-ssa-reassoc.c: Likewise. + * cfgrtl.c: Likewise. + * varpool.c: Likewise. + * stmt.c: Likewise. + * tree-ssanames.c: Likewise. + * tree-ssa-threadedge.c: Likewise. + * langhooks-def.h: Likewise. + * tree-ssa-operands.c: Likewise. + * config/alpha/alpha.c: Likewise. + * config/frv/frv.c: Likewise. + * config/s390/s390.c: Likewise. + * config/m32c/m32c.c: Likewise. + * config/m32c/m32c-protos.h: Likewise. + * config/spu/spu.c: Likewise. + * config/sparc/sparc.c: Likewise. + * config/i386/i386.c: Likewise. + * config/sh/sh.c: Likewise. + * config/xtensa/xtensa.c: Likewise. + * config/stormy16/stormy16.c: Likewise. + * config/ia64/ia64.c: Likewise. + * config/rs6000/rs6000.c: Likewise. + * config/pa/pa.c: Likewise. + * config/mips/mips.c: Likewise. + +2008-07-28 Simon Baldwin + + * c-pragma.c (handle_pragma_message): New function. + (init_pragma): Register handle_pragma_message. + * doc/extend.texi (Diagnostic Pragmas): Added #pragma message + documentation. + +2008-07-27 Victor Kaplansky + + PR tree-optimization/35252 + * tree-vect-analyze.c (vect_build_slp_tree): Make IMAGPART_EXPR and + REALPART_EXPR to be considered as same load operation. + +2008-07-27 Eric Botcazou + + PR tree-optimization/36830 + * tree-ssa-sccvn.c (vn_reference_op_compute_hash): Hash operand #2. + (expressions_equal_p): Return false if only one operand is null. + +2008-07-26 Gerald Pfeifer + + * doc/install.texi (powerpc-*-netbsd*): Remove redundant texinfo + version requirements. + +2008-07-26 Olivier Hainque + + * collect2.c (symkind): New enum. Symbol kinds we care about. + (is_ctor_dtor): Return symkind instead of int. Adjust prototype, + code and head comment accordingly. + (scan_prog_file): Use symkind names instead of bare integers. + +2008-07-25 Jan Hubicka + + * cgraph.c (cgraph_function_possibly_inlined_p): Do not rely on DECL_INLINE. + * cgraphunit.c (record_cdtor_fn): Do not initialize DECL_INLINE + (cgraph_preserve_function_body_p): Do not rely on DECL_INLINE. + * dojump.c (clear_pending_stack_adjust): Likewise. + * print-tree.c (print_node): Ignore DECL_INLINE. + * tree-inline.c (inlinable_function_p): Likewise. + +2008-07-25 Michael Meissner + + * doc/extend.texi (hot attribute): Document that the hot attribute + turns on -O3 for some ports. + (cold attribute): Document that the cold attribute turns on -Os + for some ports + + * doc/tm.texi (OPTIMIZATION_OPTIONS): Update documentation to + reflect function specific option support. + + * target.h (struct target_option_hooks): Add fields to say whether + the cold attribute implies -Os and the hot attribute implies -O3. + + * target-def.h (TARGET_OPTION_COLD_ATTRIBUTE_SETS_OPTIMIZATION): + By default, do not turn on -Os for cold functions. + (TARGET_OPTION_COLD_ATTRIBUTE_SETS_OPTIMIZATION): By default, do + not turn on -O3 for hot functions. + + * c-common.c (handle_hot_attribute): Use target hook to determine + if hot functions should enable -O3. + (handle_cold_attribute): Use target hook to determine if cold + functions should enable -Os. + + * config/i386/i386.c (ix86_target_string): Add -m3dnowa support. + (override_options): Move disable scheduling to + optimization_options. + (optimization_options): Disable scheduling here, not + override_options. + (TARGET_OPTION_COLD_ATTRIBUTE_SETS_OPTIMIZATION): Define. + (TARGET_OPTION_HOT_ATTRIBUTE_SETS_OPTIMIZATION): Define. + + * config/ia64/ia64.c (ia64_override_options): Move setting + scheduling flags to ia64_optimization_options. + (ia64_optimization_options): Disable scheduling options here, and + not in ia64_override_options. + (TARGET_OPTION_COLD_ATTRIBUTE_SETS_OPTIMIZATION): Define. + (TARGET_OPTION_HOT_ATTRIBUTE_SETS_OPTIMIZATION): Define. + +2008-07-25 H.J. Lu + + PR target/36936 + * config/i386/i386.c (override_options): Don't clear TARGET_CMOVE. + +2008-07-25 Martin Jambor + + PR tree-optimization/36926 + * ipa-prop.c (ipa_analyze_call_uses): Call + ipa_is_ssa_with_stmt_def instead of SSA_NAME_IS_DEFAULT_DEF. + +2008-07-25 Joseph Myers + + * config/arm/iwmmxt.md (movv8qi_internal, movv4hi_internal, + movv2si_internal): Add mem = reg alternative. + +2008-07-25 Andreas Tobler + + PR bootstrap/36918 + * config/sparc/sparc.h (DEFAULT_PCC_STRUCT_RETURN): Define + DEFAULT_PCC_STRUCT_RETURN to 127. + +2008-07-24 Jan Hubicka + + * cgraphbuild.c (record_reference): Drop non-unit-at-a-time code. + (build_cgraph_edges): Likewise. + * cgraph.c (cgraph_node): Do not update assembler hash. + (cgraph_remove_node): Drop non-unit-at-a-time code. + * tree-pass.h (pass_O0_always_inline): Remove. + * ipa-reference.c (gate_reference): Remove unit-at-a-time check. + * toplev.c (process_options): Flag unit-at-a-time does not imply + no section anchors. + * cgraphunit.c: Update comments. + (decide_is_function_needed): Drop non-unit-at-a-time mode. + (cgraph_assemble_pending_functions): Remove. + (cgraph_reset_node): Drop non-unit-at-a-time code. + (cgraph_finalize_function): Likewise. + (cgraph_analyze_function): Likewise. + (cgraph_finalize_compilation_unit): Likewise. + (cgraph_expand_function): Likewise. + (cgraph_optimize): Likesise. + (save_inline_function_body): Likewise. + * ipa-pure-const.c (gate_pure_const): Drop flag_unit_at_a_time check. + * tree-ssa-alias.c (maybe_be_aliased): Likewise. + * ipa-inline.c: Update comments. + (enum inlining_mode): remove INLINE_SPEED. + (cgraph_clone_inlined_nodes): Drop unit-at-a-time check. + (cgraph_mark_inline_edge): Likewise. + (try_inline): Likewise. + (cgraph_decide_inlining_incrementally): Likewise. + (cgraph_gate_inlining): Remove. + (cgraph_early_inlining): Remove flag_unit_at_a_time checks. + (cgraph_gate_early_inlining): Likewise. + (gate_inline_passes): Remove. + (pass_inline_parameters, pass_ipa_inline): Remove gates. + (cgraph_gate_O0_always_inline, cgraph_O0_always_inline, + pass_O0_always_inline): Remove. + * c-pch.c (c_pch_matching): Remove -funit-at-a-time. + * dwarf2out.c (reference_to_unused): Remove flag_unit_at_a_time check. + * opts.c (no_unit_at_a_time_default): Remove. + (decode_options): Remove flag_unit_at_a_time reset and warning. + * opts.h (no_unit_at_a_time_default): Remove. + * c-decl.c (diagnose_mismatched_decls): Do not require inline keyword + early in GNU dialect. + (merge_decls): Update comment; drop unit-at-a-time check. + (finish_decl): Likewise. + (grok_declaration): Remove flag_inline_trees code. + (finish_functions): Return on function returning non-void on all + statics. + * ipa-tye-escape.c (gate_type_escape_vars): Remove. + * cfgexpand.c (expand_one_static_var): Remove. + (expand_one_var): Remove expand_one_static_var call. + (expand_used_vars_for_block): Remove flag_unit_a_time check. + * c-opts.c (c_common_post_options): Remove flag_inline_trees code + and flag_unit_at_a-time compatibility checks. + * varasm.c (assemble_alias): Remove flag_unit_at_a_time check. + * tree-inline.c (flag_inline_trees): Remove. + (inlinable_function_p): Don't check it. + (expand_call_inline): Remove non-unit-at-a-time code. + * tree-inline.h (flag_inline_trees): Remove. + * tree-optimize.c (execute_early_local_optimizations): Remove + unit-at-a-time checks. + (tree_rest_of_compilation): Likewise. + * combine.c (setup_incoming_promotions): Likewise. + * tree-profile.c (tree_gen_ic_func_profiler): Likewise. + * tree-ssa-structalias.c (delete_points_to_sets): Likewise. + * passes.c (pass_inline_parameters): Update comments; remove + O0_alwaysinline pass. + (execute_one_ipa_transform_pass): Do not reset in_gimple_form. + (execute_one_pass): Likewise. + * i386.c (ix86_function_regparm): Remove unit-at-a-time check. + (ix86_function_sseregparm): Likewise. + * arm.c (arm_function_in_section_p): Likewise. + * bfin.c (bfin_load_pic_reg, bfin_function_ok_for_sibcall): Likewise. + * varpool.c: Update comments. + (decide_is_variable_needed): Remove unit-at-a-time checks. + (varpool_finalize_decl): Likewise. + +2008-07-24 Kaz Kojima + + * config/sh/sh.h (OPTIMIZATION_OPTIONS): Set flag_omit_frame_pointer + to 2 instead of -1. + (OVERRIDE_OPTIONS): Check if flag_omit_frame_pointer is equal + to 2. + +2008-07-24 Kai Tietz + + * config/i386/i386.c (get_dllimport_decl): Treat user_label_prefix for + imp symbol extension. + + 2008-07-23 Ian Lance Taylor + + * tree-vrp.c (infer_value_range): Ignore asm statements when + looking for memory accesses for -fdelete-null-pointer-checks. + +2008-07-24 Ben Elliston + + * config/spu/spu-c.c (__vector_keyword): New variable. + (vector_keyword): Likewise. + (spu_categorize_keyword): New function. + (spu_macro_to_expand): Likewise. + (spu_cpu_cpp_builtins): Enable context-sensitive macros if not + compiling an ISO C dialect. + +2008-07-24 Ben Elliston + + * config/rs6000/rs6000-c.c: Move GTY(()) markers to match + conventional usage. + +2008-07-23 Aaron W. LaFramboise + + * configure: Regenerate. + * configure.ac: Require texinfo 4.7. + * doc/install.texi: Document texinfo 4.7 requirement. + +2008-07-23 Martin Jambor + + * ipa-cp.c (ipcp_print_edge_profiles): Test for node->analyzed + rather than for DECL_SAVED_TREE. + * ipa-prop.c: Include diagnostic.h. + (ipa_check_stmt_modifications): Check LHS of GIMPLE_MODIFY_EXPRs + thoroughly. + (ipa_detect_param_modifications): Function rewritten from scratch. + (ipa_compute_jump_functions): Changed accesses to modification flags. + (ipa_free_node_params_substructures): Update flags destruction. + (ipa_node_duplication_hook): Update flags duplication. + (ipa_print_all_params_modified): Updated flag access. + * ipa-prop.h (struct ipa_param_flags): New structure. + (struct ipa_node_params): New field modification_analysis_done, + modified_flags changed into param_flags. + (ipa_is_ith_param_modified): Changed to use new flags. + * Makefile.in (ipa-prop.o): Add $(DIAGNOSTIC_H) to dependencies. + + * ipa-prop.c (ipa_print_all_jump_functions): Moved here from + ipa-cp.c and split into two functions. + (ipa_print_node_jump_functions): New function. + (compute_scalar_jump_functions): New function. + (type_like_member_ptr_p): New function. + (compute_pass_through_member_ptrs): New function. + (fill_member_ptr_cst_jump_function): New function. + (determine_cst_member_ptr): New function. + (compute_cst_member_ptr_arguments): New function. + (ipa_compute_jump_functions): Complete rewrite. + * ipa-prop.h (enum jump_func_type): Make explicit that we depend + on IPA_UNKNOWN being zero. Added value IPA_CONST_MEMBER_PTR. + (struct ipa_member_ptr_cst): New structure. + (union jump_func_value): New field member_cst. + * ipa-cp.c (ipcp_lat_is_insertable): New function. + (ipcp_lattice_from_jfunc): Produces bottom lattices for unhandled + jump function types. + (ipcp_print_all_lattices): Slight fprintf rearrangement. + (ipcp_print_all_structures): Call ipa_print_all_jump_functions + instead of ipcp_print_all_jump_functions. + (ipcp_insert_stage): Use ipcp_lat_is_insertable, create replace maps + only for replacable scalars. + + * doc/invoke.texi (Optimize options): Add description of + -findirect-inlining. + * common.opt (flag_indirect_inlining): New flag. + * opts.c (decode_options): Set flag_indirect_inlining when + optimize >= 3. + + * ipa-inline.c: Include ipa-prop.h. + (inline_indirect_intraprocedural_analysis): New function. + (inline_generate_summary): Allocate parameter and argument info + structures, call inline_indirect_intraprocedural_analysis on each + node when doing indirect inlining and deallocate indirect inlining + data structures in the end. + * ipa-prop.c (ipa_create_param_decls_array): Return if already done. + (free_all_ipa_structures_after_iinln): New function. + (free_all_ipa_structures_after_ipa_cp): Checks whether iinln will be + done. + * Makefile.in (ipa-inline.o): Added $(IPA_PROP_H) to dependencies. + + * cgraphbuild.c (compute_call_stmt_bb_frequency): New function. + (build_cgraph_edges): Call compute_call_stmt_bb_frequency instead + of computing the frequency separately. + (rebuild_cgraph_edges): Call compute_call_stmt_bb_frequency instead + of computing the frequency separately. + * ipa-cp.c (ipcp_print_all_structures): Replace a call to + ipa_print_all_param_modified with a call to ipa_print_all_param_flags. + * ipa-prop.c (ipa_get_member_ptr_load_param): New function. + (ipa_get_stmt_member_ptr_load_param): New function. + (ipa_is_ssa_with_stmt_def): New function. + (ipa_note_param_call): New function. + (ipa_analyze_call_uses): New function. + (ipa_analyze_stmt_uses): New function. + (ipa_analyze_params_uses): New function. + (ipa_free_node_params_substructures): Also free the param_calls linked + list. + (ipa_node_duplication_hook): Also duplicate the param_calls linked list. + (ipa_print_node_param_flags): New function. + (ipa_print_all_params_modified): Renamed to ipa_print_all_param_flags. + (ipa_print_all_param_flags): Calls ipa_print_node_param_flags. + * ipa-prop.h (struct ipa_param_flags): New field called. + (struct ipa_param_call_note): New structure. + (struct ipa_node_params): New fields param_calls and + uses_analysis_done. + (ipa_is_ith_param_called): New function. + * ipa-inline.c (inline_indirect_intraprocedural_analysis): Call + ipa_analyze_params_uses and dump parameter flags. + + * ipa-inline.c (cgraph_decide_recursive_inlining): Call + ipa_propagate_indirect_call_infos if performing indirect inlining, + pass a new parameter new_edges to it. + (add_new_edges_to_heap): New fucntion. + (cgraph_decide_inlining_of_small_functions): New vector + new_indirect_edges for newly found indirect edges , call + ipa_propagate_indirect_call_infos after inlining. + (cgraph_decide_inlining): Call ipa_propagate_indirect_call_infos after + inlining if performing indirect inlining. Call + free_all_ipa_structures_after_iinln when doing so too. + (inline_generate_summary): Do not call + free_all_ipa_structures_after_iinln here. + * ipa-prop.c (update_jump_functions_after_inlining): New function. + (print_edge_addition_message): New function. + (update_call_notes_after_inlining): New function. + (propagate_info_to_inlined_callees): New function. + (ipa_propagate_indirect_call_infos): New function. + * ipa-prop.h: Include cgraph.h + (struct ipa_param_call_note): Fields reordered, new field processed. + * cgraph.h (cgraph_edge): Shrink loop_nest field to 31 bits, add a new + flag indirect_call. + * cgraphunit.c (verify_cgraph_node): Allow indirect edges not to have + rediscovered call statements. + * cgraph.c (cgraph_create_edge): Initialize indirect_call to zero. + (dump_cgraph_node): Dump also the indirect_call flag. + (cgraph_clone_edge): Copy also the indirect_call flag. + * tree-inline.c (copy_bb): Do not check for fndecls from call + expressions, check for edge availability when moving clones. + (get_indirect_callee_fndecl): New function. + (expand_call_inline): If callee declaration is not apprent from + the statement, try calling get_indirect_callee_fndecl. Do not + issue warnings or call sorry when not inlinings an indirect edge. + * Makefile.in (IPA_PROP_H): Added $(CGRAPH_H) to dependencies. + + * ipa-prop.c (ipa_print_node_param_flags): Make the dump format a + bit more frandly to matching. + * testsuite/g++.dg/ipa/iinline-1.C: New testcase. + * testsuite/gcc.dg/ipa/iinline-1.c: New testcase. + * testsuite/gcc.dg/ipa/modif-1.c: New testcase. + +2008-07-23 Michael Meissner + + PR 36907 + * opth-gen.awk: Suppress function specific features when building + target libraries. + * optc-gen.awk: Ditto. + +2008-07-23 Manuel Lopez-Ibanez + + PR 35058 + * diagnostic.c (pedwarn): Add opt parameter. + (pedwarn0): New. + * c-tree.h (pedwarn_init): Add opt parameter. + (pedwarn_c90): Likewise. + (pedwarn_c99): Likewise. + * c-errors.c (pedwarn_c99): Likewise. + (pedwarn_c90): Likewise. + * toplev.h (pedwarn): Update declaration. + (pedwarn0): Declare. + * c-lex.c: All calls to pedwarn changed. + * builtins.c: All calls to pedwarn changed. + * toplev.c: All calls to pedwarn changed. + * c-decl.c: All calls to pedwarn changed. + * c-typeck.c: All calls to pedwarn changed. + * c-common.c: All calls to pedwarn changed. + * c-parser.c: All calls to pedwarn changed. + +2008-07-23 Michael Meissner + Karthik Kumar + + * attribs.c (file scope): Include c-common.h. + (decl_attributes): Add support for #pragma GCC optimize and + #pragma GCC option. + + * targhooks.c (default_can_inline_p): New function that is the + default for the TARGET_CAN_INLINE_P target hook. + + * targhooks.h (default_can_inline_p): Add declaration. + + * tree.c (cl_optimization_node): New static tree for building + OPTIMIZATION_NODE tree. + (cl_target_option_node): New static tree for building + TARGET_OPTION_NODE tree. + (cl_option_hash_table): New hash table for hashing + OPTIMIZATION_NODE and TARGET_OPTION_NODE trees. + (cl_option_hash_hash): New function to provide the hash value for + OPTIMIZATION_NODE and TARGET_OPTION_NODE trees. + (cl_option_hash_eq): New function to provide an equality test for + OPTIMIZATION_NODE and TARGET_OPTION_NODE trees. + (tree_code_size): Add support for OPTIMIZATION_NODE and + TARGET_OPTION_NODE trees. + (tree_code_structure): Add support for OPTIMIZATION_NODE and + TARGET_OPTION_NODE trees. + (build_optimization_node): Build a tree that has all of the + current optimization options. + (build_target_option_node): Build a tree that has the target + options that might be changed on a per function basis. + + * tree.h (file scope): Include options.h. + (DECL_FUNCTION_SPECIFIC_TARGET): New accessor macro. + (DECL_FUNCTION_SPECIFIC_OPTIMIZATION): Ditto. + (TREE_OPTIMIZATION): Ditto. + (TREE_TARGET_SPECIFIC): Ditto. + (struct tree_function_decl): Add fields for remembering the + current optimization options and target specific options. + (struct tree_optimization_option): New tree variant that remembers + the optimization options. + (struct tree_target_option): New tree variant that remembers the + target specific flags that might change for compiling a particular + function. + (union tree_node): Include tree_optimization_option and + tree_target_option fields. + (enum tree_index): Add TI_OPTIMIZATION_DEFAULT, + TI_OPTIMIZATION_CURRENT, TI_OPTIMIZATION_COLD, + TI_OPTIMIZATION_HOT, TI_TARGET_OPTION_DEFAULT, + TI_TARGET_OPTION_CURRENT, TI_CURRENT_OPTION_PRAGMA, + TI_CURRENT_OPTIMIZE_PRAGMA entries for saving function specific + optimization and target options. + (optimization_default_node): New macro to refer to global_trees + field. + (optimization_current_node): Ditto. + (optimization_cold_node): Ditto. + (optimization_hot_node): Ditto. + (target_option_default_node): Ditto. + (target_option_current_node): Ditto. + (current_option_pragma): Ditto. + (current_optimize_pragma): Ditto. + + * target.h (struct gcc_target): Add valid_option_attribute_p, + target_option_save, target_option_restore, target_option_print, + target_option_pragma_parse, and can_inline_p hooks. + + * toplev.h (parse_optimize_options): Add declaration. + (fast_math_flags_struct_set_p): Ditto. + + * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): New function to + adjust the current __OPTIMIZE__, etc. macros when #pragma GCC + optimize is used. + + * ipa-inline.c (cgraph_decide_inlining_of_small_function): Call + tree_can_inline_p hook to see if one function can inline another. + (cgraph_decide_inlining): Ditto. + (cgraph_decide_inlining_incrementally): Ditto. + + * opts.c (decode_options): Add support for running multiple times + to allow functions with different target or optimization options + than was specified on the command line. + (fast_math_flags_struct_set_p): New function that is similar to + fast_math_flags_set_p, except it uses the values in the + cl_optimization structure instead of global variables. + + * optc-gen.awk: Add support for TargetSave to allow a back end to + declare new fields that need to be saved when using function + specific options. Include flags.h and target.h in the options.c + source. Add support for Save to indicate which options can be set + for individual functions. Generate cl_optimize_save, + cl_optimize_restore, cl_optimize_print, cl_target_option_save, + cl_target_option_restore, cl_target_option_print functions to + allow functions to use different optimization or target options. + + * opt-functions.awk (var_type_struct): Return the type used for + storing the field in a structure. + + * opth-gen.awk: Add support for TargetSave to allow a back end to + declare new fields that need to be saved when using function + specific options. Add support for Save to indicate which options + can be set for individual functions. Only generate one extern for + Mask fields. Generate cl_optimization and cl_target_option + structures to remember optimization and target options. + + * treestruct.def (TS_OPTIMIZATION): Add support for garbage + collecting new tree nodes. + (TS_TARGET_OPTION): Ditto. + + * c-decl.c (merge_decls): Merge function specific target and + optimization options. + + * function.c (invoke_set_current_function_hook): If the function + uses different optimization options, change the global variables + to reflect this. + + * coretypes.h (struct cl_optimization): Add forward reference. + (struct cl_target_option): Ditto. + + * c-pragma.c (option_stack): New static vector to remember the + current #pragma GCC option stack. + (handle_pragma_option): New function to support #pragma GCC option + to change target options. + (optimize_stack): New static vector to remember the current + #pragma GCC optimize stack. + (handle_pragma_optimize): New function to support #pragma GCC + optimize to change optimization options. + (init_pragma): Add support for #pragma GCC optimize and #pragma + GCC option. + + * tree.def (OPTIMIZATION_NODE): New tree code for remembering + optimization options. + (TARGET_OPTION_NODE): New tree code for remembering certain target + options. + + * print-tree.c (print_node): Add support for OPTIMIZATION_NODE and + TARGET_OPTION_NODE trees. + + * common.opt (-O): Add Optimization flag. + (-Os): Ditto. + (-fmath-errno): Ditto. + (-falign-functions): Add UInteger flag to make sure flag gets full + int in cl_optimization structure. + (-falign-jumps): Ditto. + (-falign-labels): Ditto. + (-falign-loops): Ditto. + (-fsched-stalled-insns): Ditto. + (-fsched-stalled-insns-dep): Ditto. + + * target-def.h (TARGET_VALID_OPTION_ATTRIBUTE_P): Add default + definition. + (TARGET_OPTION_SAVE): Ditto. + (TARGET_OPTION_RESTORE): Ditto. + (TARGET_OPTION_PRINT): Ditto. + (TARGET_OPTION_PRAGMA_PARSE): Ditto. + (TARGET_CAN_INLINE_P): Ditto. + (TARGET_INITIALIZER): Add new hooks. + + * tree-inline.c (tree_can_inline_p): New function to determine + whether one function can inline another. Check if the functions + use compatible optimization options, and also call the backend + can_inline_p hook. + + * tree-inline.h (tree_can_inline_p): Add declaration. + + * c-common.c (c_common_attribute): Add support for option and + optimize attributes. + (handle_option_attribute): Add support for the option attribute to + allow the user to specify different target options for compiling a + specific function. + (handle_optimize_attribute): Add support for the optimize + attribute to allow the user to specify different optimization + options for compiling a specific function. + (handle_hot_attribute): Turn on -O3 optimization for this one + function if it isn't the default optimization level. + (handle_cold_attribute): Turn on -Os optimization for this one + function if it insn't the default optimization. + (const_char_p): New const char * typedef. + (optimize_args): New static vector to remember the optimization + arguments. + (parse_optimize_options): New function to set up the optimization + arguments from either the optimize attribute or #pragma GCC + optimize. + + * c-common.h (c_cpp_builtins_optimize_pragma): Add declaration. + (builtin_define_std): Ditto. + + * config.gcc (i[3467]86-*-*): Add i386-c.o to C/C++ languages. + Add t-i386 Makefile fragment to add i386-c.o and i386.o + dependencies. + (x86_64-*-*): Ditto. + + * Makefile.in (TREE_H): Add options.h. + (options.o): Add $(TARGET_H) $(FLAGS_H) dependencies. + + * doc/extend.texi (option attribute): Document new attribute. + (optimize attribute): Ditto. + (hot attribute): Document hot attribute sets -O3. + (cold attribute): Document cold attribute sets -Os. + (#pragma GCC option): Document new pragma. + (#pragma GCC optimize): Ditto. + + * doc/options.texi (TargetSave): Document TargetSave syntax. + (UInteger): Document UInteger must be used for certain flags. + (Save): Document Save option to create target specific options + that can be saved/restored on a function specific context. + + * doc/c-tree.texi (DECL_FUNCTION_SPECIFIC_TARGET): Document new + macro. + (DECL_FUNCTION_SPECIFIC_OPTIMIZATION): Ditto. + + * doc/tm.texi (TARGET_VALID_OPTION_ATTRIBUTE_P): Document new + hook. + (TARGET_OPTION_SAVE): Ditto. + (TARGET_OPTION_RESTORE): Ditto. + (TARGET_OPTION_PRINT): Ditto. + (TARGET_OPTION_PRAGMA_PARSE): Ditto. + (TARGET_CAN_INLINE_P): Ditto. + + * doc/invoke.texi (-mfpmath=sse+387): Document as an alias for + -mfpmath=sse,387. + (-mfpmath=both): Ditto. + +2008-07-23 Michael Meissner + Karthik Kumar + + * config/i386/i386.h (TARGET_ABM): Move switch into + ix86_isa_flags. + (TARGET_POPCNT): Ditto. + (TARGET_SAHF): Ditto. + (TARGET_AES): Ditto. + (TARGET_PCLMUL): Ditto. + (TARGET_CMPXCHG16B): Ditto. + (TARGET_RECIP): Move switch into target_flags. + (TARGET_FUSED_MADD): Ditto. + (ix86_arch_features): Make an unsigned char type. + (ix86_tune_features): Ditto. + (OVERRIDE_OPTIONS): Add bool argument to override_options call. + (TARGET_CPU_CPP_BUILTINS): Move into ix86_target_macros. + (REGISTER_TARGET_PRAGMAS): Define, call ix86_register_pragmas. + + * config/i386/i386.opt (arch): New TargetSave field to define + fields that need to be saved for function specific option + support. + (tune): Ditto. + (fpmath): Ditto. + (branch_cost): Ditto. + (ix86_isa_flags_explicit): Ditto. + (tune_defaulted): Ditto. + (arch_specified): Ditto. + (-m128-long-double): Add Save flag to save option for target + specific option support. + (-m80387): Ditto. + (-maccumulate-outgoing-args): Ditto. + (-malign-double): Ditto. + (-malign-stringops): Ditto. + (-mfancy-math-387): Ditto. + (-mhard-float): Ditto. + (-mieee-fp): Ditto. + (-minline-all-stringops): Ditto. + (-minline-stringops-dynamically): Ditto. + (-mms-bitfields): Ditto. + (-mno-align-stringops): Ditto. + (-mno-fancy-math-387): Ditto. + (-mno-push-args): Ditto. + (-mno-red-zone): Ditto. + (-mpush-args): Ditto. + (-mred-zone): Ditto. + (-mrtd): Ditto. + (-msseregparm): Ditto. + (-mstack-arg-probe): Ditto. + (-m32): Ditto. + (-m64): Ditto. + (-mmmx): Ditto. + (-m3dnow): Ditto. + (-m3dnowa): Ditto. + (-msse): Ditto. + (-msse2): Ditto. + (-msse3): Ditto. + (-msse4.1): Ditto. + (-msse4.2): Ditto. + (-msse4): Ditto. + (-mno-sse4): Ditto. + (-msse4a): Ditto. + (-msse5): Ditto. + (-mrecip): Move flag into target_flags. + (-mcld): Ditto. + (-mno-fused-madd): Ditto. + (-mfused-madd): Ditto. + (-mabm): Move flag into ix86_isa_flags. + (-mcx16): Ditto. + (-mpopcnt): Ditto. + (-msahf): Ditto. + (-maes): Ditto. + (-mpclmul): Ditto. + + * config/i386/i386-c.c: New file for #pragma support. + (ix86_target_macros_internal): New function to #define or #undef + target macros based when the user uses the #pragma GCC option to + change target options. + (ix86_pragma_option_parse): New function to add #pragma GCC option + support. + (ix86_target_macros): Move defining the target macros here from + TARGET_CPU_CPP_BUILTINS in i386.h. + (ix86_register_pragmas): Register the #pragma GCC option hook. If + defined, initialize any subtarget #pragmas. + + * config/i386/darwin.h (REGISTER_SUBTARGET_PRAGMAS): Rename from + REGISTER_TARGET_PRAGMAS. + + * config/i386/t-i386: New file for x86 dependencies. + (i386.o): Make dependencies mirror the include files used. + (i386-c.o): New file, add dependencies. + + * config/i386/i386-protos.h (override_options): Add bool + argument. + (ix86_valid_option_attribute_tree): Add declaration. + (ix86_target_macros): Ditto. + (ix86_register_macros): Ditto. + + * config/i386/i386.c (ix86_tune_features): Move initialization of + the target masks to initial_ix86_tune_features to allow functions + to have different target options. Make type unsigned char, + instead of unsigned int. + (initial_ix86_tune_features): New static vector to hold processor + masks for the tune variables. + (ix86_arch_features): Move initialization of the target masks to + initial_ix86_arch_features to allow functions to have different + target options. Make type unsigned char, instead of unsigned + int. + (initial_ix86_arch_features): New static vector to hold processor + masks for the arch variables. + (enum ix86_function_specific_strings): New enum to describe the + string options used for attribute((option(...))). + (ix86_target_string): New function to return a string that + describes the target options. + (ix86_debug_options): New function to print the current options in + the debugger. + (ix86_function_specific_save): New function hook to save the + function specific global variables in the cl_target_option + structure. + (ix86_function_specific_restore): New function hook to restore the + function specific variables from the cl_target_option structure to + the global variables. + (ix86_function_specific_print): New function hook to print the + target specific options in the cl_target_option structure. + (ix86_valid_option_attribute_p): New function hook to validate + attribute((option(...))) arguments. + (ix86_valid_option_attribute_tree): New function that is common + code between attribute((option(...))) and #pragma GCC option + support that parses the options and returns a tree holding the + options. + (ix86_valid_option_attribute_inner_p): New helper function for + ix86_valid_option_attribute_tree. + (ix86_can_inline_p): New function hook to decide if one function + can inline another on a target specific basis. + (ix86_set_current_function); New function hook to switch target + options if the user used attribute((option(...))) or #pragma GCC + option. + (ix86_tune_defaulted): Move to static file scope from + override_options. + (ix86_arch_specified): Ditto. + (OPTION_MASK_ISA_AES_SET): New macro for moving switches into + ix86_isa_flags. + (OPTION_MASK_ISA_PCLMUL_SET): Ditto. + (OPTION_MASK_ISA_ABM_SET): Ditto. + (OPTION_MASK_ISA_POPCNT_SET): Ditto. + (OPTION_MASK_ISA_CX16_SET): Ditto. + (OPTION_MASK_ISA_SAHF_SET): Ditto. + (OPTION_MASK_ISA_AES_UNSET): Ditto. + (OPTION_MASK_ISA_PCLMUL_UNSET): Ditto. + (OPTION_MASK_ISA_ABM_UNSET): Ditto. + (OPTION_MASK_ISA_POPCNT_UNSET): Ditto. + (OPTION_MASK_ISA_CX16_UNSET): Ditto. + (OPTION_MASK_ISA_SAHF_UNSET): Ditto. + (struct ptt): Move to static file scope from override_options. + (processor_target_table): Ditto. + (cpu_names): Ditto. + (ix86_handle_option): Add support for options that are now isa + options. + (override_options): Add support for declaring functions that + support different target options than were specified on the + command line. Move struct ptt, processor_target_table, cpu_names, + ix86_tune_defaulted, ix86_arch_specified to static file scope. + Add bool argument. Fix up error messages so the appropriate error + is given for either command line or attribute. + (ix86_previous_fndecl): New static to remember previous function + declaration to see if we need to change target options. + (ix86_builtins_isa): New array to record the ISA of each builtin + function. + (def_builtin): Always create the builtin function, even if the + current ISA doesn't support it. + (ix86_init_mmx_sse_builtins): Remove TARGET_AES and TARGET_PCLMUL + tests for those builtins. + (ix86_init_builtins): Remove TARGET_MMX test for calling + ix86_init_mmx_sse_builtins. + (ix86_expand_builtin): If the current ISA doesn't support a given + builtin, signal an error. + (TARGET_VALID_OPTION_ATTRIBUTE_P): Set target hook. + (TARGET_SET_CURRENT_FUNCTION): Ditto. + (TARGET_OPTION_SAVE): Ditto. + (TARGET_OPTION_RESTORE): Ditto. + (TARGET_OPTION_PRINT): Ditto. + (TARGET_CAN_INLINE_P): Ditto. + +2008-07-22 Rafael Avila de Espindola + + * c-typeck.c (build_external_ref): Don't call assemble_external. + * final.c (output_operand): Call assemble_external. + +2008-07-21 DJ Delorie + + * config/h8300/h8300.c (h8300_hard_regno_scratch_ok): New. + (TARGET_HARD_REGNO_SCRATCH_OK): Define. + +2008-07-21 Ulrich Weigand + + * config/spu/spu.md ("div3"): Convert into expander, move + original insn and splitter contents into ... + ("*div3_fast"): ... this new pattern. Enable only if + flag_unsafe_math_optimizations. Add dummy scratch register. + ("*div3_adjusted"): New insn and splitter. Enable only if + !flag_unsafe_math_optimizations. Returns number with next + highest magnitude if this is still less or equal to the true + quotient in magnitude. + +2008-07-21 Rafael Avila de Espindola + + * Makefile.in: Replace toplev.h with TOPLEV_H. + * c-decl.c (merge_decls): Don't set DECL_IN_SYSTEM_HEADER. + * c-lex.c (fe_file_change): Don't set in_system_header. + * c-parser.c (c_token): Remove in_system_header. + (c_lex_one_token): Don't set in_system_header. + (c_parser_set_source_position_from_token): Don't set in_system_header. + * diagnostic.c (diagnostic_report_diagnostic): Use location from + diagnostic_info. + (warning_at): New. + * diagnostic.h (diagnostic_report_warnings_p): Add LOC argument. + * flags.h (in_system_header): Remove. + * function.c (saved_in_system_header): Remove. + (push_cfun): Don't set in_system_header. + (pop_cfun): Don't set in_system_header. + (push_struct_function): Don't set in_system_header. + * input.h (expanded_location): Add sysp. + (in_system_header_at): New. + (in_system_header): New. + * toplev.c (in_system_header): Remove. + * toplev.h: Include input.h + (warning_at): New. + * tree-cfg.c (execute_warn_function_return): Call warning_at. + * tree-ssa.c (warn_uninit): Call warning_at. + (warn_uninitialized_var): Update calls to warn_uninit. + (warn_uninitialized_phi): Update calls to warn_uninit. + * tree.c (make_node_stat): Don't set DECL_IN_SYSTEM_HEADER. + (expand_location): Initialize xloc.sysp. + * tree.h (DECL_IN_SYSTEM_HEADER): Use in_system_header_at. + (tree_decl_with_vis): Remove in_system_header_flag. + +2008-07-21 Andreas Krebbel + + PR target/36822 + * recog.c (asm_operand_ok): Change the order of the extra + memory constraint checks. + +2008-07-20 Andrew Pinski + + PR tree-opt/36879 + * tree-switch-conversion.c (build_one_array): Call + varpool_mark_needed_node and varpool_finalize_decl + instead of assemble_variable. + +2008-07-19 Jan Hubicka + + * cgraph.c (cgraph_add_new_function): Do early local passes. + * tree-nrv.c (gate_pass_return_slot): New gate. + (pass_nrv): Add the gate. + * tree-ssa-coalese.c (hash_ssa_name_by_var, eq_ssa_name_by_var): New + functions. + (coalesce_ssa_name): Coalesce SSA names. + * tree-ssa-live.c (remove_unused_locals): Be more conservative when + not optimizing so unused user vars remains visible. + * common.opt (flag_tree_ter): Always enable by default. + * tree-ssa-ter.c: Include flags.h + (is_replaceable_p): Check that locations match; when aliasing is missing + be conservative about loads. + * tree-optimize.c (gate_init_datastructures): Remove. + (pass_init_datastructures): New. + * passes.c: Reorder passes so we always go into SSA. + +2008-07-19 Jan Hubicka + + * doc/extend.texi (flatten attribute): Remove note about unit-at-a-time + * doc/invoke.texi (--combine): Likewise. + (-finline-functions-called-once): Update levels when enabled. + (-funit-at-a-time): Document new behaviour. + (-ftoplevel-reorder): Document that it is enabled -O0 and imply + -fno-section-anchors when disabled explicitly. + (inline params): They are not ignored now. + (precompiled headers): Remove unit-at-a-time as being incompatible. + * opts.c (decode_options): Handle unit-at-a-time as alias; + imply -fno-section-anchors when toplevel reorder is disabled + explicitly. + * common.opt (ftoplevel-reorder): Set default value to 2. + (funit-at-a-time): Set default value to 1. + * config/rs6000/rs6000.c (optimization_options): Set section anchors + to 2. + +2008-07-19 Jan Hubicka + + * builtins.c (expand_builtin_int_roundingfn, + expand_builtin_int_roundingfn_2): Do not take subtarget argument; + it is not useful. + +2008-07-19 Richard Guenther + + PR bootstrap/36864 + * tree-ssa-sccvn.h (get_constant_value_id): Declare. + * tree-ssa-sccvn.c (get_constant_value_id): New function. + * tree-ssa-pre.c (get_expr_value_id): For newly created + constant value-ids make sure to add the expression to its + expression-set. + +2008-07-19 Jakub Jelinek + + PR middle-end/36877 + * omp-low.c (expand_omp_atomic_fetch_op): Make sure the + return value of the builtin is ignored. + +2008-07-19 Olivier Hainque + + * doc/tm.texi (MALLOC_ABI_ALIGNMENT): New macro. Alignment, in + bits, a C conformant malloc implementation has to provide. + * defaults.h (MALLOC_ABI_ALIGNMENT): Default to BITS_PER_WORD. + +2008-07-19 Joseph Myers + + PR target/36780 + PR target/36827 + * reload.c (find_reloads_subreg_address): Only reload address if + reloaded == 0, not for reloaded != 1. + + Revert: + 2008-07-16 Joseph Myers + * config/m32c/m32c.c (BIG_FB_ADJ): Move definition earlier. + (m32c_legitimate_address_p): Handle "++rii" addresses created by + m32c_legitimize_reload_address. + + 2008-07-15 Kaz Kojima + * config/sh/sh.h (GO_IF_LEGITIMATE_ADDRESS): Allow + (plus (plus (reg) (const_int)) (const_int)) when reload_in_progress. + +2008-07-19 Olivier Hainque + + * dwarf2out.c (add_subscript_info): New explicit COLLAPSE_P + argument, saying whether nested array are to be collapsed + into a single array type DIE with multiple subscripts. + (gen_array_type_die): Factorize comments about the MIPS_DEBUG_INFO + issues, centralize the nested array types collapsing control and + disable the transformation for Ada. + +2008-07-18 Uros Bizjak + + PR target/36786 + * config/i386/i386.md (x86_64_shift_adj_1): Rename from + x86_64_shift_adj. + (x86_64_shift_adj_2): New expander. + (x86_64_shift_adj_3): Ditto. + * config/i386/i386.c (ix86_split_ashr): Use gen_x86_64_shift_adj_3 + to split TImode operands. + (ix86_split_ashl): Use gen_x86_64_shift_adj_2 to split TImode operands. + (ix86_split_lshr): Ditto. + +2008-07-18 Kris Van Hees + + * c-common.c (c_stddef_cpp_builtins): Define __CHAR16_TYPE__ + and __CHAR32_TYPE__. + * c-typeck.c (digest_init): Support char16_t and char32_t. + (set_nonincremental_init_from_string): Idem. + +2008-07-18 H.J. Lu + + PR middle-end/36859 + * builtins.c (std_gimplify_va_arg_expr): Limit alignment to + PREFERRED_STACK_BOUNDARY. + * config/i386/i386.c (ix86_gimplify_va_arg): Likewise. + 2008-07-18 H.J. Lu PR middle-end/36858 @@ -93,8 +1618,7 @@ * cfg.c (dump_reg_info): Avoid C++ keywords. * dwarf2asm.c (dw2_force_const_mem, dw2_asm_output_encoded_addr_rtx): Likewise. - * except.c (gen_eh_region, add_action_record, output_ttype): - Likewise. + * except.c (gen_eh_region, add_action_record, output_ttype): Likewise. * expmed.c (expand_shift): Likewise. * global.c (find_reg): Likewise. * graph.c (draw_edge): Likewise. @@ -164,10 +1688,10 @@ * config/sh/sh.md (symGOT_load): Don't add REG_EQUAL note. 2008-07-15 Bob Wilson - + * config/xtensa/libgcc-xtensa.ver: New file. * config/xtensa/t-linux (SHLIB_MAPFILES): Append libgcc-xtensa.ver. - + 2008-07-15 Kaveh R. Ghazi * df-problems.c (df_set_note): Avoid C++ keywords. @@ -195,11 +1719,9 @@ * caller-save.c (insert_restore, insert_save, insert_one_insn): Likewise. * combine.c (subst, simplify_set, make_extraction, - make_compound_operation, known_cond, simplify_shift_const_1): - Likewise. + make_compound_operation, known_cond, simplify_shift_const_1): Likewise. * cse.c (make_regs_eqv, merge_equiv_classes, validate_canon_reg, - fold_rtx, equiv_constant, cse_insn, cse_process_notes_1): - Likewise. + fold_rtx, equiv_constant, cse_insn, cse_process_notes_1): Likewise. 2008-07-15 Richard Guenther @@ -303,8 +1825,7 @@ * tree-ssa-sccvn.c (pre_info): Remove. (switch_to_PRE_table): Likewise. - (free_scc_vn): Do not clear SSA_NAME_VALUE. - Do not free pre_info. + (free_scc_vn): Do not clear SSA_NAME_VALUE. Do not free pre_info. (set_hashtable_value_ids): Do not create value-ids for the optimistic tables. (run_scc_vn): Remove double test. Remove bogus special-case @@ -326,8 +1847,7 @@ 2008-07-14 Richard Guenther - * tree-ssa-pre.c (insert_into_preds_of_block): Do not call - convert. + * tree-ssa-pre.c (insert_into_preds_of_block): Do not call convert. 2008-07-14 Andreas Krebbel @@ -357,8 +1877,7 @@ 2008-07-13 Daniel Berlin - * tree-ssa-pre.c (fully_constant_expression): Add fold_convert - calls. + * tree-ssa-pre.c (fully_constant_expression): Add fold_convert calls. (create_expression_by_pieces): Fix typo. (do_regular_insertion): Use debug counter here too. @@ -424,7 +1943,7 @@ * config/h8300/h8300.md (length): Fix branch offset limit. -2008-07-11 Anatoly Sokolov +2008-07-11 Anatoly Sokolov * config/avr/avr-protos.h (avr_peep2_scratch_safe): Remove prototype. * config/avr/avr.c (avr_peep2_scratch_safe): Remove. @@ -489,8 +2008,7 @@ 2008-07-10 Daniel Berlin - * tree-ssa-pre.c (create_expression_by_pieces): Add fold_convert - calls. + * tree-ssa-pre.c (create_expression_by_pieces): Add fold_convert calls. (eliminate): Ditto. (execute_pre): Call loop_optimizer_finalize in early exit. @@ -564,7 +2082,7 @@ callers. * omp-low.c (lower_omp_sections, lower_omp_single, lower_omp_master, lower_omp_ordered, lower_omp_critical, lower_omp_for, - create_task_copyfn, lower_omp_taskreg, execute_lower_omp): + create_task_copyfn, lower_omp_taskreg, execute_lower_omp): * tree-ssa-ccp.c (convert_to_gimple_builtin): Likewise. * tree-sra.c (generate_element_init): Likewise. * tree-mudflap.c (execute_mudflap_function_ops, @@ -670,16 +2188,15 @@ 2008-07-08 Jakub Jelinek - * tree-sra.c (sra_build_assignment): Handle CONVERT_EXPR_P - dst. + * tree-sra.c (sra_build_assignment): Handle CONVERT_EXPR_P dst. 2008-07-05 Daniel Berlin - + Fix PR tree-optimization/23455 Fix PR tree-optimization/35286 Fix PR tree-optimization/35287 * Makefile.in (OBJS-common): Remove tree-vn.o. - tree-vn.o: Remove. + (tree-vn.o): Remove. * dbgcnt.def: Add treepre_insert debug counter. * gcc/tree-flow.h (add_to_value): Updated for other changes. (debug_value_expressions): Ditto. @@ -717,30 +2234,26 @@ (value_id_constant_p): Ditto. (vn_reference_compute_hash): De-staticify. (copy_reference_ops_from_ref): Don't use get_callee_fndecl. - Disable some code with a FIXME. - Remove VALUE_HANDLE use. - (valueize_refs): Update opcode if it changes from ssa name to - constant. + Disable some code with a FIXME. Remove VALUE_HANDLE use. + (valueize_refs): Update opcode if it changes from ssa name to constant. (vn_reference_lookup_1): Add new argument. (vn_reference_lookup): Ditto. (vn_reference_lookup_pieces): New function. - (vn_reference_insert): Add return type. Modify to deal with value - ids. + (vn_reference_insert): Add return type. Modify to deal with value ids. (vn_reference_insert_pieces): New function. (vn_nary_op_compute_hash): De-staticify. (vn_nary_op_eq): Ditto. (vn_nary_op_lookup_pieces): New function. - (vn_nary_op_lookup): Add new argument. + (vn_nary_op_lookup): Add new argument. (vn_nary_op_insert_pieces): New function. - (vn_nary_op_insert): Add return type. Modify to deal with value - ids. + (vn_nary_op_insert): Add return type. Modify to deal with value ids. (vn_phi_insert): Ditto. (visit_unary_op): Update for callee changes. (visit_binary_op): Ditto. (visit_reference_op_load): Ditto. (visit_reference_op_store): Ditto. (init_scc_vn): Init next_value_id, constant_to_value_id and - constant_value_ids. + constant_value_ids. (free_scc_vn): Free them. (set_hashtable_value_ids): New function. (run_scc_vn): Use it. @@ -753,7 +2266,7 @@ above). * tree.c (iterative_hash_hashval_t): Made non-static * tree.h (iterative_hash_hashval_t): Declare it. - + 2008-07-08 Martin Jambor * ipa-cp.c (ipcp_init_cloned_node): Call ipa_check_create_node_params @@ -785,7 +2298,7 @@ (ipa_register_cgraph_hooks): New function. (ipa_unregister_cgraph_hooks): New function. (free_all_ipa_structures_after_ipa_cp): New function. - + * ipa-prop.h: Include vec.h. (ipa_node_params_t): New typedef with vector types for it. (ipa_edge_args_t): New typedef with vector types for it. @@ -793,10 +2306,10 @@ (IPA_EDGE_REF): Changed to access an on-the-side vector. (ipa_check_create_node_params): New function. (ipa_check_create_edge_args): New function. - + * Makefile.in (IPA_PROP_H): New variable for ipa-prop.h. Converted all users. - + 2008-07-07 Tom Tromey * configure, config.in: Rebuilt. @@ -813,17 +2326,16 @@ 2008-07-07 Fernando Pereira - * tree-ssa-structalias.c (compute_points_to_sets): Add call to - dump_constraint_graph. - (dump_constraint_edge): New function. - (dump_constraint_graph): New function. - (debug_constraint_graph): New function. - (dump_constraint): Removed useless comparison. - * tree-ssa-structalias.h (dump_constraint_edge): Declare. - (dump_constraint_graph): Declare. - (debug_constraint_graph): Declare. - * tree-dump.c (struct dump_option_value_info): Declare - TDF_GRAPH. + * tree-ssa-structalias.c (compute_points_to_sets): Add call to + dump_constraint_graph. + (dump_constraint_edge): New function. + (dump_constraint_graph): New function. + (debug_constraint_graph): New function. + (dump_constraint): Removed useless comparison. + * tree-ssa-structalias.h (dump_constraint_edge): Declare. + (dump_constraint_graph): Declare. + (debug_constraint_graph): Declare. + * tree-dump.c (struct dump_option_value_info): Declare TDF_GRAPH. 2008-07-07 Kai Tietz @@ -880,7 +2392,7 @@ -print-sysroot option. (main): Print the sysroot if requested. * doc/invoke.texi (Debugging Options): Document -print-sysroot. - + 2008-07-07 Ralf Wildenhues PR target/34780 @@ -888,8 +2400,7 @@ 2008-07-07 Daniel Jacobowitz - * function.c (assign_parm_remove_parallels): Check mode of - entry_parm. + * function.c (assign_parm_remove_parallels): Check mode of entry_parm. (assign_parm_setup_block_p): Also check mode of entry_parm. 2008-07-07 Richard Guenther @@ -934,7 +2445,7 @@ 2008-07-07 Maxim Kuvyrkov * config/m68k/m68k.c (m68k_return_in_memory): Fix arguments types. - + 2008-07-07 Mark Shinwell * config/m68k/lb1sf68.asm: Add PIC macros for Linux targets. @@ -1059,14 +2570,13 @@ 2008-07-04 Roger Sayle - * config/rs6000/host-darwin.c (darwin_rs6000_extra_siganls): Cast + * config/rs6000/host-darwin.c (darwin_rs6000_extra_signals): Cast the "void*" result of xmalloc to "char*" to fix bootstrap breakage. 2008-07-04 Kaz Kojima PR target/36684 - * config/sh/sh.h (OVERRIDE_OPTIONS): Disable -fschedule-insns - for PIC. + * config/sh/sh.h (OVERRIDE_OPTIONS): Disable -fschedule-insns for PIC. 2008-07-04 Jakub Jelinek @@ -1111,8 +2621,7 @@ Likewise. * ggc-common.c (hash_descriptor, eq_descriptor, hash_ptr, eq_ptr, loc_descriptor, ggc_prune_ptr, ggc_free_overhead, - final_cmp_statistic, cmp_statistic, dump_ggc_loc_statistics): - Likewise. + final_cmp_statistic, cmp_statistic, dump_ggc_loc_statistics): Likewise. * varray.c (hash_descriptor, eq_descriptor, varray_descriptor): Likewise. @@ -1334,7 +2843,7 @@ 2008-07-02 Martin Jambor * tree-switch-conversion.c: Included timevar.h which I forgot before. - + 2008-07-02 Martin Jambor * tree-switch-conversion.c: Included timevar.h @@ -1462,7 +2971,7 @@ 2008-06-30 Kenneth Zadeck * ifcvt.c (cond_move_process_if_block): Free vectors on false return. - + 2008-06-30 Kenneth Zadeck PR rtl-optimization/34744 @@ -1491,7 +3000,7 @@ (ix86_init_builtins): Here. (ix86_scalar_mode_supported_p): Always return true for TFmode. (ix86_c_mode_for_suffix): Always return TFmode and XFmode for - 'q' and 'w', respectively. + 'q' and 'w', respectively. * config/i386/i386.md (movtf): Check TARGET_SSE2 instead of TARGET_64BIT. @@ -2375,7 +3884,7 @@ 2008-06-22 Andy Hutchinson * config/avr/avr.h (SUPPORTS_INIT_PRIORITY): Define. - + 2008-06-22 Laurynas Biveinis PR middle-end/34906 @@ -2523,7 +4032,7 @@ * tree-ssa-loop-im.c (mem_ref_in_stmt, memref_hash, memref_eq, memref_free, gather_mem_refs_stmt, vtoe_hash, vtoe_eq, vtoe_free, record_vop_access, get_vop_accesses, get_vop_stores): Likewise. - * tree-ssa-loop-prefetch.c (determine_loop_nest_reuse): Likewise. + * tree-ssa-loop-prefetch.c (determine_loop_nest_reuse): Likewise. * tree-ssa-sccvn.c (VN_INFO_GET, free_phi, free_reference, vn_nary_op_insert): Likewise. * tree-ssa.c (redirect_edge_var_map_add, @@ -2849,20 +4358,20 @@ 2008-06-17 Eric B. Weddington * config/avr/avr.c (avr_mcu_t): Remove atmega32hvb. - * config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): Likewise. - * config/avr/t-avr (MULTILIB_MATCHES): Likewise. + * config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): Likewise. + * config/avr/t-avr (MULTILIB_MATCHES): Likewise. 2008-06-17 Eric B. Weddington * config/avr/avr.c (avr_mcu_t): Add attiny167. - * config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): Likewise. - * gcc/config/avr/t-avr (MULTILIB_MATCHES): Likewise. + * config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): Likewise. + * gcc/config/avr/t-avr (MULTILIB_MATCHES): Likewise. 2008-06-17 Eric B. Weddington * config/avr/avr.c (avr_mcu_t): Add atmega32u4. - * config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): Likewise. - * config/avr/t-avr (MULTILIB_MATCHES): Likewise. + * config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): Likewise. + * config/avr/t-avr (MULTILIB_MATCHES): Likewise. 2008-06-17 Bernhard Fischer @@ -2923,7 +4432,7 @@ (delete_unmarked_insns): Don't handle libcall blocks. (preserve_libcall_for_dce): Remove. (prescan_insns_for_dce): Don't special-case libcall block insns. - * reload1 (reload): Don't handle libcall notes. + * reload1 (reload): Don't handle libcall notes. * doc/rtl.texi (REG_LIBCALL, REG_RETVAL, REG_LIBCALL_ID): Remove documentation. @@ -2937,7 +4446,7 @@ * config/avr/avr.c (avr_mcu_t): Add atmega32m1. * config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): Likewise. - * config/avr/t-avr (MULTILIB_MATCHES): Likewise. + * config/avr/t-avr (MULTILIB_MATCHES): Likewise. 2008-06-16 Ralf Wildenhues @@ -2958,7 +4467,7 @@ 2008-06-015 Andy Hutchinson PR target/36336 - * config/avr/avr.h (LEGITIMIZE_RELOAD_ADDRESS): Add check for + * config/avr/avr.h (LEGITIMIZE_RELOAD_ADDRESS): Add check for reg_equiv_constant. 2008-06-15 Maxim Kuvyrkov @@ -3034,7 +4543,7 @@ Nathan Sidwell Maxim Kuvyrkov Richard Sandiford - + * config/mips/mips-modes.def: Add V8QI, V4HI and V2SI modes. * config/mips/mips-protos.h (mips_expand_vector_init): New. * config/mips/mips-ftypes.def: Add function types for Loongson-2E/2F @@ -3337,7 +4846,7 @@ 2008-06-09 Andy Hutchinson PR middle-end/36447 - * simplify-rtx.c (simplify_subreg): Add check for shift count + * simplify-rtx.c (simplify_subreg): Add check for shift count greater than size. 2008-06-09 Richard Sandiford @@ -3452,7 +4961,7 @@ * doc/invoke.texi (Wenum-compare): Mention that it is enabled by default. - + 2008-06-08 Joseph Myers PR tree-optimization/36218 @@ -3466,8 +4975,8 @@ PR target/36424 * config/avr/avr.h (HARD_REGNO_RENAME_OK): Define. - * config/avr/avr.c (avr_hard_regno_rename_ok): New function. - * config/avr/avr-protos.h (avr_hard_regno_rename_ok): New prototype. + * config/avr/avr.c (avr_hard_regno_rename_ok): New function. + * config/avr/avr-protos.h (avr_hard_regno_rename_ok): New prototype. 2008-06-07 Danny Smith @@ -3795,7 +5304,7 @@ Rename parallel_nesting_level to taskreg_nesting_level. (scan_omp_task): New function. (lower_rec_input_clauses): Don't run constructors for firstprivate - explicit task vars which are initialized by *_omp_cpyfn*. + explicit task vars which are initialized by *_omp_cpyfn*. Pass outer var ref to omp_clause_default_ctor hook if OMP_CLAUSE_PRIVATE_OUTER_REF or OMP_CLAUSE_LASTPRIVATE. Replace OMP_CLAUSE_REDUCTION_PLACEHOLDER decls in @@ -4069,11 +5578,11 @@ PR target/30243 * builtins.c (expand_builtin_signbit): Don't take lowpart when - register is already smaller or equal to required mode. + register is already smaller or equal to required mode. 2008-06-04 Xinliang David Li - * tree-call-cdce.c: New file. + * tree-call-cdce.c: New file. (cond_dead_built_in_calls): New static variable. (input_domain): New struct. (check_pow): New function. @@ -4248,7 +5757,7 @@ * config/i386/mingw32.h (EXTRA_OS_CPP_BUILTINS): Replace TARGET_64BIT_MS_ABI by DEFAULT_ABI compare to MS_ABI. -2008-06-02 Andy Hutchinson +2008-06-02 Andy Hutchinson PR target/34879 * config/avr/avr.c (TARGET_BUILTIN_SETJMP_FRAME_VALUE): Redefine. @@ -4384,10 +5893,10 @@ * config/avr/avr.md (UNSPECV_WRITE_SP_IRQ_ON): New constants. (UNSPECV_WRITE_SP_IRQ_OFF): (Ditto.). (movhi_sp_r_irq_off, movhi_sp_r_irq_on): New insn. - * config/avr/avr.c (expand_prologue, expand_epilogue): Use - movhi_sp_r_irq_off and movhi_sp_r_irq_on insns for writing to the + * config/avr/avr.c (expand_prologue, expand_epilogue): Use + movhi_sp_r_irq_off and movhi_sp_r_irq_on insns for writing to the stack pointer register. - (output_movhi): Remove code for interrupt specific writing to the + (output_movhi): Remove code for interrupt specific writing to the stack pointer register. 2008-05-31 Richard Guenther @@ -4516,7 +6025,7 @@ call clobber check for NMTs. 2008-05-28 Seongbae Park - + * value-prof.c (tree_ic_transform): Use HOST_WIDEST_INT_PRINT_DEC for printing gcov_type. @@ -4754,9 +6263,9 @@ that the bitfield is of integral type before testing its precision. 2008-05-27 Trevor Smigiel - Sa Liu + Sa Liu - * config/spu/spu.c (spu_init_libfuncs): Add __multi3, __divti3, + * config/spu/spu.c (spu_init_libfuncs): Add __multi3, __divti3, __modti3, __udivti3, __umodti3 and __udivmodti4. * config/spu/t-spu-elf (LIB2FUNCS_STATIC_EXTRA): Add files that implement TImode mul and div functions. @@ -4795,7 +6304,7 @@ * config/avr/avr.md ("call_prologue_saves"): Use hi8(gs())/lo8(gs()) instead of pm_lo8/pm_hi8 to makes this call working on avr6. - * config/avr/avr.c (expand_prologue): Tune "call_prologue" + * config/avr/avr.c (expand_prologue): Tune "call_prologue" optimization for 'avr6' architecture. 2008-05-26 Andy Hutchinson @@ -5333,7 +6842,7 @@ * tree-data-ref.c (dr_analyze_indices): Replace resolve_mixers with instantiate_scev. (analyze_siv_subscript): Pass in the loop nest number. - Call evolution_function_is_affine_in_loop instead of + Call evolution_function_is_affine_in_loop instead of evolution_function_is_affine_p. (analyze_overlapping_iterations): Pass in the loop nest number. @@ -5399,7 +6908,7 @@ 2008-05-19 Xinliang David Li - * tree-ssa-dce.c: Revert patches of 2008-05-17 and 2008-05-18. + * tree-ssa-dce.c: Revert patches of 2008-05-17 and 2008-05-18. * opts.c: Ditto. * common.opt: Ditto. * doc/invoke.texi: Ditto. @@ -5458,7 +6967,7 @@ 2008-05-18 Xinliang David Li * gcc/tree-ssa-dce.c: Coding style fix. - (check_pow): Documentation comment. + (check_pow): Documentation comment. (check_log): Documenation comment. Coding style fix. (is_unnecessary_except_errno_call): Ditto. (gen_conditions_for_pow): Ditto. @@ -5466,7 +6975,7 @@ (gen_shrink_wrap_conditions): Ditto. (shrink_wrap_one_built_in_calls): Ditto. * gcc/doc/invoke.texi: Better documentation string. - * ChangeLog: Fix wrong change log entries from + * ChangeLog: Fix wrong change log entries from May 17 checkin on function call DCE. 2008-05-17 Kaz Kojima @@ -5478,7 +6987,7 @@ * doc/rtl.texi (RTL_CONST_CALL_P, RTL_PURE_CALL_P): Fixed typos. * df-problems.c (simulation routines): Fixed block comment to properly say how to add forwards scanning functions. - + 2008-05-17 Eric Botcazou * tree-inline.c (setup_one_parameter): Remove dead code. @@ -5491,8 +7000,8 @@ 2008-05-17 Xinliang David Li * gcc/tree-ssa-dce.c (cond_dead_built_in_calls): New static variable. - (check_pow, check_log, is_unnecessary_except_errno_call): New - functions to check for eliminating math functions that are pure + (check_pow, check_log, is_unnecessary_except_errno_call): New + functions to check for eliminating math functions that are pure except for setting errno. (gen_conditions_for_pow, gen_conditionas_for_log): New functions to general condition expressions for shrink-wrapping pow/log calls. @@ -5555,7 +7064,7 @@ 2008-05-16 Kenneth Zadeck * tree-ssa-dse (max_stmt_uid): Removed. - (get_stmt_uid, dse_possible_dead_store_p, dse_optimize_stmt, + (get_stmt_uid, dse_possible_dead_store_p, dse_optimize_stmt, tree_ssa_dse): Encapsulate all uses of stmt_ann->uid. * tree-ssa-sccvn.c (compare_ops, init_scc_vn): Ditto. * function.h (cfun.last_stmt_uid): New field. @@ -5634,7 +7143,7 @@ write_summary, read_summary. * cgraphunit.c (cgraph_process_new_functions): Changed call from pass_ipa_inline.function_generate_summary, to - compute_inline_parameters. + compute_inline_parameters. * ipa-inline.c (compute_inline_parameters): Made public and added node parameter. (compute_inline_parameters_for_current): New function. @@ -5644,19 +7153,19 @@ (pass_ipa_inline): Updated for new IPA_PASS structure. * passes.c (execute_ipa_summary_passes): Now is called once per pass rather than once per node*pass. - + 2008-05-15 Anatoly Sokolov - * config/avr/avr.c (avr_base_arch_macro, avr_have_movw_lpmx_p, + * config/avr/avr.c (avr_base_arch_macro, avr_have_movw_lpmx_p, avr_have_mul_p, avr_asm_only_p): Remove variables. (avr_override_options): Remove initialization of removed variables. - (avr_file_start): Convert removed variables to fields of - 'struct base_arch_s *avr_current_arch'. + (avr_file_start): Convert removed variables to fields of + 'struct base_arch_s *avr_current_arch'. * config/avr/avr.h (TARGET_CPU_CPP_BUILTINS): (Ditto.). (AVR_HAVE_MUL): (Ditto.). (AVR_HAVE_MOVW): (Ditto.). - (AVR_HAVE_LPMX): (Ditto.). - (avr_base_arch_macro, avr_have_movw_lpmx_p, avr_have_mul_p, + (AVR_HAVE_LPMX): (Ditto.). + (avr_base_arch_macro, avr_have_movw_lpmx_p, avr_have_mul_p, avr_asm_only_p): Remove declaration. 2008-05-15 Diego Novillo @@ -5672,7 +7181,7 @@ (record_truncated_value): Turn it into a for_each_rtx callback. (record_truncated_values): New function. (combine_instructions): Call note_uses with record_truncated_values. - Change name of check_conversion to check_promoted_subreg. + Change name of check_conversion to check_promoted_subreg. 2008-05-15 Janis Johnson @@ -5956,14 +7465,14 @@ * optabs.c (prepare_cmp_insn): Changed LCT_PURE_MAKE_BLOCK to LCT_PURE and LCT_CONST_MAKE_BLOCK to LCT_CONST in calls to - emit_library_call_value. + emit_library_call_value. * builtins.c (expand_builtin_powi, expand_builtin_memcmp): Ditto. * tree.h (ECF_LIBCALL_BLOCK): Removed. - * calls.c (initialize_argument_information, precompute_arguments, + * calls.c (initialize_argument_information, precompute_arguments, expand_call, emit_library_call_value_1): Remove ECF_LIBCALL_BLOCK. (precompute_arguments): Removed flags parameter. * rtl.h (LCT_CONST_MAKE_BLOCK, LCT_PURE_MAKE_BLOCK): Removed. - + 2008-05-14 Richard Guenther * tree-ssa-dse.c (dse_possible_dead_store_p): Remove dead code. @@ -6151,7 +7660,7 @@ 2008-05-10 Kenneth Zadeck * gcse.c (store_killed_in_insn): Negated call to RTL_CONST_CALL_P. - + 2008-05-10 H.J. Lu * config/i386/i386.c (bdesc_ptest): Removed. @@ -6294,7 +7803,7 @@ CONVERT_EXPR_P. (CONVERT_EXPR_P): Define. (CASE_CONVERT): Define. - + 2008-05-08 Kenneth Zadeck PR middle-end/36117 @@ -6378,7 +7887,7 @@ 2008-05-08 David Daney Richard Sandiford - + * config/mips/mips.md (mips_expand_compare_and_swap_12): Handle special case of constant zero operands. * config/mips/mips.c (mips_expand_compare_and_swap_12): Zero extend @@ -6603,9 +8112,9 @@ (analyze_function): Rename DECL_IS_PURE to DECL_PURE_P. (static_execute): Set looping true for recursive functions. Undo setting state to IPA_NEITHER for recursive functions. - * cse.c (cse_insn): + * cse.c (cse_insn): * ifcvt.c (noce_can_store_speculate_p): Changed - CONST_OR_PURE_CALL_P and pure_call_p to RTL_CONST_CALL_P or + CONST_OR_PURE_CALL_P and pure_call_p to RTL_CONST_CALL_P or RTL_CONST_OR_PURE_CALL_P. * dse.c (scan_insn): Ditto. * local-alloc.c (validate_equiv_mem, memref_used_between_p): Ditto. @@ -6647,7 +8156,7 @@ DECL_PURE_P. * tree-cfg.c (update_call_expr_flags): Do not clear tree side effects for looping pure or const calls. - (verify_gimple_expr): Added verification code. + (verify_gimple_expr): Added verification code. * config/alpha/alpha.c (alpha_legitimize_address, alpha_emit_xfloating_libcall): Changed CONST_OR_PURE_CALL_P to RTL_CONST_CALL_P. @@ -6941,14 +8450,14 @@ (ipcp_redirect): Removed newly unused local variable callee. (ipcp_redirect): Removed (a bit confusing) local variable type. (ipcp_insert_stage): Added local variable info. - (ipcp_cval_changed): Renamed to ipcp_lattice_changed, parameters + (ipcp_cval_changed): Renamed to ipcp_lattice_changed, parameters renamed too (ipcp_formal_create): Removed. (ipcp_method_cval_set): Removed. (ipcp_propagate_stage): Renamed lattice variables. (ipcp_method_cval_set_cvalue_type): Removed. (ipcp_method_cval_print): Renamed to ipcp_print_all_lattices - (ipcp_print_all_lattices): Changed printed strings to refer to + (ipcp_print_all_lattices): Changed printed strings to refer to lattices rather than cvals. (ipcp_method_cval_init): Renamed to ipcp_initialize_node_lattices (ipcp_propagate_const): Changed formal parameters. @@ -6959,7 +8468,7 @@ (ipcp_after_propagate): Renamed to ipcp_change_tops_to_bottom (ipcp_callsite_param_print): Renamed to ipcp_print_all_jump_functions (ipcp_profile_mt_count_print): Renamed to ipcp_print_func_profile_counts - (ipcp_print_func_profile_counts): Changed string from "method" to + (ipcp_print_func_profile_counts): Changed string from "method" to "function" (ipcp_profile_cs_count_print): Renamed to ipcp_print_call_profile_counts (ipcp_profile_edge_print): Renamed to ipcp_print_edge_profiles @@ -6969,7 +8478,7 @@ (ipcp_lat_is_const): Changed parameters and made inline. (ipcp_replace_map_create): Renamed to ipcp_create_replace_map (ipcp_redirect): Renamed to ipcp_need_redirect_p - (ipcp_need_redirect_p): Calls ipcp_lat_is_const instead of using + (ipcp_need_redirect_p): Calls ipcp_lat_is_const instead of using the predicate condition directly (ipcp_propagate_stage): Added local variable args. Removed local variable callee. (Both are mere code simplifications.) @@ -7096,13 +8605,13 @@ * gthr-single.h: Add in required interface elements as per gthr.h. Add stub types for __gthread_key_t, __gthread_once_t. Add defines for __GTHREAD_ONCE_INIT, __GTHREAD_RECURSIVE_MUTEX_INIT. - Generalize UNUSED macro. + Generalize UNUSED macro. (__gthread_once): Add. (__gthread_key_create): Add. (__gthread_key_delete): Add. (__gthread_getspecific): Add. (__gthread_setspecific): Add. - + 2008-05-05 Andrew Pinski * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): If we have @@ -7184,7 +8693,7 @@ * doc/invoke.texi (max-flow-memory-locations): Removed. * params.def (PARAM_MAX_FLOW_MEMORY_LOCATIONS): Removed. - + 2008-05-03 Richard Guenther PR middle-end/34973 @@ -7466,13 +8975,13 @@ * ipa-cp.c (ipcp_init_stage): Calls ipa_set_called_with_variable_arg instead of setting number of formal parameters to zero. - (ipcp_init_stage): Do not set the number of actual parameters to zero + (ipcp_init_stage): Do not set the number of actual parameters to zero either. (ipcp_propagate_stage): Explicitly skipping all calls to nodes which are called with variable number of arguments. (ipcp_insert_stage): Explicitely skipping all nodes which are called with variable number of arguments. - (ipcp_callsite_param_print): Skipps callsites to nodes with varaible + (ipcp_callsite_param_print): Skipps callsites to nodes with varaible number of parameters. * ipa-prop.h (struct ipa_node_params): Added flag @@ -7484,13 +8993,13 @@ (ipa_is_called_with_var_arguments): Added. (ipa_get_ith_param): Added. All readers of param_decls converted to use it instead. - (ipa_set_cs_argument_count): Added, sole writer to argument_count - changed to use it. + (ipa_set_cs_argument_count): Added, sole writer to argument_count + changed to use it. (ipa_get_cs_argument_count): Added, all readers of argument_count changed to cal it. - (ipa_get_ith_jump_func): Added. Accessors of jump values changed + (ipa_get_ith_jump_func): Added. Accessors of jump values changed to use it. - + * ipa-prop.h (struct ipcp_formal): Renamed to ipcp_lattice (struct ipcp_lattice): Renamed cval_type to type (struct ipa_node_params): ipcp_cval renamed to ipcp_lattices @@ -7502,9 +9011,9 @@ (build_const_val): Changed the type of parameter cvalue to tree (ipcp_propagate_const): Changed the type of parameter cvalue to tree (ipcp_method_cval_set_cvalue_type): Renamed parameter cval_type1 to type - - * ipa-prop.h (struct ipcp_formal): Replaced cvalue with tree called - constant + + * ipa-prop.h (struct ipcp_formal): Replaced cvalue with tree called + constant * ipa-prop.c (ipa_methodlist_init): Renamed to ipa_init_func_list (ipa_methodlist_not_empty): Removed, the sole user now checks directly @@ -7522,7 +9031,7 @@ (ipa_method_tree_map_create): Removed. (ipa_method_compute_tree_map): Renamed to ipa_create_param_decls_array (ipa_create_param_decls_array): Creates the array itself - (ipa_create_param_decls_array): Temporary variable info instead of + (ipa_create_param_decls_array): Temporary variable info instead of a few dereferences. (ipa_method_formal_compute_count): Renamed to ipa_count_formal_params (ipa_method_compute_modify): Renamed to ipa_detect_param_modifications @@ -7534,7 +9043,7 @@ (ipa_edges_create): Renamed to ipa_create_all_edge_args (ipa_edges_free): Renamed to ipa_free_all_edge_args (ipa_nodes_free): Integrated into ipa_free_all_node_params and removed - (ipa_free_all_node_params): Deallocation to jump_functions moved to + (ipa_free_all_node_params): Deallocation to jump_functions moved to ipa_free_all_edge_args (ipa_method_tree_print): Renamed to ipa_print_all_tree_maps (ipa_method_modify_print): Renamed to ipa_print_all_params_modified @@ -7545,22 +9054,22 @@ (ipa_methodlist_next_method_set): Removed. (ipa_method_is_modified): Removed. (ipa_method_modify_create): Removed. - (ipa_method_modify_init): Temporary variable info instead of a few + (ipa_method_modify_init): Temporary variable info instead of a few dereferences. - (ipa_detect_param_modifications): Temporary variable info instead of + (ipa_detect_param_modifications): Temporary variable info instead of a few dereferences. - (ipa_compute_jump_functions): Temporary variable info instead of + (ipa_compute_jump_functions): Temporary variable info instead of a few dereferences. (ipa_method_modify_set): Removed. (ipa_method_tree_map): Renamed to ipa_get_param_decl_index - (ipa_get_param_decl_index): Now accepts struct ipa_node_params rather + (ipa_get_param_decl_index): Now accepts struct ipa_node_params rather than craph_node as the first parameter. (ipa_method_modify_stmt): Renamed to ipa_check_stmt_modifications (ipa_method_modify_init): Removed. - (ipa_compute_jump_functions): Added a temp variable instead of + (ipa_compute_jump_functions): Added a temp variable instead of repeatadly dereferencing the cgraph_edge.aux pointer (ipa_callsite_param_set_type): Removed. - (ipa_compute_jump_functions): i renamed to index and moved to + (ipa_compute_jump_functions): i renamed to index and moved to an inner block (ipa_callsite_param_set_info_type_formal): Removed. (ipa_callsite_param_set_info_type): Removed. @@ -7571,9 +9080,9 @@ * ipa-prop.h (enum cvalue_type): Renamed to ipa_lattice_type, prefixed all values with IPA_. Changed all users. - (enum jump_func_type): Rnamed UNKNOWN_IPATYPE to IPA_UNKNOWN, - CONST_IPATYPE to IPA_CONST, CONST_IPATYPE_REF to IPA_CONST_REF - and FORMAL_IPATYPE IPA_PASS_THROUGH. + (enum jump_func_type): Rnamed UNKNOWN_IPATYPE to IPA_UNKNOWN, + CONST_IPATYPE to IPA_CONST, CONST_IPATYPE_REF to IPA_CONST_REF + and FORMAL_IPATYPE IPA_PASS_THROUGH. (union parameter_info): Renamed to jump_func_value. (union jump_func_value): Renamed value to constant (struct ipa_jump_func): Renamed info_type to value @@ -7730,7 +9239,7 @@ * tree-ssa-loop-manip.c (find_uses_to_rename_use): Only record uses outside of the loop. (tree_duplicate_loop_to_header_edge): Only verify loop-closed SSA - form if it is available. + form if it is available. * tree-flow.h (tree_unroll_loops_completely): Add extra parameter. * passes.c (init_optimization_passes): Schedule complete inner loop unrolling pass before the first CCP pass after final inlining. @@ -8072,9 +9581,9 @@ (init_elim_table): Update. 2008-04-25 Bob Wilson - + * optabs.c (expand_float): Fix REG_EQUAL for UNSIGNED_FLOAT libcall. - + 2008-04-25 H.J. Lu * config/i386/sse.md (mov): Replace SSEMODEI with SSEMODE. @@ -8145,7 +9654,7 @@ of code delimited by two edges in the CFG. (separate_decls_in_loop_name): Renamed separate_decls_in_region_name. (separate_decls_in_loop_stmt): Renamed separate_decls_in_region_stmt. - (separate_decls_in_loop): Renamed separate_decls_in_region. Isolate + (separate_decls_in_loop): Renamed separate_decls_in_region. Isolate the case of parallelisation of reductions. (expr_invariant_in_region_p): New. @@ -8312,7 +9821,7 @@ PR middle-end/36003 * passes.c (init_optimization_passes): Remove pass_fast_rtl_byte_dce. - + 2008-04-22 Uros Bizjak PR target/29096 @@ -8403,14 +9912,14 @@ * dbgcnt.def (ra_byte_scan): Added. * dbgcnt.c (dbg_cnt): Added code to print message to dump_file - when the last hit happens for a counter. + when the last hit happens for a counter. * timevar.def (TV_DF_BYTE_LR): New variable. * tree-pass.h (pass_fast_rtl_byte_dce): New pass. * passes.c (pass_fast_rtl_byte_dce): New pass. * fwprop.c (update_df): Added mode to call df_ref_create. Renamed DF_REF_WIDTH and DF_REF_OFFSET to DF_REF_EXTRACT_WIDTH and DF_REF_EXTRACT_OFFSET. - * df.h (DF_BYTE_LR, DF_BYTE_LR_BB_INFO, DF_BYTE_LR_IN, + * df.h (DF_BYTE_LR, DF_BYTE_LR_BB_INFO, DF_BYTE_LR_IN, DF_BYTE_LR_OUT, df_byte_lr): New macro. (df_mm): New enum. (df_ref_extract): Added mode field. @@ -8418,7 +9927,7 @@ DF_REF_EXTRACT_OFFSET. (DF_REF_EXTRACT_MODE): New macro. (df_byte_lr_bb_info): New structure. - (df_print_byte_regset, df_compute_accessed_bytes, + (df_print_byte_regset, df_compute_accessed_bytes, df_byte_lr_add_problem, df_byte_lr_get_regno_start, df_byte_lr_get_regno_len, df_byte_lr_simulate_defs, df_byte_lr_simulate_uses, @@ -8429,9 +9938,9 @@ (df_byte_lr_get_bb_info): New inline function. * df-scan.c (df_ref_record, df_uses_record, df_ref_create_structure): Added mode parameter. - (df_ref_create, df_notes_rescan, df_ref_record, df_def_record_1, + (df_ref_create, df_notes_rescan, df_ref_record, df_def_record_1, df_defs_record, df_uses_record, df_get_conditional_uses, - df_get_call_refs, df_insn_refs_collect, df_bb_refs_collect, + df_get_call_refs, df_insn_refs_collect, df_bb_refs_collect, df_entry_block_defs_collect, df_exit_block_uses_collect): Added mode parameter to calls to df_ref_record, df_uses_record, df_ref_create_structure. @@ -8442,25 +9951,25 @@ * df-core.c (df_print_byte_regset): New function. * df-byte-scan.c: New file. * df-problems.c (df_rd_transfer_function): Removed unnecessary - calls to BITMAP_FREE. + calls to BITMAP_FREE. (df_byte_lr_problem_data, df_problem problem_BYTE_LR): New structure. (df_byte_lr_get_regno_start, df_byte_lr_get_regno_len, - df_byte_lr_set_bb_info, df_byte_lr_free_bb_info, - df_byte_lr_check_regs, df_byte_lr_expand_bitmap, + df_byte_lr_set_bb_info, df_byte_lr_free_bb_info, + df_byte_lr_check_regs, df_byte_lr_expand_bitmap, df_byte_lr_alloc, df_byte_lr_reset, df_byte_lr_bb_local_compute, df_byte_lr_local_compute, df_byte_lr_init, - df_byte_lr_confluence_0, df_byte_lr_confluence_n, - df_byte_lr_transfer_function, df_byte_lr_free, + df_byte_lr_confluence_0, df_byte_lr_confluence_n, + df_byte_lr_transfer_function, df_byte_lr_free, df_byte_lr_top_dump, df_byte_lr_bottom_dump, - df_byte_lr_add_problem, df_byte_lr_simulate_defs, + df_byte_lr_add_problem, df_byte_lr_simulate_defs, df_byte_lr_simulate_uses, df_byte_lr_simulate_artificial_refs_at_top, df_byte_lr_simulate_artificial_refs_at_end): New function. * dce.c (byte_dce_process_block): New function. (dce_process_block): au is now passed in rather than computed locally. Changed loops that look at artificial defs to not look - for conditional or partial ones, because there never are any. - (fast_dce): Now is able to drive byte_dce_process_block or + for conditional or partial ones, because there never are any. + (fast_dce): Now is able to drive byte_dce_process_block or dce_process_block depending on the kind of dce being done. (rest_of_handle_fast_dce): Add parameter to fast_dce. (rest_of_handle_fast_byte_dce): New function. @@ -8508,14 +10017,14 @@ pointer_may_wrap_p to disable some false positives. 2008-04-18 Kris Van Hees - + * c-common.c (CHAR16_TYPE, CHAR32_TYPE): New macros. (fname_as_string): Match updated cpp_interpret_string prototype. (fix_string_type): Support char16_t* and char32_t*. (c_common_nodes_and_builtins): Add char16_t and char32_t (and derivative) nodes. Register as builtin if C++0x. (c_parse_error): Support CPP_CHAR{16,32}. - * c-common.h (RID_CHAR16, RID_CHAR32): New elements. + * c-common.h (RID_CHAR16, RID_CHAR32): New elements. (enum c_tree_index) PR c/35739 @@ -8737,7 +10246,7 @@ unused. Move filter, exc_ptr, ttype_data, ehspec_data, action_record_data and exception_handler_label_map, ehr_stackadj, ehr_handler, ehr_label, - sjlj_fc, sjlj_exit_after to rth_eh in function.h. + sjlj_fc, sjlj_exit_after to rth_eh in function.h. Remove call_site_data_used, call_site_data_size. Turn call_site_record into vector in function.h. (note_current_region_may_contain_throw): Remove. @@ -8747,7 +10256,7 @@ add_ttypes_entry, add_ehspec_entry, assign_filter_values, build_post_landing_pads, dw2_build_landing_pads, sjlj_assign_call_site_values, sjlj_mark_call_sites, - sjlj_emit_function_enter, sjlj_emit_function_enter, + sjlj_emit_function_enter, sjlj_emit_function_enter, sjlj_emit_function_exit, sjlj_emit_dispatch_table, sjlj_build_landing_pads, finish_eh_generation, remove_exception_handler_label, remove_eh_handler, @@ -8973,7 +10482,7 @@ (*extendsfdf2): Macroize insn pattern from *absextendsfdf2 and *negextendsfdf2 patterns using absneg code iterator. * config/i386/sse.md (2): Macroize expander from - abs2 and neg2 patterns using absneg code iterator. + abs2 and neg2 patterns using absneg code iterator. 2008-04-10 Andreas Krebbel @@ -9213,10 +10722,10 @@ 2008-04-08 Anatoly Sokolov - * config/avr/avr.h (TARGET_CPU_CPP_BUILTINS): Define - __AVR_HAVE_EIJMP_EICALL__ macro if device have EIJMP and EICALL + * config/avr/avr.h (TARGET_CPU_CPP_BUILTINS): Define + __AVR_HAVE_EIJMP_EICALL__ macro if device have EIJMP and EICALL instructions. - * config/avr/avr.c (avr_mcu_types): Set AVR31 architecture for + * config/avr/avr.c (avr_mcu_types): Set AVR31 architecture for atmega103 device. 2008-04-07 Jan Hubicka @@ -9237,7 +10746,7 @@ (assign_stack_local): Update (expand_function_end): Update. (get_art_pointer_save_area): Update - * function.h + * function.h * emit-rtl.c (rtl): Declare. (regno_reg_rtx): Declare. (first_insn, last_insn, cur_insn_uid, last_location, first_label_num): @@ -9332,7 +10841,7 @@ (avr_asm_init_sections): (Ditto.). (avr_rtx_costs): (Ditto.). * config/avr/avr.md: (Ditto.). - * config/avr/avr.h: Use '__AVR_HAVE_JMP_CALL__' instead of + * config/avr/avr.h: Use '__AVR_HAVE_JMP_CALL__' instead of '__AVR_MEGA__'. 2008-04-06 Richard Guenther @@ -9500,7 +11009,7 @@ * c-objc-common.h (LANG_HOOKS_FUNCTION_MISSING_NORETURN_OK_P): Rename to LANG_HOOKS_MISSING_NORETURN_OK_P. - + 2008-04-04 Jakub Jelinek PR c/35440 @@ -9696,10 +11205,10 @@ 2008-04-02 Anatoly Sokolov - * config/avr/predicates.md (io_address_operand): New predicate. + * config/avr/predicates.md (io_address_operand): New predicate. * config/avr/avr-protos.h (avr_io_address_p): Remove declaration. * config/avr/avr.c (avr_io_address_p): Remove function. - (out_movqi_r_mr): Use 'io_address_operand' predicate instead of + (out_movqi_r_mr): Use 'io_address_operand' predicate instead of 'avr_io_address_p' function. (out_movhi_r_mr): (Ditto.). (out_movqi_mr_r): (Ditto.). @@ -10396,7 +11905,7 @@ * config/alpha/x-vms (EXTRA_PROGRAMS): Remove. * config/t-openbsd-thread: Remove commented out lines. - + * config/x-interix: Remove. * config/m68hc11/t-m68hc11-gas: Rename to... @@ -10520,7 +12029,7 @@ (reload_reg_rtx_for_input): New variable. (reload_reg_rtx_for_output): Likewise. (emit_input_reload_insns): Use reloadreg rather than rl->reg_rtx - when reassigning a pseudo register. Load reloadreg from + when reassigning a pseudo register. Load reloadreg from reload_reg_rtx_for_input, moving the mode and register calculation to... (do_input_reload): ...here. Use the mode-adjusted reg_rtx @@ -10562,12 +12071,12 @@ (build/genflags.o): Likewise. 2008-03-25 Bob Wilson - + * config/xtensa/xtensa.c (xtensa_va_start): Use build_int_cst instead of size_int for integer types. (xtensa_gimplify_va_arg_expr): Likewise. Convert index to sizetype to match type of MINUS_EXPR. - + 2008-03-25 Tom Tromey * configure: Rebuilt. @@ -10685,7 +12194,7 @@ 2008-03-25 Naveen.H.S * config/sh/sh.md (prefetch): Add condition for SH2A target. - (prefetch_sh2a): New. + (prefetch_sh2a): New. 2008-03-25 Jayant Sonar Naveen.H.S @@ -10738,7 +12247,7 @@ * diagnostic.c (diagnostic_count_diagnostic): Delete. (diagnostic_report_diagnostic): Update. Handle ICEs here. - + 2008-03-24 Nathan Sidwell * gthr-vxworks.h (UNUSED): Define. @@ -10751,7 +12260,7 @@ * doc/extend.texi (Function Attributes): Add missing comma in the example of the "alloc_size" attribute. - + 2008-03-23 Uros Bizjak Revert: @@ -11229,22 +12738,22 @@ * config/avr/avr.c (avr_arch_types): Add avr6 entry. (avr_arch): Add ARCH_AVR6. (avr_mcu_types): Add 'atmega2560' and 'atmega2561' entry. - (initial_elimination_offset): Initialize and use 'avr_pc_size' + (initial_elimination_offset): Initialize and use 'avr_pc_size' instead of fixed value 2. (print_operand_address): Use gs() asm specifier instead of pm(). (avr_assemble_integer): (Ditto.). (avr_output_addr_vec_elt): (Ditto.). (print_operand): Handle "!" code. - * config/avr/avr.h (TARGET_CPU_CPP_BUILTINS): Add + * config/avr/avr.h (TARGET_CPU_CPP_BUILTINS): Add __AVR_3_BYTE_PC__, __AVR_2_BYTE_PC__ and __AVR_HAVE_JMP_CALL__. (AVR_HAVE_EIJMP_EICALL): Define. (AVR_3_BYTE_PC): Redefine. (AVR_2_BYTE_PC): (Ditto.). (PRINT_OPERAND_PUNCT_VALID_P): Add '!' code. (LINK_SPEC): Add atmega2560 and atmega2561. - (CRT_BINUTILS_SPEC): Add atmega2560 (crtm2560.o) and atmega2561 + (CRT_BINUTILS_SPEC): Add atmega2560 (crtm2560.o) and atmega2561 (crtm2561.o). - * config/avr/avr.md (call_insn): Use eicall instead of icall + * config/avr/avr.md (call_insn): Use eicall instead of icall for 3 byte PC devices. (call_value_insn): (Ditto.). (*tablejump_enh): Use eijmp instead of ijmp for 3 byte PC devices. @@ -11252,11 +12761,11 @@ (*tablejump): (Ditto.). (*indirect_jump_avr6): Add insn. (*tablejump_rjmp): Don't use for 3 byte PC devices. - * config/avr/libgcc.S (__prologue_saves__): Use eijmp + * config/avr/libgcc.S (__prologue_saves__): Use eijmp instead of ijmp for 3 byte PC devices. (__tablejump2__): (Ditto.). * config/avr/t-avr (MULITLIB_OPTIONS): Add avr6 architecture. - (MULITLIB_DIRNAMES): (Ditto.). + (MULITLIB_DIRNAMES): (Ditto.). (MULTILIB_MATCHES): Add atmega2560 and atmega2561 to list. 2008-03-15 Uros Bizjak @@ -11283,7 +12792,7 @@ being a PHI_NODE. 2008-03-14 Bob Wilson - + * doc/invoke.texi (Option Summary, Xtensa Options): Document -mserialize-volatile and -mno-serialize-volatile Xtensa options. * config/xtensa/xtensa.c (print_operand): Do not emit MEMW instructions @@ -11901,7 +13410,7 @@ (df_ref_create_structure): Allocate df_ref_extract if offset and width fields are used. (df_def_record_1): Get offset and width from ZERO_EXTRACT. - (df_uses_record): Get offset and width from ZERO_EXTRACT + (df_uses_record): Get offset and width from ZERO_EXTRACT and SIGN_EXTRACT. * global.c (build_insn_chain): Change DF_REF_EXTRACT to either DF_REF_ZERO_EXTRACT or DF_REF_SIGN_EXTRACT. Change @@ -11912,7 +13421,7 @@ (df_ref_extract): New structure. (DF_REF_WIDTH, DF_REF_OFFSET): New macros. (df_ref_create): Add width and offset parameters. - + 2008-03-05 Richard Guenther * tree-ssa-structalias.c (get_constraint_for_component_ref): @@ -12143,7 +13652,7 @@ * Makefile.in (OBJS-common): Remove struct-equiv.o. (struct-equiv.o): Remove rule. * basic-block.h (struct_equiv_checkpoint, STRUCT_EQUIV_*, - insns_match_p, struct_equiv_block_eq, struct_equiv_init, + insns_match_p, struct_equiv_block_eq, struct_equiv_init, rtx_equiv_p, condjump_equiv_p): Remove prototypes. 2008-03-01 Alexandre Oliva @@ -12330,7 +13839,7 @@ * tree-vect-analyze.c: Remove unused static decls. * lambda.h (dependence_level): New. * common.opt (ftree-loop-distribution): New. - * tree-flow.h (mark_virtual_ops_in_bb, + * tree-flow.h (mark_virtual_ops_in_bb, slpeel_tree_duplicate_loop_to_edge_cfg, rename_variables_in_loop): Declared. * Makefile.in (TREE_DATA_REF_H): Depend on tree-chrec.h. @@ -12540,7 +14049,7 @@ 2008-02-26 Jason Merrill PR c++/35315 - * attribs.c (decl_attributes): Leave ATTR_FLAG_TYPE_IN_PLACE + * attribs.c (decl_attributes): Leave ATTR_FLAG_TYPE_IN_PLACE alone if it's the naming decl for the type's main variant. 2008-02-26 Tom Tromey @@ -12634,7 +14143,7 @@ * builtins.c (expand_builtin): Remove BUILT_IN_STDARG_START. * tree-stdarg.c (execute_optimize_stdarg): Likewise. * tree-inline.c (inline_forbidden_p_1): Likewise. - + 2008-02-26 Richard Guenther * tree-flow.h (uid_decl_map_hash, uid_decl_map_eq): Move ... @@ -12703,7 +14212,7 @@ Wvolatile-register-var. * common.opt: Move Wvolatile-register-var to... * c.opt: ...here. - + 2008-02-26 Manuel Lopez-Ibanez * common.opt (Wlarger-than=): New. @@ -12714,7 +14223,7 @@ * opth-gen.awk: Likewise. * stor-layout.c (layout_decl): Use -Wlarger-than= for warning. * tree-optimize.c (tree_rest_of_compilation): Likewise. - + 2008-02-26 Manuel Lopez-Ibanez * c-common.c (match_case_to_enum_1): Add appropriate @@ -12737,7 +14246,7 @@ (print_ignored_options): New. (handle_option): Postpone errors for unknown -Wno-* options. * opts.h (print_ignored_options): Declare. - + 2008-02-25 Richard Sandiford * config/mips/mips.md (loadgp_blockage, blockage): Change type @@ -12816,7 +14325,7 @@ PR c/35162 * doc/invoke.texi (-fcx-limited-range): Correct to be in line with actual behaviour and C99. - + 2008-02-26 Ben Elliston * config/rs6000/rs6000.h (ASM_CPU_POWER5_SPEC): Define. @@ -12919,7 +14428,7 @@ unused local variable `has_hot_blocks'. (fix_crossing_conditional_branches): Remove unused local variable `prev_bb'. - + 2008-02-25 Uros Bizjak PR middle-end/19984 @@ -13011,7 +14520,7 @@ 2008-02-23 Uros Bizjak PR target/22076 - PR target/34256 + PR target/34256 * config/i386/mmx.md (*mov_internal_rex64): Use "!y" to prevent reload from using MMX registers. (*mov_internal): Ditto. @@ -13146,7 +14655,7 @@ * config/h8300/h8300.c (h8300_expand_epilogue): Emit return insn as a jump, not as a plain insn. - + 2008-02-20 Seongbae Park * doc/invoke.texi (Warning Options): Add new option @@ -13199,7 +14708,7 @@ * doc/install.texi: Correct references to CFLAGS, replacing them with BOOT_CFLAGS. Document flags used during bootstrap for target libraries. - + 2008-02-20 Uros Bizjak * config/i386/i386.h (SSE_VEC_FLOAT_MODE_P): New define. @@ -13332,7 +14841,7 @@ cannot be disambiguated. * c.opt (v): Pass on to the common option handler. -2008-02-19 Revital Eres +2008-02-19 Revital Eres * modulo-sched.c (sms_schedule): Change dump message when create_ddg function fails. @@ -13454,7 +14963,7 @@ 2008-02-17 Uros Bizjak Revert: - 2008-02-15 Uros Bizjak + 2008-02-15 Uros Bizjak * config/i386/sfp-machine.h (CMPtype): Define as typedef using libgcc_cmp_return mode. @@ -13630,7 +15139,7 @@ Add -fdump-ipa-inline. * tree-dump.c (dump_files): Remove tree-inlined dump. * tree-pass.h (tree_dump_index): Remove TDI_inlined. - + 2008-02-12 Richard Guenther PR tree-optimization/35171 @@ -13720,7 +15229,7 @@ 2008-02-08 Sa Liu - * config/spu/spu-builtins.def: Fixed wrong parameter type in spu + * config/spu/spu-builtins.def: Fixed wrong parameter type in spu intrinsics spu_convts, spu_convtu, spu_convtf. 2008-02-08 Hans-Peter Nilsson @@ -13735,7 +15244,7 @@ optc-gen.awk. * opts-common.c: Likewise. * optc-gen.awk: Likewise. - + 2008-02-07 Andreas Krebbel * config/s390/s390.h (FUNCTION_ARG_REGNO_P): Fix fprs for 64 bit. @@ -13744,7 +15253,7 @@ PR rtl-opt/33410 * config/alpha/alpha.c (alpha_emit_xfloating_compare): Use an - EXPR_LIST for the REG_EQUAL instead of a comparison with a + EXPR_LIST for the REG_EQUAL instead of a comparison with a funny mode. 2008-02-07 Uros Bizjak @@ -13781,7 +15290,7 @@ 2008-02-06 Ralf Corsepius - * config/arm/rtems-elf.h (TARGET_OS_CPP_BUILTINS): Add + * config/arm/rtems-elf.h (TARGET_OS_CPP_BUILTINS): Add builtin_define ("__USE_INIT_FINI__"). * config/h8300/t-rtems (MULTILIB_OPTION,MULTILIB_DIRNAMES): Add -msx multilibs. @@ -13914,16 +15423,16 @@ * doc/c-tree.texi (Types): Fix grammar. (Expression trees): Ditto. * doc/passes.texi (Tree-SSA passes): Ditto. - + * doc/configterms.texi (Configure Terms): Fix typo. * doc/cpp.texi (Common Predefined Macros): Ditto. * doc/md.texi (Machine Constraints): Ditto. - + * doc/makefile.texi (Makefile): Add comma. 2008-01-31 Tom Browder Gerald Pfeifer - + * doc/sourcebuild.texi (Front End): Remove references to CVS and CVSROOT/modules. (Texinfo Manuals): Replace reference to CVS by one to SVN. @@ -13944,7 +15453,7 @@ options. Minor fixes. (-std): Move reference to standards closer to where language standards are first mentioned. - + 2008-01-31 Richard Sandiford PR rtl-optimization/34995 @@ -14040,7 +15549,7 @@ 2008-01-28 Andy Hutchinson PR target/34412 - * config/avr/avr.c (expand_prologue): Use correct QI mode frame + * config/avr/avr.c (expand_prologue): Use correct QI mode frame pointer for tiny stack. 2008-01-28 Bernhard Fischer @@ -14125,7 +15634,7 @@ Change type of cost to comp_cost. (determine_iv_cost): Increase cost of non-original ivs, instead of decreasing the cost of original ones. - (get_address_cost): Indicate the complexity of the addressing mode + (get_address_cost): Indicate the complexity of the addressing mode in comp_cost. (try_add_cand_for): Prefer using ivs not specific to some object. * tree-flow.h (force_expr_to_var_cost): Declaration removed. @@ -14368,10 +15877,10 @@ * ipa-struct-reorg.c (remove_str_allocs_in_func, remove_str_allocs): New functions. (remove_structure): Update allocations list before removing structure. - + 2008-01-25 Golovanevsky Olga - * ipa-struct-reorg.c (is_safe_cond_expr, + * ipa-struct-reorg.c (is_safe_cond_expr, create_new_stmts_for_cond_expr): Use integer_zerop function, that recognize not only zero-pointer, but zero-integer too. @@ -14427,7 +15936,7 @@ PR c++/25701 * doc/gcc.texi (Software development): Add a direntry for g++. - + 2008-01-23 Hans-Peter Nilsson * config/cris/cris.h (CC1PLUS_SPEC, OPTIMIZATION_OPTIONS): Drop @@ -14455,17 +15964,17 @@ (avr_arch_types): Add 'avr31' and 'avr51' entries. (avr_arch): Add 'ARCH_AVR31' and 'ARCH_AVR51'. (avr_mcu_types): Add 'avr31' and 'avr51' architectures. - (avr_override_options): Init 'avr_current_arch'. + (avr_override_options): Init 'avr_current_arch'. (base_arch_s): Move from here... - * config/avr/avr.h (base_arch_s): ... here. Add new members - 'have_elpm', 'have_elpmx', 'have_eijmp_eicall', 'reserved'. Rename + * config/avr/avr.h (base_arch_s): ... here. Add new members + 'have_elpm', 'have_elpmx', 'have_eijmp_eicall', 'reserved'. Rename 'mega' to 'have_jmp_call'. - (TARGET_CPU_CPP_BUILTINS): Define "__AVR_HAVE_JMP_CALL__", + (TARGET_CPU_CPP_BUILTINS): Define "__AVR_HAVE_JMP_CALL__", "__AVR_HAVE_RAMPZ__", "__AVR_HAVE_ELPM__" and "__AVR_HAVE_ELPMX__" macros. - (LINK_SPEC, CRT_BINUTILS_SPECS, ASM_SPEC): Add 'avr31' and 'avr51' + (LINK_SPEC, CRT_BINUTILS_SPECS, ASM_SPEC): Add 'avr31' and 'avr51' architectures. - * config/avr/t-avr (MULTILIB_OPTIONS, MULTILIB_DIRNAMES, + * config/avr/t-avr (MULTILIB_OPTIONS, MULTILIB_DIRNAMES, MULTILIB_MATCHES): (Ditto.). 2008-01-23 Richard Guenther @@ -14635,7 +16144,7 @@ 2008-01-21 Alon Dayan Olga Golovanevsky - + PR tree-optimization/34701 * ipa-struct-reorg.c (gen_size): Fix the malloc parameter calculation when the structure size is not a power of 2. @@ -14643,7 +16152,7 @@ 2008-01-20 Kenneth Zadeck * doc/install.texi: Add doc for --enable-checking=df. - + 2008-01-20 Kaz Kojima PR rtl-optimization/34808 @@ -14717,7 +16226,7 @@ (df_live_init): Init the df_live sets only with the variables found live by df_lr. (df_live_transfer_function): Use the df_lr sets to prune the - df_live sets as they are being computed. + df_live sets as they are being computed. (df_live_free): Free df_live_scratch. 2008-01-18 Ian Lance Taylor @@ -14899,7 +16408,7 @@ 2008-01-16 Sebastian Pop - * tree-data-ref.c (subscript_dependence_tester_1): Call + * tree-data-ref.c (subscript_dependence_tester_1): Call free_conflict_function. (compute_self_dependence): Same. @@ -14938,7 +16447,7 @@ PR c++/24924 * c-opts (c_common_post_options): Do not enable CPP flag_pedantic_errors by default. - + 2008-01-14 Eric Botcazou PR rtl-optimization/31944 @@ -15000,9 +16509,9 @@ correct type. 2008-01-11 Bob Wilson - + * config/xtensa/xtensa.c (override_options): Set flag_shlib. - + 2008-01-11 James E. Wilson PR target/26015 @@ -15010,8 +16519,8 @@ 2008-01-11 Anatoly Sokolov - * config/avr/avr.c (expand_prologue, expand_epilogue): Don't - save/restore frame pointer register and don't use 'call-prologues' + * config/avr/avr.c (expand_prologue, expand_epilogue): Don't + save/restore frame pointer register and don't use 'call-prologues' optimization in function with "OS_task" attribute. 2008-01-11 Eric Botcazou @@ -15137,13 +16646,13 @@ 2008-01-05 Uros Bizjak * config/i386/i386.c (ix86_builtin_reciprocal): Remove check - for TARGET_RECIP. - + for TARGET_RECIP. + 2008-01-08 Jan Sjodin - + * config/i386/i386.c (k8_cost, amdfam10_cost): Branch costs for vectorization tuned. - + 2008-01-08 Richard Guenther PR tree-optimization/34683