+2005-03-21 Mike Stump <mrs@apple.com>
+
+ * varasm.c (default_assemble_visibility): Remove extra ().
+
+2005-03-21 Roger Sayle <roger@eyesopen.com>
+
+ PR middle-end/20557
+ * bb-reorder.c (duplicate_computed_gotos): Use can_duplicate_block_p
+ to determine whether a block can be duplicated, rather than test
+ whether the block contains noncopyable insns ourselves.
+
+2005-03-21 Kazu Hirata <kazu@cs.umass.edu>
+
+ * config/i860/i860.h (PREDICATE_CODES): Remove nonexistent
+ predicates.
+
+2005-03-21 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/ip2k/ip2k.h (target_flags, TARGET_SWITCHES): Delete.
+
+2005-03-21 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/fr30/fr30.h (TARGET_SMALL_MODEL_MASK, TARGET_SMALL_MODEL)
+ (TARGET_DEFAULT, target_flags, TARGET_SWITCHES): Delete.
+ * config/fr30/fr30.opt: New file.
+
+2005-03-18 Daniel Berlin <dberlin@dberlin.org>
+
+ Fix PR tree-optimization/20542
+
+ * tree-flow-inline.h (overlap_subvar): Move to here.
+ * tree-ssa-operands.c: From here.
+ * tree-flow.h (overlap_subvar): Declare.
+ * tree-ssa-alias.c (add_pointed_to_var): Use overlap_subvar here.
+ * tree-ssa-loop-im.c (is_call_clobbered_ref): Return proper answer
+ for variables with subvars.
+
+2005-03-21 Mostafa Hagog <mustafa@il.ibm.com>
+
+ PR middle-end/20177
+ * ddg.c (create_ddg_dependence): Ignore reg-anti dependency.
+ * modulo-sched.c (const_iteration_count): Return on NULL
+ pre-header.
+ (print_node_sched_params): Return on NULL dump_file.
+ (generate_reg_moves): Handle reg-anti dependencies and disregard
+ closing branch when generating register moves.
+ (sms_schedule): Mark the SMSed block dirty.
+ * passes.c (rest_of_handle_sms): Call update_life_info for all
+ basic-blocks.
+ * testsuite/gcc.dg/20050321-1.c: New test.
+
+2005-03-21 Bob Wilson <bob.wilson@acm.org>
+
+ * config/xtensa/lib1funcs.asm (__mulsi3): Use symbolic name for ACCLO.
+ * config/xtensa/xtensa.md (movsi_internal, movhi_internal,
+ movqi_internal): Likewise.
+
+2005-03-21 Bob Wilson <bob.wilson@acm.org>
+
+ * config/xtensa/xtensa-protos.h: (xtensa_simm7, xtensa_uimm8,
+ xtensa_uimm8x2, xtensa_uimm8x4, xtensa_ai4const, xtensa_lsi4x4,
+ xtensa_b4const): Delete prototypes.
+ (xtensa_simm8, xtensa_simm8x256, xtensa_simm12b, xtensa_b4constu,
+ xtensa_mask_immediate, xtensa_mem_offset): Update prototypes.
+ (xtensa_b4const_or_zero, xtensa_const_ok_for_letter_p,
+ xtensa_extra_constraint): New prototypes.
+ (add_operand, arith_operand, nonimmed_operand, mem_operand,
+ mask_operand, extui_fldsz_operand, sext_operand, sext_fldsz_operand,
+ lsbitnum_operand, branch_operand, ubranch_operand, call_insn_operand,
+ move_operand, const_float_1_operand, fpmem_offset_operand,
+ branch_operator, ubranch_operator, boolean_operator): Delete prototypes.
+ * config/xtensa/xtensa.c (b4const_or_zero): Rename to ...
+ (xtensa_b4const_or_zero): ...this. Change return type to bool and
+ argument type to HOST_WIDE_INT.
+ (xtensa_simm8, xtensa_simm8x256, xtensa_simm12b,
+ xtensa_mask_immediate): Likewise.
+ (xtensa_uimm8, xtensa_uimm8x2, xtensa_uimm8x4, xtensa_b4const):
+ Likewise. Also make these functions static.
+ (xtensa_simm7, xtensa_ai4const, xtensa_lsi4x4): Delete.
+ (xtensa_const_ok_for_letter_p): New.
+ (add_operand, arith_operand, nonimmed_operand, mem_operand,
+ mask_operand, extui_fldsz_operand, sext_operand, sext_fldsz_operand,
+ lsbitnum_operand, branch_operand, ubranch_operand, call_insn_operand,
+ move_operand, const_float_1_operand, fpmem_offset_operand,
+ branch_operator, ubranch_operator, boolean_operator): Move to
+ predicates.md.
+ (smalloffset_mem_p): Inline code from xtensa_lsi4x4.
+ (xtensa_mem_offset): Change return type to bool.
+ (xtensa_extra_constraint): New.
+ (gen_int_relational): Update type of const_range_p function pointer.
+ Use xtensa_b4const_or_zero.
+ * config/xtensa/xtensa.h (CONST_OK_FOR_LETTER_P): Define to
+ xtensa_const_ok_for_letter_p. Update comments.
+ (EXTRA_CONSTRAINT): Define to xtensa_extra_constraint.
+ (PREDICATE_CODES): Delete.
+ * config/xtensa/xtensa.md: Include predicates.md.
+ * config/xtensa/predicates.md: New file.
+
+2005-03-21 Kazu Hirata <kazu@cs.umass.edu>
+
+ * config/v850/v850-protos.h: Remove the prototypes for
+ reg_or_int9_operand, reg_or_const_operand,
+ pattern_is_ok_for_prepare, pattern_is_ok_for_dispose,
+ reg_or_0_operand, reg_or_int5_operand, call_address_operand,
+ movsi_source_operand, power_of_two_operand,
+ not_power_of_two_operand, special_symbolref_operand,
+ pattern_is_ok_for_prologue, pattern_is_ok_for_epilogue, and
+ register_is_ok_for_epilogue.
+ * config/v850/v850.c (reg_or_0_operand, reg_or_int5_operand,
+ reg_or_int9_operand, reg_or_const_operand,
+ call_address_operand, special_symbolref_operand,
+ movsi_source_operand, power_of_two_operand,
+ not_power_of_two_operand, register_is_ok_for_epilogue,
+ pattern_is_ok_for_epilogue, pattern_is_ok_for_prologue,
+ pattern_is_ok_for_dispose, pattern_is_ok_for_prepare): Move to
+ predicates.md.
+ * config/v850/v850.h (PREDICATE_CODES): Remove.
+ * config/v850/v850.md: Include predicates.md.
+ * config/v850/predicates.md: New.
+
+2005-03-21 Zack Weinberg <zack@codesourcery.com>
+
+ * Makefile.in (BASEVER, DEVPHASE, DATESTAMP)
+ (BASEVER_c, DEVPHASE_c, DATESTAMP_c)
+ (BASEVER_s, DEVPHASE_s, DATESTAMP_s, version): Set with :=.
+ (itoolsdir, itoolsdatadir): Move definition above new first use.
+ (install-itoolsdirs): New rule.
+ (install-mkheaders): Depend on install-itoolsdirs, not
+ install-include-dir.
+
+2005-03-21 Kazu Hirata <kazu@cs.umass.edu>
+
+ * tree-into-ssa.c: Remove obsolete comments.
+
+2005-03-21 Richard Guenther <rguenth@gcc.gnu.org>
+
+ * tree-ssa-loop.c (gate_tree_complete_unroll): Run complete
+ unrolling if -fpeel-loops is specified, too.
+ * tree-ssa-loop-ivcanon.c (try_unroll_loop_completely):
+ Remove superfluous check for flag_unroll_loops.
+
+2005-03-21 Uros Bizjak <uros@kss-loka.si>
+
+ * optabs.h (enum optab_index): Add new OTI_lrint and OTI_llrint.
+ (lrint_optab, llrint_optab): Define corresponding macros.
+ * optabs.c (init_optabs): Initialize lrint_optab and llrint_optab.
+ * genopinit.c (optabs): Implement lrint_optab using lrintsi2
+ pattern and llrint_optab using llrintdi2 patterns.
+ * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_LRINT{,F,L}
+ using lrint_optab and BUILT_IN_LLRINT{,F,L} using llrint_optab.
+ (expand_builtin): Expand BUILT_IN_LRINT{,F,L} and
+ BUILT_IN_LLRINT{,F,L} using expand_builtin_mathfn if
+ flag_unsafe_math_optimizations is set.
+
+2005-03-21 Paolo Bonzini <bonzini@gnu.org>
+
+ * combine.c (combine_simplify_rtx, simplify_if_then_else,
+ simplify_logical, if_then_else_cond, known_cond,
+ simplify_comparison): Adjust calls to reverse_comparison.
+ Don't use combine_reversed_comparison_code).
+ (combine_reversed_comparison_code): Remove.
+ (reversed_comparison): Using reversed_comparison_code, move it...
+ * jump.c (reversed_comparison): ... here.
+ * rtl.h (reversed_comparison): Add prototype.
+
+2005-03-21 Kazu Hirata <kazu@cs.umass.edu>
+
+ * builtins.c (fold_builtin): Take decomposed arguments of
+ CALL_EXPR.
+ * fold-const.c (fold_ternary): Update a call to fold_builtin.
+ * gimplify.c (gimplify_call_expr): Likewise.
+ * tree-ssa-ccp.c (ccp_fold, ccp_fold_builtin): Likewise.
+ * tree.h: Update the prototype of fold_builtin.
+
+2005-03-21 Paolo Bonzini <bonzini@gnu.org>
+
+ * rtl.h (struct rtx_hooks): Add gen_lowpart_no_emit.
+ * rtlhooks.c (gen_lowpart_no_emit_general): New.
+ * rtlhooks-def.h (gen_lowpart_no_emit_general): Declare.
+ (RTL_HOOKS_GEN_LOWPART_NO_EMIT): New.
+ * simplify-rtx.c (simplify_binary_operation_1): Use it.
+
+2005-03-21 Kazu Hirata <kazu@cs.umass.edu>
+
+ * builtins.c (fold_builtin_1): Take decomposed arguments of
+ CALL_EXPR.
+ (fold_builtin): Update a call to fold_builtin_1.
+
+2005-03-21 Nathan Sidwell <nathan@codesourcery.com>
+
+ PR other/20564
+ * gcov.c (output_lines): Only output function block summary when
+ outputting branch information.
+ * doc/gcov.texi: Document format of preamble and additional block
+ information lines.
+
+2005-03-21 Richard Sandiford <rsandifo@redhat.com>
+
+ * libgcc2.h (LIBGCC2_HAS_SF_MODE): New macro.
+ (LIBGCC2_HAS_DF_MODE, LIBGCC2_HAS_TF_MODE, LIBGCC2_HAS_XF_MODE): Make
+ the defaults false if BITS_PER_UNIT != 8.
+ (SFtype, SCtype, __fixsfdi, __floatdisf, __fixunssfSI, __fixunssfDI)
+ (__powisf2, __divsc3, __mulsc3): Guard with LIBGCC2_HAS_SF_MODE rather
+ than BITS_PER_UNIT != 8.
+ (L_fixdfdi, L_fixsfdi, L_fixtfdi, L_fixunsdfdi, L_fixunsdfsi)
+ (L_fixunssfdi, L_fixunssfsi, L_fixunstfdi, L_fixunsxfdi, L_fixunsxfsi)
+ (L_fixxfdi, L_floatdidf, L_floatdisf, L_floatditf, L_floatdixf): Remove
+ #undefs.
+ * libgcc2.c (__fixunssfDI, __fixsfdi, __floatdisf, __fixunssfSI)
+ (__powisf2, __divsc3, __mulsc3): Guard with LIBGCC2_HAS_SF_MODE.
+
+2005-03-20 Roger Sayle <roger@eyesopen.com>
+
+ PR middle-end/20539
+ * fold-const.c (fold_binary): Fix type mismatch between
+ TRUTH_{AND,OR,XOR}_EXPR nodes an their operands' types.
+ (fold_binary) <TRUTH_XOR_EXPR>: Avoid calling invert_truthvalue
+ for non-truth-valued expressions.
+
+ * c-common.c (c_common_truthvalue_conversion): Handle ERROR_MARK
+ and FUNCTION_DECL in the main switch.
+ <TRUTH_ANDIF_EXPR, TRUTH_ORIF_EXPR, TRUTH_AND_EXPR, TRUTH_OR_EXPR,
+ TRUTH_XOR_EXPR>: When changing the result type of these tree nodes,
+ we also need to convert their operands to match.
+ <TRUTH_NOT_EXPR>: Likewise.
+
2005-03-21 Joseph S. Myers <joseph@codesourcery.com>
* c-common.c (lvalue_or_else): Replace by lvalue_error; only give
(TARGET_OPTIONS): Delete.
* config/avr/avr.opt: New file.
+2005-03-18 2005-03-18 Kazu Hirata <kazu@cs.umass.edu>
+
+ * config/m32r/m32r-protos.h: Remove the prototypes for
+ call_address_operand, symbolic_operand, seth_add3_operand,
+ cmp_int16_operand, uint16_operand, reg_or_int16_operand,
+ reg_or_uint16_operand, reg_or_cmp_int16_operand,
+ two_insn_const_operand, move_src_operand,
+ move_double_src_operand, move_dest_operand,
+ eqne_comparison_operator, signed_comparison_operator,
+ large_insn_p, conditional_move_operand, carry_compare_operand,
+ m32r_block_immediate_operand, extend_operand,
+ reg_or_eq_int16_operand, int8_operand, and
+ reg_or_zero_operand.
+ * config/m32r/m32r.c (call_address_operand, symbolic_operand,
+ seth_add3_operand, int8_operand, cmp_int16_operand,
+ uint16_operand, reg_or_int16_operand, reg_or_uint16_operand,
+ reg_or_eq_int16_operand, reg_or_cmp_int16_operand,
+ reg_or_zero_operand, two_insn_const_operand, move_src_operand,
+ move_double_src_operand, move_dest_operand,
+ eqne_comparison_operator, signed_comparison_operator,
+ extend_operand, small_insn_p, large_insn_p,
+ conditional_move_operand, carry_compare_operand,
+ m32r_block_immediate_operand): Move to predicates.md.
+ (MAX_MOVE_BYTES): Move to m32r.h.
+ * config/m32r/m32r.h (PREDICATE_CODES): Remove.
+ * config/m32r/m32r.md: Include predicates.md.
+ * config/m32r/predicates.md: New.
+
2005-03-18 James E Wilson <wilson@specifixinc.com>
PR c++/19769
* tree-cfg.c (fold_cond_expr_cond): Use boolean types for condition.
- * cgraph.c (cgraph_remove_node): Avoid loop in code deciding whether
+ * cgraph.c (cgraph_remove_node): Avoid loop in code deciding whether
function body should be released; do not proactively release function
bodies in non-unit-at-a-time mode.
2005-03-17 Dorit Naishlos <dorit@il.ibm.com>
PR tree-optimization/20474
- * tree-vect-analyze.c (vect_analyze_pointer_ref_access): Check the
+ * tree-vect-analyze.c (vect_analyze_pointer_ref_access): Check the
size_type of the relevant pointer. Check for COMPLETE_TYPE_P.
2005-03-17 Kazu Hirata <kazu@cs.umass.edu>
(ia64_override_options): Move options parsing ...
(ia64_handle_option): ... here. New.
* config/ia64/ia64.h (target_flags, MASK_BIG_ENDIAN, MASK_GNU_AS,
- MASK_GNU_LD, MASK_NO_PIC, MASK_VOL_ASM_STOP, MASK_ILP32,
+ MASK_GNU_LD, MASK_NO_PIC, MASK_VOL_ASM_STOP, MASK_ILP32,
MASK_REG_NAMES, MASK_NO_SDATA, MASK_CONST_GP, MASK_AUTO_PIC,
MASK_INLINE_FLOAT_DIV_LAT, MASK_INLINE_FLOAT_DIV_THR,
MASK_INLINE_INT_DIV_LAT, MASK_INLINE_INT_DIV_THR,
- MASK_INLINE_SQRT_LAT, MASK_INLINE_SQRT_THR, MASK_DWARF2_ASM,
- MASK_EARLY_STOP_BITS, TARGET_BIG_ENDIAN, TARGET_GNU_AS, TARGET_GNU_LD,
+ MASK_INLINE_SQRT_LAT, MASK_INLINE_SQRT_THR, MASK_DWARF2_ASM,
+ MASK_EARLY_STOP_BITS, TARGET_BIG_ENDIAN, TARGET_GNU_AS, TARGET_GNU_LD,
TARGET_NO_PIC, TARGET_VOL_ASM_STOP, TARGET_ILP32, TARGET_REG_NAMES,
TARGET_NO_SDATA, TARGET_CONST_GP, TARGET_AUTO_PIC,
TARGET_INLINE_FLOAT_DIV_LAT, TARGET_INLINE_FLOAT_DIV_THR,
* config/alpha/alpha.opt: New file.
* config/alpha/alpha.c (alpha_tune): New. Rename all existing uses
of alpha_cpu.
- (alpha_cpu_string, alpha_tune_string, alpha_tp_string,
+ (alpha_cpu_string, alpha_tune_string, alpha_tp_string,
alpha_fprm_string, alpha_fptm_string): Make static.
(alpha_tls_size_string): Remove.
(alpha_handle_option): New.
(TARGET_DEFAULT_TARGET_FLAGS): New.
(TARGET_HANDLE_OPTION): New.
* config/alpha/alpha.h (alpha_tune): Declare.
- (MASK_FP, MASK_FPREGS, TARGET_FPREGS, MASK_GAS, TARGET_GAS,
+ (MASK_FP, MASK_FPREGS, TARGET_FPREGS, MASK_GAS, TARGET_GAS,
MASK_IEEE_CONFORMANT, TARGET_IEEE_CONFORMANT, MASK_IEEE, TARGET_IEEE,
MASK_IEEE_WITH_INEXACT, TARGET_IEEE_WITH_INEXACT, MASK_BUILD_CONSTANTS,
TARGET_BUILD_CONSTANTS, MASK_FLOAT_VAX, TARGET_FLOAT_VAX, MASK_BWX,
* tree-vectorizer.c (new_vec_stmt_info): Initialize
STMT_VINFO_SUBVARS to NULL.
* tree-vect-analyze.c (vect_analyze_data_refs): Ditto.
-
+
2005-03-16 Dale Johannesen <dalej@apple.com>
* rtlanal.c (find_first_parameter_load): Rewrite to
(process_pending_assemble_output_defs): Remove.
2005-03-16 Daniel Berlin <dberlin@dberlin.org>
-
+
Fix PR tree-optimization/20489
* tree-ssa-alias.c (push_fields_onto_fieldstack): DTRT
2005-03-16 Daniel Berlin <dberlin@dberlin.org>
Fix PR tree-optimization/20490
-
+
* tree-ssa-pre.c (create_expression_by_pieces): Use
force_gimple_operand on result of fold.
fold_builtin_strncpy.
2005-03-16 Steven Bosscher <stevenb@suse.de>
- Dorit Naishlos <dorit@il.ibm.com>
+ Dorit Naishlos <dorit@il.ibm.com>
- * tree-vect-analyze.c (vect_enhance_data_refs_alignment): Copy
- UNITS_PER_SIMD_WORD to a local variable to avoid a "division by zero"
+ * tree-vect-analyze.c (vect_enhance_data_refs_alignment): Copy
+ UNITS_PER_SIMD_WORD to a local variable to avoid a "division by zero"
error.
2005-03-16 Steven Bosscher <stevenb@suse.de>