+2007-01-16 David Edelsohn <edelsohn@gnu.org>
+
+ * config/rs6000/darwin-ldouble.c: Build file for SOFT_FLOAT.
+ (strong_alias): Define.
+ (__gcc_qmul): Provide non-FMA for soft-float.
+ (__gcc_qdiv): Same.
+ (__gcc_qneg): New.
+ (__gcc_qeq): New.
+ (__gcc_qle): New.
+ (__gcc_qge): New.
+ (__gcc_qunord): New.
+ (__gcc_stoq): New.
+ (__gcc_dtoq): New.
+ (__gcc_qtos): New.
+ (__gcc_qtod): New.
+ (__gcc_qtoi): New.
+ (__gcc_qtou): New.
+ (__gcc_itoq): New.
+ (__gcc_utoq): New.
+ (fmsub): New.
+ * config/rs6000/rs6000.c (rs6000_init_libfuncs): Initialize
+ soft-float functions.
+ * config/rs6000/libgcc-ppc-glibc.ver: Version soft-float symbols.
+ * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Do not warn
+ about long double soft float.
+
+2007-01-16 Dorit Nuzman <dorit@il.ibm.com>
+ Tehila Meyzels <tehila@il.ibm.com>
+
+ * tree-vectorizer.h (is_pattern_stmt_p): New.
+ * tree-vect-analyze.c (vect_determine_vectorization_factor): Fix
+ formatting (tabs instead of spaces). Cleanup and clarify setting
+ of STMT_VINFO_VECTYPE. Call is_pattern_stmt_p.
+ * tree-vect-transform.c (vect_get_vec_def_for_operand): Fix typo.
+ (vectorizable_type_demotion): Check that types are integral.
+ (vectorizable_type_promotion): Likewise.
+ (vectorizable_store): Fix typo. Eliminate new-line at end of
+ comments.
+
+2007-01-16 Jan Hubicka <jh@suse.cz>
+
+ * tree-ssanames.c (release_dead_ssa_names): Remove invalidated
+ cgraph edges too.
+
+2007-01-15 Eric Christopher <echristo@apple.com>
+
+ * ifcvt.c: Include vec.h, vecprim.h.
+ (check_cond_move_block): New argument regs.
+ Reorganize. Add registers used to regs.
+ (cond_move_process_if_block): Use regs set above as
+ loop bounds.
+
+2007-01-15 Eric Christopher <echristo@apple.com>
+
+ * config/darwin.h: Update copyright.
+ (TARGET_OPTION_TRANSLATE_TABLE): Add umbrella.
+ (LINK_COMMAND_SPEC): Add -u.
+ (LINK_SPEC): Fix umbrella for above.
+
+2007-01-15 Joseph S. Myers <joseph@codesourcery.com>
+
+ * config/soft-fp/op-common.h, config/soft-fp/op-4.h: Update from
+ glibc CVS.
+
+2007-01-15 Tom Tromey <tromey@redhat.com>
+
+ * doc/sourcebuild.texi (libgcj Tests): Don't mention jacks.
+ * doc/install.texi (Testing): Don't mention jacks.
+ (Configuration): Document --enable-java-maintainer-mode. Move
+ --with-java-home to libgcj-specific section. Document
+ --with-ecj-jar.
+ (Prerequisites): Mention --enable-java-maintainer-mode, ecj1.
+
+2007-01-15 Jan Hubicka <jh@suse.cz>
+
+ * tree-ssa-dce.c (DCE_TODOs): New.
+ (propagate_necessity): Return if something changed.
+ (eliminate_unnecessary_stmts): Likewise.
+ (perform_tree_ssa_dce): Return TODO flags when needed.
+ (pass_dce, pass_dce_loop, pass_cd_dce): Remove TODO flags.
+
+2007-01-15 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (fyl2xxf3_i387): Rename from fyl2x_xf3.
+ (fyl2x_extend<mode>xf3_i387): New insn pattern.
+ (log<mode>2): Rename from logsf2 and logdf2 and macroize insn
+ insn patterns using X87MODEF12 mode macro. Extend operand 1
+ to XFmode. Use SSE_FLOAT_MODE_P to disable patterns for SSE math.
+ (log10<mode>2): Ditto.
+ (log2<mode>2): Ditto.
+ (log1p<mode>2): Ditto.
+ (logb<mode>2): Ditto.
+ (fyl2xp1xf3_i387): Rename from fyl2xp1_xf3.
+ (fyl2xp1_extend<mode>xf3_i387): New insn pattern.
+ (*fxtractxf3_i387): Rename from *fxtractxf3.
+ (fxtract_extend<mode>xf3_i387): New insn pattern.
+ (ilogbsi2): Use match_dup 3, not match_operand:XF 3.
+
+ * config/i386/i386.c (ix86_emit_i387_log1p): Use gen_fyl2xp1xf3_i387()
+ and gen_fyl2xxf3_i387().
+
+2007-01-14 Zdenek Dvorak <dvorakz@suse.cz>
+
+ * loop-unswitch.c (unswitch_loop): Do not call fix_loop_placement.
+ * cfgloopmanip.c (fix_loop_placement): Made static. Use
+ get_loop_exit_edges. Changed return type to bool.
+ * cfgloop.h (fix_loop_placement): Declaration removed.
+
+2007-01-14 Dorit Nuzman <dorit@il.ibm.com>
+
+ * param.h (MIN_VECT_LOOP_BOUND): New.
+ * params.def (MIN_VECT_LOOP_BOUND): New.
+ * tree-vectorizer.c (slpeel_tree_peel_loop_to_edge): Takes another
+ argument - minimum threshold for number of iterations.
+ * tree-vectorizer.h (slpeel_tree_peel_loop_to_edge): Add another
+ argument to declaration.
+ * tree-vect-analyze.c (vect_analyze_operations): Check value of
+ MIN_VECT_LOOP_BOUND.
+ * tree-vect-transform.c (vect_do_peeling_for_loop_bound): Call
+ slpeel_tree_peel_loop_to_edge with additional argument.
+ (vect_do_peeling_for_alignment): Likewise.
+ * doc/invoke.texi (min-vect-loop-bound): Document new param option.
+
+2007-01-14 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/30413
+ * config/i386/i386.c (print_operand) ['z']: Output 'b' for
+ operands of size 1.
+
+2007-01-14 Jan Hubicka <jh@suse.cz>
+
+ * tree-dfa.c (remove_referenced_var): New function.
+ * tree-ssa-live.c (remove_unused_locals): Walk referenced vars and
+ prune referenced vars list too.
+ * tree-flow.h (remove_referenced_var): Declare.
+
+2007-01-14 Jan Hubicka <jh@suse.cz>
+
+ * tree-eh.c (add_stmt_to_eh_region_fn): Do not add call_exprs
+ separately.
+ (remove_stmt_from_eh_region_fn): Do not remove call_exprs.
+ (verify_eh_throw_stmt_node, verify_eh_throw_table_statements): Kill.
+ * except.h (verify_eh_throw_table_statements): Kill prototype.
+ * cfgexpand.c (expand_gimple_basic_block): Propagate Eh regions
+ into call exrepssions.
+ * tree-optimize.c (execute_free_cfg_annotatiosn): Do not call
+ eh trhow verifier.
+ * tree-cfg.c: Include pointer-set.h.
+ (verify_node_sharing): Work on pointer set.
+ (verify_eh_throw_stmt_node): New.
+ (verify_stmts): Use pointers sets, verify throw_stmt.
+
+2007-01-13 Zdenek Dvorak <dvorakz@suse.cz>
+
+ * ipa-reference.c (analyze_function): Consider also addresses taken
+ in phi nodes.
+
+2007-01-12 Roger Sayle <roger@eyesopen.com>
+
+ * c-typeck.c (null_pointer_constant_p): Replace use of
+ TREE_CONSTANT_OVERFLOW with TREE_OVERFLOW.
+ (build_c_cast): Likewise.
+
+2007-01-12 Roger Sayle <roger@eyesopen.com>
+
+ * tree.h (force_fit_type_double): Remove unused final argument.
+ * c-common.c (constant_expression_warning): Replace use of
+ TREE_CONSTANT_OVERFLOW with TREE_OVERFLOW.
+ (convert_and_check): Likewise.
+ (shorten_compare): Update call to force_fit_type_double.
+ (c_common_truthvalue_conversion) <INTEGER_CST>: Use integer_zerop.
+ * convert.c (convert_to_pointer): Update call to
+ force_fit_type_double.
+ * fold-const.c (force_fit_type_double): Remove overflowed_const
+ argument.
+ (int_const_binop, fold_convert_const_int_from_int,
+ fold_convert_const_int_from_real, fold_div_compare,
+ fold_sign_changed_comparison, fold_unary, fold_negate_const,
+ fold_abs_const, fold_not_const): Remove the final argument from
+ calls to force_fit_type_double.
+
+2007-01-12 Andrew Pinski <andrew_pinski@playstation.sony.com>
+
+ * configure.ac: Set insn to "nop" for spu-*-* also.
+ * configure: Regenerate.
+
+2007-01-12 Olga Golovanevsky <olga@il.ibm.com>
+
+ * builtins.def : Add BUILT_IN_FREE.
+
+2007-01-12 Jan Hubicka <jh@suse.cz>
+
+ PR tree-optimization/30443
+ * tree-inline.c (tree_function_versioning): Do not optimize when
+ cloning for inlining.
+
+2007-01-12 Zdenek Dvorak <dvorakz@suse.cz>
+
+ * doc/loop.texi: Document recording of loop exits.
+ * cfgloopmanip.c (loopify, duplicate_loop): Use alloc_loop.
+ (update_single_exits_after_duplication,
+ update_single_exit_for_duplicated_loop,
+ update_single_exit_for_duplicated_loops): Removed.
+ (duplicate_loop_to_header_edge): Do not call
+ update_single_exits_after_duplication and
+ update_single_exit_for_duplicated_loops.
+ (loop_version): Do not update single_exit information.
+ (fix_loop_structure): Use record_loop_exits instead of
+ mark_single_exit_loops.
+ * tree-ssa-loop-manip.c (tree_transform_and_unroll_loop): Update
+ the lists of loop exits.
+ * cfghooks.c (redirect_edge_and_branch, redirect_edge_and_branch_force,
+ split_edge, merge_blocks): Update the lists of loop exits.
+ * modulo-sched.c (sms_schedule): Pass LOOPS_HAVE_RECORDED_EXITS to
+ loop_optimizer_init.
+ * loop-init.c (loop_optimizer_init): Call record_loop_exits instead
+ of mark_single_exit_loops.
+ (loop_optimizer_finalize): Call release_recorded_exits.
+ * tree-ssa-loop.c (tree_loop_optimizer_init): Pass
+ LOOPS_HAVE_RECORDED_EXITS to loop_optimizer_init.
+ * tree-vectorizer.c (slpeel_tree_duplicate_loop_to_edge_cfg): Do not
+ update single exit information.
+ * lambda-code.c (perfect_nestify): Ditto.
+ * cfgloop.c (flow_loop_free): Destroy the list of exits of the loop.
+ (mark_single_exit_loops): Removed.
+ (alloc_loop, loop_exit_hash, loop_exit_eq, loop_exit_free,
+ get_exit_descriptions, rescan_loop_exit, record_loop_exits,
+ dump_recorded_exit, dump_recorded_exits, release_recorded_exits): New
+ functions.
+ (get_loop_exit_edges, single_exit): Use recorded exit lists.
+ (add_bb_to_loop, remove_bb_from_loops): Update the lists of loop exits.
+ (verify_loop_structure): Verify consistency of the exit lists.
+ (flow_loops_find): Use alloc_loop. Initialize exits hash.
+ (set_single_exit): Removed.
+ * cfgloop.h (struct loop_exit): New function.
+ (struct loop): single_exit_ field replaced by exits field.
+ (LOOPS_HAVE_MARKED_SINGLE_EXITS): Replaced by LOOPS_HAVE_RECORDED_EXITS.
+ (struct loops): Added exits hash.
+ (mark_single_exit_loops, set_single_exit): Declaration removed.
+ (release_recorded_exits, record_loop_exits, rescan_loop_exit): Declare.
+
+2007-01-12 Richard Sandiford <richard@codesourcery.com>
+
+ * doc/invoke.texi: Avoid use of @headitem.
+
+2007-01-12 Richard Sandiford <richard@codesourcery.com>
+
+ * cse.c (cse_insn): Move HAVE_CC0 code after declarations.
+
2007-01-12 Richard Sandiford <richard@codesourcery.com>
* doc/install.texi: Fix m68k-*-* anchor and add m68k-*-* to the
2007-01-10 Razya Ladelsky <razya@il.ibm.com>
* function.c (get_last_funcdef_no): New function.
- * function.h (get_last_funcdef_no): Declare.
+ * function.h (get_last_funcdef_no): Declare.
* tree-inline.c (initialize_cfun): Add initialization.
(tree_function_versioning): Cleanup.
-
+
2007-01-10 Jan Hubicka <jh@suse.cz>
* tree-inline.c (setup_one_parameter): Do not propagate into abnormal
* config/i386/i386.md (*sinxf2): Rename to *sinxf2_i387.
(*cosxf2): Rename to cosxf2_i387.
-
(*sindf2, *sinsf2): Extend operand 1 to XFmode. Macroize patterns
using X87MODEF12 mode macro. Rename patterns to
*sin_extend<mode>xf2_i387. Use SSE_FLOAT_MODE_P to disable patterns
(*cosdf2, *cossf2): Ditto.
(sincosdf3, sincossf3): Ditto. Rewrite corresponding splitters
to match extended input operands.
-
(sincos<mode>3): New expander.
-
(*sinextendsfdf2, *cosextendsfdf2, *sincosextendsfdf3): Remove
insn patterns and corresponding splitters.
(fold_sign_changed_comparison): Likewise.
(fold_unary): Likewise.
(fold_negate_const): Likewise.
- (fold_abs_const): Likewise.
+ (fold_abs_const): Likewise.
(fold_not_const): Likewise.
* c-common.c (shorten_compare): Use force_fit_type_double.
* convert.c (convert_to_pointer): Likewise.
* config/score/t-score-elf (MULTILIB_OPTIONS): Change.
* config/score/predicates.md (const_uimm5, sr0_operand, const_simm12,
const_simm15, const_pow2, const_npow2): Added.
- * config/score/misc.md (insv, extv, extzv, movmemsi,
+ * config/score/misc.md (insv, extv, extzv, movmemsi,
move_lbu_a/b, mov_lhu_a/b etc): Added and fix some bug.
- * config/score/score.c (score_address_cost, score_select_cc_mode):
+ * config/score/score.c (score_address_cost, score_select_cc_mode):
Added.
Change CONST_OK_FOR_LETTER_P/EXTRA_CONSTRAINT define.
Update score_rtx_costs for MACRO TARGET_RTX_COSTS.