+2007-06-29 Jan Hubicka <jh@suse.cz>
+
+ PR middle-end/32372
+ * cse.c (cse_insn): Avoid invalid sharing in between register note and
+ the insn pattern.
+
+2007-06-29 Anatoly Sokolov <aesok@post.ru>
+
+ PR target/32335
+ * config/avr/avr.c: Include dataflow header file.
+ (expand_prologue): Adjust for prologue insn change.
+ * config/avr/avr.md (call_prologue_saves): Only modify REG_SP once
+ inside a insn.
+
+2007-06-29 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/32493
+ * gimplify.c (gimplify_call_expr): Ignore variable argument parts
+ during type verification.
+
+2007-06-29 Jan Hubicka <jh@suse.cz>
+
+ * recog.c (validate_change_rtx_1): Unshare TO argument.
+
+2007-06-29 Uros Bizjak <ubizjak@gmail.com>
+
+ PR tree-optimization/24659
+ * tree-vect-transform.c (vectorizable_call): Handle
+ (nunits_in == nunits_out / 2) and (nunits_out == nunits_in / 2) cases.
+
+ * config/i386/sse.md (vec_pack_sfix_v2df): New expander.
+ * config/i386/i386.c (enum ix86_builtins)
+ [IX86_BUILTIN_VEC_PACK_SFIX]: New constant.
+ (struct bdesc_2arg) [__builtin_ia32_vec_pack_sfix]: New builtin
+ description.
+ (ix86_init_mmx_sse_builtins): Define all builtins with 2 arguments as
+ const using def_builtin_const.
+ (ix86_expand_binop_builtin): Remove bogus assert() that insn wants
+ input operands in the same modes as the result.
+ (ix86_builtin_vectorized_function): Handle BUILT_IN_LRINT.
+
+2007-06-29 Richard Sandiford <rsandifo@nildram.co.uk>
+
+ * df-problems.c (df_set_unused_notes_for_mw): Fix formatting.
+ (df_set_dead_notes_for_mw): Likewise.
+
+2007-06-29 Eric Botcazou <ebotcazou@adacore.com>
+
+ * c-common.c (pointer_int_sum): Do the negation in sizetype.
+
+2007-06-28 DJ Delorie <dj@redhat.com>
+
+ * config/m32c/m32c.h (OVERRIDE_OPTIONS): Omit unneeded semicolon.
+
+2007-06-28 Geoffrey Keating <geoffk@apple.com>
+
+ * doc/invoke.texi (C++ Dialect Options): Document
+ fvisibility-ms-compat.
+ * c.opt (fvisibility-ms-compat): New.
+
+2007-06-28 Andrew Pinski <andrew_pinski@playstation.sony.com>
+
+ PR tree-opt/32417
+ * tree-affine.c (aff_combination_add_elt): Handle
+ pointer addition specially.
+
+2007-06-28 Jakub Jelinek <jakub@redhat.com>
+
+ * config/rs6000/rs6000.c (rs6000_function_ok_for_sibcall): Ensure
+ decl is non-external for AIX ABI.
+
+2007-06-28 David Edelsohn <edelsohn@gnu.org>
+
+ * config/rs6000/predicates.md (current_file_function_operand):
+ Ensure the symbol is non-external for AIX ABI.
+
+2007-06-28 Nick Clifton <nickc@redhat.com>
+
+ * common.opt (fipa-matrix-reorg): Add Optimization attribute.
+ (fdce, fdse, fpredictive-commoning): Likewise.
+
+2007-06-28 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+
+ PR other/31400
+ * gcc.c (process_command): Recognize the new -static-libgfortran
+ option.
+
+2007-06-27 Rask Ingemann Lambertsen <rask@sygehus.dk>
+
+ PR target/32418
+ * config/m32c/m32c.c (m32c_eh_return_stackadj_rtx): Dataflow fix:
+ Use a call clobbered hard reg instead of a pseudo reg.
+
+2007-06-27 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ * config/sh/sh.md (load_gbr): Use correct operand constraint.
+
+2007-06-27 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ PR target/32479
+ * config/sh/sh.md (udivsi3): Don't wrap the sequence with
+ REG_LIBCALL and REG_RETVAL notes.
+ (divsi3, mulsi3): Likewise.
+ (mulhisi3): Likewise. Use emit_libcall_block.
+ (umulhisi3, smulsi3_highpart, umulsi3_highpart_i): Likewise.
+
+2007-06-27 Seongbae Park <seongbae.park@gmail.com>
+
+ PR rtl-optimization/32481
+ * combine.c (adjust_for_new_dest): Rescan the changed insn.
+
+2007-06-27 Richard Sandiford <richard@codesourcery.com>
+
+ * dce.c (deletable_insn_p_1): New function, split out from...
+ (deletable_insn_p): ...here. Only treat bare USEs and CLOBBERs
+ specially, not those inside PARALLELs. Remove BODY argument
+ and adjust recursive call accordingly.
+ (prescan_insns_for_dce): Update call to delete_insn_p.
+
+2007-06-27 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/32492
+ * tree.h (fold_convertible_p): Declare.
+ * fold-const.c (fold_convertible_p): New function.
+ * gimplify.c (gimplify_call_expr): Use fold_convertible_p
+ instead of lang_hooks.types_compatible_p.
+
+2007-06-26 Jan Hubicka <jh@suse.cz>
+
+ * fwprop.c (try_fwprop_subst): Use validate_unshare_change.
+ * postreload.c (reload_cse_simplify_set): Instead of copying the rtx
+ early use validate_unshare_change.
+ (reload_combine): Likewise.
+ * recog.c (change_t): New field unshare.
+ (validate_change_1): Rename from validate_change; add argument unshare.
+ (validate_change): Turn into wrapper of validate_change_1; update
+ prototype for bools.
+ (validate_unshare_change): New.
+ (confirm_change_group): Unshare changes if asked for; avoid unnecesary
+ calls of df_insn_rescan.
+ * recog.h (validate_change): Replace ints by bools.
+ (validate_unshare_change): Declare.
+
+2007-06-26 Kenneth Zadeck <zadeck@naturalbridge.com>
+
+ * tree.def (VEC_WIDEN_MULT_LO_EXPR): Corrected string name.
+
+2007-06-26 Steve Ellcey <sje@cup.hp.com>
+
+ * builtins.c (expand_builtin_next_arg): Change Pmode to ptr_mode.
+
+2007-06-25 Jan Hubicka <jh@suse.cz>
+
+ * ipa-inline.c (cgraph_mark_inline): Assert that we never inline
+ uninlinable call.
+ (cgraph_decide_inlining_of_small_function, cgraph_decide_inlining,
+ cgraph_decide_inlining_incrementally): Move uninlinability checks to
+ places other call site specific checks are performed.
+
+2007-06-25 Andrew Pinski <andrew_pinski@playstation.sony.com>
+
+ PR tree-opt/32421
+ * tree-vect-transform.c (vectorizable_operation): Convert
+ POINTER_PLUS_EXPR over to PLUS_EXPR.
+
+2007-06-25 Chao-ying Fu <fu@mips.com>
+
+ * doc/rtl.texi (Machine Modes): Document QQ, HQ, SQ, DQ, TQ,
+ UQQ, UHQ, USQ, UDQ, UTQ, HA, SA, DA, TA, UHA, USA, UDA, and UTAmodes.
+ Document MODE_FRACT, MODE_UFRACT, MODE_ACCUM, MODE_UACCUM.
+ Document GET_MODE_IBIT, and GET_MODE_FBIT.
+
+ * machmode.h (VECTOR_MODE_P): Test MODE_VECTOR_FRACT,
+ MODE_VECTOR_UFRACT, MODE_VECTOR_ACCUM, MODE_VECTOR_UACCUM.
+ (SCALAR_FRACT_MODE_P, SCALAR_UFRACT_MODE_P, ALL_SCALAR_FRACT_MODE_P,
+ SCALAR_ACCUM_MODE_P, SCALAR_UACCUM_MODE_P, ALL_SCALAR_ACCUM_MODE_P,
+ SIGNED_SCALAR_FIXED_POINT_MODE_P, UNSIGNED_SCALAR_FIXED_POINT_MODE_P,
+ ALL_SCALAR_FIXED_POINT_MODE_P, FRACT_MODE_P, UFRACT_MODE_P,
+ ALL_FRACT_MODE_P, ACCUM_MODE_P, UACCUM_MODE_P, ALL_ACCUM_MODE_P,
+ SIGNED_FIXED_POINT_MODE_P, UNSIGNED_FIXED_POINT_MODE_P,
+ ALL_FIXED_POINT_MODE_P): New define.
+ (CLASS_HAS_WIDER_MODES_P): Test MODE_FRACT, MODE_UFRACT, MODE_ACCUM,
+ MODE_UACCUM.
+ (GET_MODE_IBIT, GET_MODE_FBIT): New define.
+
+ * mode-classes.def (MODE_FRACT, MODE_UFRACT, MODE_ACCUM, MODE_UACCUM,
+ MODE_VECTOR_FRACT, MODE_VECTOR_UFRACT, MODE_VECTOR_ACCUM,
+ MODE_VECTOR_UACCUM): New mode classes.
+
+ * machmode.def: Document FRACT_MODE, UFRACT_MODE, ACCUM_MODE,
+ UACCUM_MODE, ADJUST_IBIT, and ADJUST_FBIT.
+ Add QQ, HQ, SQ, DQ, TQ, UQQ, UHQ, USQ, UDQ, UTQ, HA, SA, DA, TA, UHA,
+ USA, UDA, and UTA.
+
+ * genmodes.c (struct mode_data): Add ibit and fbit fields.
+ (blank_mode): Initialize ibit and fbit.
+ (adj_ibit, adj_fbit): New to adjust ibit and fbit.
+ (vector_class): Handle MODE_FRACT, MODE_UFRACT, MODE_ACCUM, MODE_UACCUM.
+ (new_adjust): Change required_class to required_class_from and
+ required_class_to for testing within a range.
+ (complete_mode): Handle MODE_FRACT, MODE_UFRACT, MODE_ACCUM,
+ MODE_UACCUM, MODE_VECTOR_FRACT, MODE_VECTOR_UFRACT, MODE_VECTOR_ACCUM,
+ MODE_VECTOR_UACCUM.
+ (FRACT_MODE, UFRACT_MODE, ACCUM_MODE, UACCUM_MODE): New define.
+ (make_fixed_point_mode): New.
+ (_ADD_ADJUST): Change C to C1 and C2.
+ (ADJUST_BYTESIZE, ADJUST_ALIGNMENT, ADJUST_FLOAT_FORMAT): Change to
+ use a range for machine classes.
+ (ADJUST_IBIT, ADJUST_FBIT): New.
+ (emit_insn_modes_h): Output defines of CONST_MODE_IBIT and
+ CONST_MODE_FBIT.
+ (emit_mode_adjustments): Handle MODE_VECTOR_FRACT, MODE_VECTOR_UFRACT,
+ MODE_VECTOR_ACCUM, MODE_VECTOR_UACCUM.
+ Emit adjustment for ibit and fbit.
+ (emit_mode_ibit, emit_mode_fbit): New.
+ (emit_insn_modes_c): Add emit_mode_ibit and emit_mode_fbit.
+
+2007-06-25 Nathan Froyd <froydnj@codesourcery.com>
+
+ * config/rs6000/spe.md (*frob_ti_tf_2): Specify an input_operand
+ as the source of the set.
+
+2007-06-25 Roman Zippel <zippel@linux-m68k.org>
+
+ * config/m68k/m68k.h (DATA_REGNO_P, ADDRESS_REGNO_P, INT_REGNO_P,
+ FP_REGNO_P): Use IN_RANGE.
+ (REGNO_OK_FOR_DATA_P, REGNO_OK_FOR_FP_P): Remove.
+ (REGNO_OK_FOR_INDEX_NONSTRICT_P, REGNO_OK_FOR_BASE_NONSTRICT_P): New.
+ (DATA_REG_P): Use DATA_REGNO_P.
+ (FP_REG_P): Use FP_REGNO_P.
+ (ADDRESS_REG_P): Use ADDRESS_REGNO_P.
+ * config/m68k/m68k.c (m68k_legitimate_base_reg_p): Use
+ REGNO_OK_FOR_INDEX_NONSTRICT_P, REGNO_OK_FOR_BASE_NONSTRICT_P.
+
+2007-06-24 Jan Hubicka <jh@suse.cz>
+
+ PR middle-end/30563
+ * cgraphunit.c (cgraph_analyze_function): Fix ordering problem.
+
+2007-06-24 Sebastian Pop <sebpop@gmail.com>
+
+ PR middle-end/32461
+ * fold-const.c (fold_binary): Strip nops of operand 0
+ of BIT_NOT_EXPR before calling operand_equal_p.
+ * testsuite/gcc.dg/tree-ssa/pr32461-1.c: New.
+ * testsuite/gcc.dg/tree-ssa/pr32461-2.c: New.
+
+2007-06-23 Mark Mitchell <mark@codesourcery.com>
+
+ * doc/extend.texi: Document that dllimport and dllexport imply
+ default visibility.
+ * tree.c (handle_dll_attribute): Set DECL_VISIBILITY on the
+ imported or exported declaration, including type declarations.
+ * c-common.c (handle_visibility_attribute): Check for conflicts
+ with dllimport/dllexport.
+ (c_determine_visibility): Handle dllimport/dllexport as an
+ explicit visibility atttribute.
+
+2007-06-23 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/16876
+ PR middle-end/29478
+ * tree.h (CALL_CANNOT_INLINE_P): New macro to access static_flag
+ for CALL_EXPRs.
+ * tree-inline.c (initialize_inlined_parameters): Do not call
+ lang_hooks.tree_inlining.convert_parm_for_inlining.
+ * cgraphbuild.c (initialize_inline_failed): Set inline failed
+ reason for mismatched types.
+ * gimplify.c (gimplify_call_expr): Verify the call expression
+ arguments match the called function type signature. Otherwise
+ mark the call expression to be not considered for inlining
+ using CALL_CANNOT_INLINE_P flag.
+ * ipa-inline.c (cgraph_mark_inline): Honor CALL_CANNOT_INLINE_P on the
+ edges call expression.
+ (cgraph_decide_inlining_of_small_function): Likewise.
+ (cgraph_decide_inlining): Likewise.
+ * c-objc-common.h (LANG_HOOKS_TREE_INLINING_CONVERT_PARM_FOR_INLINING):
+ Remove define.
+ * c-tree.h (c_convert_parm_for_inlining): Remove declaration.
+ * c-typeck.c (c_convert_parm_for_inlining): Remove.
+ * langhooks-def.h (lhd_tree_inlining_convert_parm_for_inlining):
+ Remove declaration.
+ (LANG_HOOKS_TREE_INLINING_CONVERT_PARM_FOR_INLINING): Remove define.
+ * langhooks.c (lhd_tree_inlining_convert_parm_for_inlining):
+ Remove.
+ * langhooks.h (struct lang_hooks_for_tree_inlining): Remove
+ convert_parm_for_inlining member.
+
+2007-06-23 Richard Earnshaw <rearnsha@arm.com>
+
+ PR target/31152
+ * arm.md (negscc): Match the correct operand for optimized LT0 test.
+ Remove optimization for GT.
+
+2007-06-23 Kenneth Zadeck <zadeck@naturalbridge.com>
+
+ PR middle-end/32437
+ * dce.c (deletable_insn_p): Add extra parameter and recurse if insn
+ is a PARALLEL.
+ (prescan_insns_for_dce): Add extra parameter.
+
+2007-06-23 Jan Hubicka <jh@suse.cz>
+
+ PR middle-end/31541
+ * gimplify.c (mark_addressable): New function.
+ (gimplify_modify_expr_rhs, gimplify_addr_expr, gimplify_expr): Use it.
+
+2007-06-22 Uros Bizjak <ubizjak@gmail.com>
+
+ PR middle-end/32374
+ * expr.c (store_constructor): Do not clobber non-zeroed memory.
+
+2007-06-22 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/32413
+ * config/i386/i386.c (ix86_register_move_cost): Rise the cost of
+ moves between MMX/SSE registers to at least 8 units to prevent
+ ICE caused by non-tieable SI/HI/QImodes in SSE registers.
+
+2007-06-22 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.c (override_options): Correct x86_sahf
+ setting condition.
+
+2007-06-21 David Daney <ddaney@avtrex.com>
+
+ PR target/32406
+ * config/mips/mips.md (define_constants): Rename UNSPEC_EH_RECEIVER
+ to UNSPEC_NONLOCAL_GOTO_RECEIVER globally.
+ (exception_receiver): Renamed to ...
+ (nonlocal_goto_receiver): ... this.
+
+2007-06-22 Roman Zippel <zippel@linux-m68k.org>
+
+ * df-scan.c (df_read_modify_subreg_p): Use REGMODE_NATURAL_SIZE.
+ (df_def_record_1): Set (DF_REF_READ_WRITE | DF_REF_PARTIAL) for
+ partial register accesses.
+
+2007-06-21 Adam Nemet <anemet@caviumnetworks.com>
+
+ * fold-const.c (debug_fold_checksum): Move it under
+ ENABLE_FOLD_CHECKING.
+
+2007-06-21 Sebastian Pop <sebpop@gmail.com>
+
+ PR middle-end/20623
+ * tree.h (debug_fold_checksum): Declared.
+ * fold-const.c (build_fold_addr_expr_with_type_1): New.
+ (build_fold_addr_expr_with_type, build_fold_addr_expr): Use
+ build_fold_addr_expr_with_type_1.
+ (fold_addr_expr, debug_fold_checksum): New.
+ (fold_checksum_tree): Don't fold TREE_CHAIN of an SSA_NAME.
+ (fold_unary, fold_comparison, split_address_to_core_and_offset):
+ Use fold_addr_expr.
+
+2007-06-21 Sebastian Pop <sebpop@gmail.com>
+
+ PR tree-optimization/19590
+ * tree-vrp.c (adjust_range_with_scev): Set the range when the result
+ of scev is a constant.
+ * gcc/testsuite/gcc.dg/tree-ssa/pr19590.c: New.
+
+2007-06-21 Kenneth Zadeck <zadeck@naturalbridge.com>
+
+ * df-problems.c (df_note_bb_compute): Made computation of live
+ info consistent with df_lr.
+
+2007-06-21 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/32453
+ * tree-vrp.c (extract_range_from_assert): Build POINTER_PLUS_EXPR
+ for pointer anti-range.
+
+2007-06-21 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/i386.c (processor_target_table): Increase maximum
+ skip from 7 byte to 10 byte for Pentium Pro, Core 2 Duo and
+ default 64bit.
+
+ * config/i386/linux.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Ensure 8
+ byte alignment if > 8 byte alignment is preferred.
+ * config/i386/x86-64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Likewise.
+
+2007-06-21 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/31866
+ * tree-ssa-coalesce.c (create_outofssa_var_map): Do nothing
+ if ASM_EXPR's input is not a SSA_NAME.
+
+ PR middle-end/32362
+ * omp-low.c (lookup_decl_in_outer_ctx): Don't ICE if t is NULL,
+ but decl is a global var, instead return decl.
+ * gimplify.c (gimplify_adjust_omp_clauses_1): Add shared clauses
+ even for is_global_var decls, if they are private in some outer
+ context.
+
+2007-06-21 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/32451
+ * tree-ssa-threadupdate.c (thread_single_edge): Fixup edge flags.
+
+2007-06-21 Christian Bruel <christian.bruel@st.com>
+
+ * config/sh/sh-protos.h (sh_loads_bankedreg_p): Declare.
+ * config/sh/sh.c (sh_loads_bankedreg_p): New function.
+ (push_regs): Changed saving order or banked registers.
+ (sh_expand_epilogue): Likewise.
+ * config/sh/sh.h (BANKED_REGISTER_P): New macro.
+ (FIRST_BANKED_REG): Likewise.
+ (LAST_BANKED_REG): Likewise.
+ * config/sh/sh.md (banked) New attribute.
+ (in_delay_slot): Check banked attribute.
+
+2007-06-20 Sebastian Pop <sebpop@gmail.com>
+
+ PR tree-optimization/32075
+ * tree-data-ref.c (subscript_dependence_tester_1,
+ analyze_miv_subscript, analyze_overlapping_iterations,
+ add_distance_for_zero_overlaps, build_classic_dist_vector,
+ subscript_dependence_tester_1, analyze_overlapping_iterations,
+ subscript_dependence_tester, access_functions_are_affine_or_constant_p,
+ compute_affine_dependence, compute_all_dependences): Pass loop_nest
+ to evolution_function_is_affine_multivariate_p.
+
+2007-06-20 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ * df-scan.c (df_get_call_refs): Be prepared for MEMs inside CLOBBERs.
+
+2007-06-20 Rask Ingemann Lambertsen <rask@sygehus.dk>
+
+ PR target/32335
+ * config/m32c/m32c.c (m32c_emit_epilogue): Use new HImode epilogue
+ for TARGET_A16.
+ * config/m32c/prologue.md (epilogue_exitd_16): New.
+ (epilogue_reit_16): New.
+ (epilogue_exitd): Rename to epilogue_exitd_24.
+ (epilogue_reit): Rename to epilogue_reit_24.
+
+2007-06-20 Seongbae Park <seongbae.park@gmail.com>
+ Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
+
+ * dbgcnt.def (global_alloc_at_func, global_alloc_at_reg):
+ New counters.
+ * haifa-sched.c (queue_to_ready): Don't requeue next insn
+ if dbg_cnt (sched_insn) reaches the limit.
+ (choose_ready): New parameter INSN_PTR and new return value.
+ (schedule_block): Handle dbg_cnt (sched_insn). Handle
+ the new return value from choose_ready.
+ * global.c (global_aloc): New dbgcnt global_alloc_at_reg.
+ (rest_of_handle_global_alloc): New global_alloc_at_func.
+
+2007-06-20 Adam Nemet <anemet@caviumnetworks.com>
+
+ PR tree-optimization/25737
+ * tree.h (struct tree_struct_field_tag): Add new field alias_set.
+ (SFT_NONADDRESSABLE_P, SFT_ALIAS_SET): New macros.
+ * tree-flow.h (struct fieldoff): Add new field alias_set.
+ * tree-ssa-structalias.c (push_fields_onto_fieldstack): Add new
+ argument addressable_type. Set alias_set of fieldoff.
+ * tree-ssa-alias.c (create_sft): Add new argument alias_set.
+ (create_overlap_variables_for): Pass alias_set from fieldoff to
+ create_sft.
+ * alias.c (get_alias_set): Use alias_set from SFT if set.
+
+2007-06-20 Hui-May Chang <hm.chang@apple.com>
+
+ * config/i386/darwin.h (ASM_OUTPUT_COMMON): Print the size
+ of a variable as an unsigned HOST_WIDE_INT integer.
+
+2007-06-20 Zdenek Dvorak <dvorakz@suse.cz>
+
+ PR rtl-optimization/32405
+ * loop-iv.c (iv_get_reaching_def): Fail for partial defs.
+
+2007-06-20 Jakub Jelinek <jakub@redhat.com>
+
+ * Makefile.in (omega.o): Depend on $(DIAGNOSTIC_H).
+
+ PR middle-end/31959
+ * builtins.c: Include diagnostic.h.
+ (expand_builtin_expect): Make gcc_assert more permissive.
+ * Makefile.in (builtins.o): Depend on $(DIAGNOSTIC_H).
+
+ PR inline-asm/32109
+ * gimplify.c (gimplify_asm_expr): Issue error if type is addressable
+ and !allows_mem.
+
+ PR middle-end/32285
+ * calls.c (precompute_arguments): Also precompute CALL_EXPR arguments
+ if ACCUMULATE_OUTGOING_ARGS.
+
+2007-06-19 Rask Ingemann Lambertsen <rask@sygehus.dk>
+
+ * config/m68hc11/m68hc11.c: Include dataflow header file.
+ (m68hc11_reorg): Port to dataflow.
+
+2007-06-19 Kenneth Zadeck <zadeck@naturalbridge.com>
+
+ * df.h (DF_FIRST_OPTIONAL_PROBLEM): Removed.
+ (struct df_problem.free_blocks_on_set_blocks): New field.
+ (struct dataflow.optional_p): New field.
+ (df_bb_regno_last_use_find, df_insn_regno_def_p): Removed.
+ (df_live_set_all_dirty): New function.
+ * df-scan.c (df_scan_alloc): Initialize optional_p.
+ (problem_SCAN): Initialize free_blocks_on_set_blocks.
+ * df-core.c (df_set_blocks): Removed use of
+ DF_FIRST_OPTIONAL_PROBLEM. Now uses
+ df_problem.free_blocks_on_set_blocks to determine which blocks are
+ recycled.
+ (df_remove_problem): Removed use of DF_FIRST_OPTIONAL_PROBLEM.
+ (df_finish_pass): Removed use of DF_FIRST_OPTIONAL_PROBLEM. Now
+ uses dataflow.optional_p to determine if problem should be
+ deleted.
+ (rest_of_handle_df_initialize): Only start live problem if
+ -02 or above.
+ (df_bb_regno_last_use_find, df_insn_regno_def_p): Removed.
+ * df-problems.c (df_ru_alloc, df_rd_alloc, df_lr_alloc,
+ df_live_alloc, df_urec_alloc, df_note_alloc): set optional_p.
+ (problem_RU, problem_RD, problem_LR, problem_UREC, problem_CHAIN,
+ problem_NOTE): Initialize free_blocks_on_set_blocks.
+ (df_lr_bb_local_compute): Recompute luids if df_live problem is
+ not active.
+ (df_live_set_all_dirty, df_note_alloc): New function.
+ * regrename.c (merge_overlapping_regs): Change DF_LIVE_* to
+ df_get_live_*.
+ * sched_ebb.c (compute_jump_reg_dependencies): Ditto.
+ * postreload.c (reload_combine): Ditto.
+ * cse.c (cse_extended_basic_block): Ditto.
+ * regmove.c (mark_flags_life_zones): Ditto.
+ * rtlfactoring.c (split_blocks_after_seqs, split_pattern_seq,
+ erase_matching_seqs): Ditto.
+ * bt-load.c (compute_defs_uses_and_gen): Ditto.
+ * integrate (allocate_initial_values): Ditto.
+ * combine.c (reg_dead_at_p): Ditto.
+ * resource.c (mark_target_live_regs): Ditto.
+ * sched-rgn.c (check_live_1, update_live_1): Ditto.
+ * config/sh/sh.c (find_r0_life_regions): Ditto.
+ * global.c (rest_of_handle_global_alloc): Only add back df_live
+ for -O > 1.
+ * local-alloc.c (rest_of_handle_local_alloc): Only remove
+ df_live for -O > 1.
+ * ifcvt.c (dead_or_predicable): Change DF_LIVE_* to
+ df_get_live_*.
+ (if_convert): Make sure df_live is there at -O == 1.
+ (pass_if_after_combine): Cleanup flags.
+ * init-regs.c (initialize_uninitialized_regs): Make sure df_live
+ is there at -O == 1.
+
+2007-06-19 Seongbae Park <seongbae.park@gmail.com>
+
+ * config/arm/arm.c (arm_get_frame_offsets): Set
+ offsets->locals_base to avoid negative stack size.
+ (thumb1_expand_prologue): Assert on negative stack size.
+
+2007-04-19 Sebastian Pop <sebpop@gmail.com>
+
+ PR tree-optimization/32367
+ * tree-chrec.h (build_polynomial_chrec): Verify that the left hand side
+ of the chrec has no evolution in that loop.
+ * testsuite/gcc.dg/tree-ssa/pr32367.c: New.
+
+2007-06-19 Bob Wilson <bob.wilson@acm.org>
+
+ * config/xtensa/xtensa.c: Include "df.h".
+ (xtensa_builtin_saveregs): Use adjust_address instead of change_address.
+ (xtensa_va_start): Invoke make_tree with sizetype for
+ expand_builtin_saveregs and then convert the result to a pointer.
+ Use POINTER_PLUS_EXPR. Use size_int instead of build_int_cst.
+ (xtensa_gimplify_va_arg_expr): Use size_int instead of build_int_cst.
+ Subtract argument size from index value as integers and then use
+ POINTER_PLUS_EXPR to add the result to the array address.
+
2007-06-19 Rask Ingemann Lambertsen <rask@sygehus.dk>
PR target/32335
2007-06-19 Uros Bizjak <ubizjak@gmail.com>
- * config/i386/i386.c (ix86_emit_swsqrtsf): Limit the result of
- rsqrt insn to FLT_MAX to avoid NaN for zero input argument.
+ * config/i386/i386.c (ix86_emit_swsqrtsf): Filter out infinity
+ result of rsqrt insn for zero input argument to avoid NaN.
2007-06-19 Richard Guenther <rguenther@suse.de>
PR tree-optimization/32353
* tree-ssa-structalias.c (set_uids_in_ptset): Also handle RESULT_DECL.
+2007-06-19 Nick Clifton <nickc@redhat.com>
+
+ * config/m32r/linux.h (LIB_SPEC): Always imply -lpthread for -pthread.
+
2007-06-18 Uros Bizjak <ubizjak@gmail.com>
PR target/32389
* gcse.c (replace_store_insn): Update the note before
calling emit_insn_after.
-2007-06-18 David Daney <ddaney@avtrex.com
-
- Revert:
-
- 2007-06-18 David Daney <ddaney@avtrex.com
-
- PR target/32313
- * config/mips/mips.c (mips_expand_call): Mark $gp as used by
- local function call.
-
-2007-06-18 David Daney <ddaney@avtrex.com
-
- PR target/32313
- * config/mips/mips.c (mips_expand_call): Mark $gp as used by
- local function call.
-
2007-06-18 Kenneth Zadeck <zadeck@naturalbridge.com>
PR middle-end/32355
* df-scan.c (df_get_exit-block_use_set): Always add the stack pointer
to the exit block use set.
+ (df_insn_delete, df_insn_rescan): Fixed spelling of "deferring".
* gcse.c (cpro_jump): Don't emit barrier in cfglayout mode.
* config/sparc/sparc.c (sparc_check_64): Check df != NULL.