2006-01-11 Ian Lance Taylor <ian@airs.com>
* combine.c (struct undo): Remove is_int. Enumify types of undos.
Allow undoing set of machine mode.
(do_SUBST): Use enums instead of is_int.
(do_SUBST_MODE): New function.
(SUBST_MODE): New macro.
(try_combine): Use SUBST_MODE/PUT_MODE instead of generating a new
reg and trying to replace reg_regno_rtx with a new register.
(undo_all): Use new enums, handle undoing a PUT_MODE change.
(simplify_set): Use SUBST_MODE.
(distribute_notes): Remove code that tried to update reg notes
for regno_reg_rtx changes.
From-SVN: r109579
* tree-ssa-operands.c (get_expr_operands): Record addressable
variables directly. Do not call add_stmt_operands for CONST_DECLs
and ARRAY_DECLs.
(get_indirect_ref_operands): Remove handling of *(&a + offset) case.
(add_stmt_operands): Handle only objects satisfying SSA_VAR_P.
From-SVN: r109576
2005-01-11 Paul Thomas <pault@gcc.gnu.org>
PR fortran/25730
* trans-types.c (copy_dt_decls_ifequal): Copy backend decl for
character lengths.
2006-01-11 Paul Thomas <pault@gcc.gnu.org>
PR fortran/25730
* gfortran.dg/used_types_1.f90: New test.
From-SVN: r109573
PR target/20754
* pa.md: Create separate 32 and 64-bit move patterns for SI, DI, SF
and DF modes. Add alternatives to copy between general and floating
point registers to the 32-bit patterns.
* pa-64.h (SECONDARY_MEMORY_NEEDED_RTX): Delete undefine.
* pa.h (SECONDARY_MEMORY_NEEDED_RTX): Delete define.
(SECONDARY_MEMORY_NEEDED): Secondary memory is only needed when
generating 64-bit code.
* pa.c (output_move_double): Handle copies between general and
floating registers.
From-SVN: r109557
2006-01-10 Richard Guenther <rguenther@suse.de>
* tree-ssa-structalias.c (get_constraint_for_component_ref):
Never override with anything constraint.
From-SVN: r109544
2006-01-10 Jan Beulich <jbeulich@novell.com>
* config/i386/i386.c (ix86_data_alignment): Don't force alignment to
256 bits when optimize_size.
From-SVN: r109537
2006-01-08 Chris Burdess <dog@gnu.org>
* java/lang/Character.java (toChars,toCodePoint): Correct these
methods to use algorithms from Unicode specification.
From-SVN: r109516
2006-01-09 Andrew Pinski <pinskia@physics.uc.edu>
fortran/24936
* trans-stmt.c (gfc_trans_pointer_assign_need_temp): Use fold_convert
to avoid type mismatch.
2006-01-09 Andrew Pinski <pinskia@physics.uc.edu>
fortran/24936
* gfortran.dg/forall_3.f90: New test.
From-SVN: r109508
2006-01-09 Andrew Pinski <pinskia@physics.uc.edu>
PR fortran/21977
* gfortran.dg/nesting_2.f90: New test.
* gfortran.dg/nesting_3.f90: New test.
2006-01-09 Andrew Pinski <pinskia@physics.uc.edu>
PR fortran/21977
* trans-decl.c (gfc_generate_function_code): Move the NULLing of
current_fake_result_decl down to below generate_local_vars.
From-SVN: r109503
* tree-ssa-dom.c (simplify_cond_and_lookup_avail_expr): Remove
code to propagate the RHS of a cast into COND_EXPR_COND. Remove
now unused arguments. Callers updated.
(eliminate_redundant_computations): Remove now unused arguments,
callers updated.
(local_fold): Remove, no longer used.
(find_equivalent_equality_comparison): Removed from tree-ssa-dom.c
and moved to...
* tree-ssa-forwprop.c (find_equivalent_equality_comparison): Here.
(simplify_cond): New function.
(forward_propagate_into_cond): Call simplify_cond.
From-SVN: r109502
2006-01-09 Feng Wang <fengwang@nudt.edu.cn>
PR fortran/12456
* trans-expr.c (gfc_to_single_character): New function that converts
string to single character if its length is 1.
(gfc_build_compare_string):New function that compare string and handle
single character specially.
(gfc_conv_expr_op): Use gfc_build_compare_string.
(gfc_trans_string_copy): Use gfc_to_single_character.
* trans-intrinsic.c (gfc_conv_intrinsic_strcmp): Use
gfc_build_compare_string.
* trans.h (gfc_build_compare_string): Add prototype.
testsuite ChangeLog entry:
2006-01-09 Feng Wang <fengwang@nudt.edu.cn>
PR fortran/12456
* gfortran.dg/single_char_string.f90: New test.
From-SVN: r109489
fortran/
2006-01-09 Feng Wang <fengwang@nudt.edu.cn>
* simplify.c (gfc_simplify_char): Use UCHAR_MAX instead of literal
constant.
(gfc_simplify_ichar): Get the result from unsinged char and in the
range 0 to UCHAR_MAX instead of CHAR_MIN to CHAR_MAX.
Testsuite ChangeLog entry:
2006-01-09 Feng Wang <fengwang@nudt.edu.cn>
* gfortran.dg/intrinsic_i_char.f90: New test.
From-SVN: r109488
* config/sh/sh.h (CONST_OK_FOR_K16): Define.
(CONST_OK_FOR_K): Add CONST_OK_FOR_K16 case.
(EXTRA_CONSTRAINT_C16): Remove.
(EXTRA_CONSTRAINT_Css, EXTRA_CONSTRAINT_Csu): Define.
(EXTRA_CONSTRAINT_C): Remove EXTRA_CONSTRAINT_C16 case and add
EXTRA_CONSTRAINT_Css and EXTRA_CONSTRAINT_Csu cases.
* config/sh/sh.c (print_operand): Handle unsigned 16-bit symbolic
constants of SHmedia. Handle nested constant expressions of
SHmedia correctly.
(andcosts): Fix the costs for SHmedia constants.
(sh_rtx_costs): Take account of outer_code for SHmedia constants.
* config/sh/sh.md (*movsi_media): Use Css constraint instead of C16.
(*movsi_media_nofpu, *movqi_media, *movhi_media): Likewise.
(*movdi_media, *movdi_media_nofpu, movv8qi_i, movv2hi_i): Likewise.
(movv4hi_i, movv2si_i): Likewise.
(movsi_const): Adjust the second operand of ior so to match with
the Csu constraint.
(movdi_const, movdi_const_32bit): Likewise.
(movdi_const_16bit+1): Don't sign-extend LOW.
(movdi_const_16bit+2): Likewise. Remove the zero_extend and truncate
step.
(*double_shori): Fix the split condition. Use GEN_INT instead
of get_int_mode calls. Mask lower 16-bit of the argument of
the last GEN_INT.
(sym2GOTPLT): Remove.
(symGOTPLT2reg): Replace gen_sym2GOTPLT with gen_rtx_CONST and
gen_rtx_UNSPEC.
* config/sh/predicates.md (arith_operand): Use EXTRA_CONSTRAINT_Css
instead of EXTRA_CONSTRAINT_C16.
Co-Authored-By: Kaz Kojima <kkojima@gcc.gnu.org>
From-SVN: r109471