1. 26 Mar, 2006 6 commits
    • re PR target/26459 (gcc fails to build on powerpc e500-double targets) · 036aadfc
      	PR target/26459
      	* config/rs6000/rs6000.md (DF reg move peephole): Prevent
      	peephole removing spe frob_di_df_2.
      
      From-SVN: r112400
      Alan Modra committed
    • tree-data-ref.c: Rename DDR_SIZE_VECT to DDR_NB_LOOPS. · ba42e045
      	* tree-data-ref.c: Rename DDR_SIZE_VECT to DDR_NB_LOOPS.
      	(subscript_dependence_tester_1): Declared.
      	(print_dir_vectors, print_dist_vectors): New.
      	(debug_data_dependence_relation): New.
      	(dump_data_dependence_relation): Print more details.
      	(initialize_data_dependence_relation): Initialize DDR_LOOP_NEST.
      	(analyze_subscript_affine_affine): Don't ICE when gcd_alpha_beta is 0.
      	(save_dist_v, save_dir_v, add_outer_distances,
      	build_classic_dist_vector_1): New.
      	(build_classic_dist_vector): Rewrite to work on DDR_LOOP_NEST.
      	Don't test for lambda_vector_lexico_pos.
      	(same_access_functions, add_multivariate_self_dist,
      	add_other_self_distances, dir_from_dist): New.
      	(build_classic_dir_vector): Replace implementation almost identical to 
      	build_classic_dist_vector with a walk of DDR_DIST_VECTS with a call to
      	dir_from_dist.
      	(subscript_dependence_tester_1): New.
      	(subscript_dependence_tester): Handle the lexicographically negative
      	distance vectors by recomputing the dependence relation.
      	(compute_affine_dependence): Remove parameter loop_nest_depth.
      	(compute_self_dependence): Don't call compute_subscript_distance.
      	(compute_all_dependences): Remove parameters nb_loops, loop_nest_depth.
      	Add a parameter for the loop_nest.
      	(find_loop_nest_1, find_loop_nest): New.
      	(compute_data_dependences_for_loop): Compute the loop nest, and give
      	up if the nest is not well formed.
      	* tree-data-ref.h (loop_p): New.
      	(struct data_dependence_relation): Replace size_vect field with 
      	loop_nest, a vec of loops.
      	(DDR_SIZE_VECT): Renamed DDR_NB_LOOPS.
      	(DDR_LOOP_NEST): New.
      	(print_dir_vectors, print_dist_vectors,
      	debug_data_dependence_relation): Declared.
      	(index_in_loop_nest): New.
      	* tree-vect-analyze.c (vect_analyze_data_ref_dependence): Use
      	DDR_LOOP_NEST and index_in_loop_nest to determine the dependence
      	distance.
      
      From-SVN: r112399
      Sebastian Pop committed
    • dwarf-1.m: Skip on AIX. · 0535d6d7
              * objc.dg/dwarf-1.m: Skip on AIX.
              * objc.dg/dwarf-2.m: Skip on AIX.
      
      From-SVN: r112398
      David Edelsohn committed
    • re PR fortran/26816 ([4.1 only] FLOAT Intrinsic does not work with Integer Halfword input) · 6110b776
      	PR fortran/26816
      	* intrinsic.c (add_functions): Allow FLOAT to accept all integer kinds.
      	* intrinsic.texi: Document FLOAT.
      
      	* gfortran.dg/float_1.f90: New test.
      
      From-SVN: r112392
      Steven G. Kargl committed
    • re PR libfortran/26661 (Sequential formatted read goes too far) · 0853054e
      2006-03-25  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
      
      	PR libgfortran/26661
      	* io/io.h: Add read_sf so it can be used by read_x.
      	* io/transfer.c (read_sf): Pass no_error flag to read_sf.  Use it to
      	break out rather than error on EOF or EOR conditions.
      	(read_block): Update call to read_sf.
      	(read_block_direct): Ditto.
      	* io/read.c (read_x): Use the modified read_sf instead of read_block.
      
      From-SVN: r112390
      Jerry DeLisle committed
    • Daily bump. · 44f808b0
      From-SVN: r112388
      GCC Administrator committed
  2. 25 Mar, 2006 12 commits
    • transfer_array_intrinsic_1.f90: Restrict to i?86 and X86_64 targets. · 94dacf2b
          * gfortran.dg/transfer_array_intrinsic_1.f90: Restrict to i?86 and
          X86_64 targets.
          * gfortran.dg/transfer_array_intrinsic_2.f90: Ditto.
      
      From-SVN: r112384
      Steven G. Kargl committed
    • simplify-rtx.c (simplify_relational_operation): Call… · 30a440a7
      simplify-rtx.c (simplify_relational_operation): Call simplify_relational_operation_1 even if mode is VOIDmode.
      
      	* simplify-rtx.c (simplify_relational_operation): Call
      	simplify_relational_operation_1 even if mode is VOIDmode.
      
      From-SVN: r112383
      Adam Nemet committed
    • re PR libfortran/26735 ([4.1 only] -fconvert=swap and implied open) · 5068c625
      2006-03-25  Thomas Koenig  <Thomas.Koenig@online.de>
      
      	PR libfortran/26735
      	* io/transfer.c (data_transfer_init):  Set u_flags.convert
      	on an unopened unit if specified by environment variable
      	(via get_unformatted_convert) or by compile-time option.
      
      2006-03-25  Thomas Koenig  <Thomas.Koenig@online.de>
      
      	PR libfortran/26735
      	* gfortran.dg/convert_implied_open.f90:  New test case.
      
      From-SVN: r112382
      Thomas Koenig committed
    • re PR fortran/26769 (Implement transpose() and reshape() for real instead of using integer) · 9a0fb43e
      2006-03-25  Thomas Koenig  <Thomas.Koenig@online.de>
      
      	PR fortran/26769
      	* iresolve.c (gfc_resolve_reshape):  Remove doubling of
      	kind for complex. For real(kind=10), call reshape_r10.
      	(gfc_resolve_transpose):  For real(kind=10), call
      	transpose_r10.
      
      2006-03-25  Thomas Koenig  <Thomas.Koenig@online.de>
      
      	PR fortran/26769
      	* Makefile.am:  Add transpose_r10.c and reshape_r10.c.
      	* aclocal.m4:  Regenerate using aclocal 1.9.3.
      	* Makefile.in:  Regenerate using automake 1.9.3.
      	* m4/iparm.m4 (rtype_ccode):  If rtype_letter is `i',
      	evaluate to rtype_kind, otherwise to rtype_code.
      	* generated/transpose_r10.c:  Add.
      	* generated/reshape_r10.c:  Add.
      
      2006-03-25  Thomas Koenig  <Thomas.Koenig@online.de>
      
      	PR fortran/26769
      	* gfortran.dg/transpose_reshape_r10.f90:  New test case.
      
      From-SVN: r112381
      Thomas Koenig committed
    • re PR tree-optimization/26804 (Alias Time explosion) · fe1f8f44
      2006-03-25  Daniel Berlin  <dberlin@dberlin.org>
      
      	PR tree-optimization/26804
      	* tree.h (DECL_CALL_CLOBBERED): New macro.
      	(tree_decl_common): Add call_clobbered_flag.
      	* tree-flow-inline.h (is_call_clobbered): Use DECL_CALL_CLOBBERED.
      	(mark_call_clobbered): Set DECL_CALL_CLOBBERED.
      	(clear_call_clobbered): Clear DECL_CALL_CLOBBERED.
      	(mark_non_addressable): Ditto.
      	* tree-ssa.c (verify_call_clobbered): New function.
      	(verify_alias_info): Use it.
      	* tree-pass.h (pass_reset_cc_flags): New prototype.
      	* tree-ssa-alias.c (pass_reset_cc_flags): New structure.
      	(reset_cc_flags): New function.
      	* passes.c (init_optimization_passes): Call reset_cc_flags after
      	initializing referenced_vars.
      
      From-SVN: r112380
      Daniel Berlin committed
    • re PR middle-end/26717 (complex/complex gives a REAL_CST) · 1d8b38a0
      	PR middle-end/26717
      	* fold-const.c (fold_binary) [RDIV_EXPR]: Do not optimize A / A
      	to 1.0 for non-real operands. Implement A / A optimization for
      	complex operands.
      
      
      Co-Authored-By: Roger Sayle <roger@eyesopen.com>
      
      From-SVN: r112379
      Uros Bizjak committed
    • i386.c (size_cost): Correct the comment for cost of storing fp registers. · 75bcbcdb
      2006-03-25  H.J. Lu  <hongjiu.lu@intel.com>
      
      	* config/i386/i386.c (size_cost): Correct the comment for
      	cost of storing fp registers.
      	(i386_cost): Likewise.
      	(i486_cost): Likewise.
      	(pentium_cost): Likewise.
      	(pentiumpro_cost): Likewise.
      	(k6_cost): Likewise.
      	(athlon_cost): Likewise.
      	(k8_cost): Likewise.
      	(pentium4_cost): Likewise.
      	(nocona_cost): Likewise.
      	(generic64_cost): Likewise.
      	(generic32_cost): Likewise.
      
      From-SVN: r112378
      H.J. Lu committed
    • dependency.c (gfc_check_dependency): Improve handling of pointers... · bfd022c1
      
      	* dependency.c (gfc_check_dependency): Improve handling of pointers;
      	Two variables of different types can't have a dependency, and two
      	variables with the same symbol are equal, even if pointers.
      
      	* gfortran.dg/dependency_12.f90: New test case.
      
      From-SVN: r112377
      Roger Sayle committed
    • re PR libgcj/26858 (NullPointerException not generated for large classes...) · ccf37f77
      	* testsuite/libjava.lang/PR26858.java: New test.
      	* testsuite/libjava.lang/PR26858.out: Ditto.
      	* testsuite/libjava.lang/PR26858.xfail: Ditto.
      
      From-SVN: r112374
      David Daney committed
    • gfortran.h (gfc_symbol): Add a new "forall_index" bit field. · 31708dc6
      
      	* gfortran.h (gfc_symbol): Add a new "forall_index" bit field.
      	* match.c (match_forall_iterator): Set forall_index field on
      	the iteration variable's symbol.
      	* dependency.c (contains_forall_index_p): New function to
      	traverse a gfc_expr to check whether it contains a variable
      	with forall_index set in it's symbol.
      	(gfc_check_element_vs_element): Return GFC_DEP_EQUAL for scalar
      	constant expressions that don't variables used as FORALL indices.
      
      	* gfortran.dg/dependency_9.f90: New (resurected) test case.
      
      From-SVN: r112373
      Roger Sayle committed
    • dwarf2out.c (is_c_family): Understand new DWARF3 language types. · 9e51ddaa
      2006-03-24  Geoffrey Keating  <geoffk@apple.com>
      
      	* dwarf2out.c (is_c_family): Understand new DWARF3 language types.
      	(is_cxx): Likewise.
      	(gen_compile_unit_die): Use new language types for Objective-C and
      	Objective-C++.
      	(dwarf2out_decl): Use is_cxx rather than testing explicitly against
      	DW_LANG_C_plus_plus.
      
      Index: testsuite/ChangeLog
      2006-03-24  Geoffrey Keating  <geoffk@apple.com>
      
      	* objc.dg/dwarf-2.m: New.
      	* obj-c++.dg/dwarf-2.mm: New.
      
      From-SVN: r112372
      Geoffrey Keating committed
    • Daily bump. · affceb31
      From-SVN: r112370
      GCC Administrator committed
  3. 24 Mar, 2006 15 commits
  4. 23 Mar, 2006 7 commits
    • ffitarget.h (enum ffi_abi): Add FFI_LINUX. · 75b8b1be
      	* src/powerpc/ffitarget.h (enum ffi_abi): Add FFI_LINUX.  Default
      	for 32-bit using IBM extended double format.  Fix FFI_LAST_ABI.
      	* src/powerpc/ffi.c (ffi_prep_args_SYSV): Handle linux variant of
      	FFI_TYPE_LONGDOUBLE.
      	(ffi_prep_args64): Assert using IBM extended double.
      	(ffi_prep_cif_machdep): Don't munge FFI_TYPE_LONGDOUBLE type.
      	Handle FFI_LINUX FFI_TYPE_LONGDOUBLE return and args.
      	(ffi_call): Handle FFI_LINUX.
      	(ffi_closure_helper_SYSV): Non FFI_LINUX long double return needs
      	gpr3 return pointer as for struct return.  Handle FFI_LINUX
      	FFI_TYPE_LONGDOUBLE return and args.  Don't increment "nf"
      	unnecessarily.
      	* src/powerpc/ppc_closure.S (ffi_closure_SYSV): Load both f1 and f2
      	for FFI_TYPE_LONGDOUBLE.  Move epilogue insns into case table.
      	Don't use r6 as pointer to results, instead use sp offset.  Don't
      	make a special call to load lr with case table address, instead
      	use offset from previous call.
      	* src/powerpc/sysv.S (ffi_call_SYSV): Save long double return.
      	* src/powerpc/linux64.S (ffi_call_LINUX64): Simplify long double
      	return.
      
      From-SVN: r112340
      Alan Modra committed
    • re PR target/26607 (Illegal inlined assembler on config/rs6000/darwin-ldouble.c) · 5b314bb3
      	PR target/26607
      	* config/rs6000/darwin-ldouble.c: Don't compile when __NO_FPRS__
      	or __LITTLE_ENDIAN__.
      
      From-SVN: r112334
      Alan Modra committed
    • Update FSF address. · 9439d626
      From-SVN: r112332
      Joern Rennecke committed
    • divtab-sh4.c, [...]: New files. · b368d6b8
      2006-03-23  J"orn Rennecke <joern.rennecke@st.com>
      
      	* config/sh/divtab-sh4.c, config/sh/divcost-analysis: New files.
      	* config/sh/lib1funcs.asm (div_table): Add !__SH5__ variant.
      	* config/sh/t-sh (LIB1ASMFUNCS): Add _div_table.
      	* config/sh/sh.opt (mdiv=): Amend description.
      	* config/sh/sh.h (TARGET_DIVIDE_CALL_DIV1): New macro.
      	(TARGET_DIVIDE_CALL_FP, TARGET_DIVIDE_CALL_TABLE): Likewise.
      	(sh_divide_strategy_e): Add new members SH_DIV_CALL_DIV1,
      	SH_DIV_CALL_FP, SH_DIV_CALL_TABLE and SH_DIV_INTRINSIC.
      	(OVERRIDE_OPTIONS): Also process sh_div_str for TARGET_SH1.
      	Calculate sh_divsi3_libfunc using TARGET_DIVIDE_* macros.
      	* config/sh/sh.md (udivsi3_i4_int, divsi3_i4_int): New patterns.
      	(udivsi3, divsi3): Use them.  Check TARGET_DIVIDE_CALL_TABLE /
      	TARGET_DIVIDE_CALL_FP.
      
      From-SVN: r112331
      J"orn Rennecke committed
    • haifa-sched.c (choose_ready): Fix type of the local variable. · a57aee2a
      2006-03-23  Maxim Kuvyrkov  <mkuvyrkov@ispras.ru>
      
      	* haifa-sched.c (choose_ready): Fix type of the local variable.
      	Move local variables.  Add comment.
      	(check_reg_live): Change signature.  Make callable from debugger.
      	* sched-int.h (check_reg_live): Update signature.
      	* sched-ebb.c (check_reg_live): Update parameters.
      	* sched-rgn.c (check_reg_live): Ditto.
      	(region_head_or_leaf_p): Check pointer before dereferencing.
      	* config/ia64/ia64.c (ia64_set_sched_flags): Disable data speculation
      	before reload on optimization levels below 1.
      
      From-SVN: r112328
      Maxim Kuvyrkov committed
    • alpha.c (alpha_legitimate_constant_p): Reject tls symbols. · e584065d
              * config/alpha/alpha.c (alpha_legitimate_constant_p): Reject
              tls symbols.
      
      From-SVN: r112323
      Richard Henderson committed
    • re PR target/26347 (hidden weak extern functions fail regardless of existence on alpha/linux) · dec6909b
              PR target/26347
              * config/alpha/predicates.md (local_symbolic_operand): Reject
              weak symbols.
      
      From-SVN: r112322
      Richard Henderson committed