Commit Graph

64722 Commits

Author SHA1 Message Date
Richard Henderson
0e4e8dab7b * config/sparc/sparc.c (TARGET_RELAXED_ORDERING): True.
From-SVN: r92722
2004-12-29 16:42:16 -08:00
Mark Mitchell
d9fa123367 re PR c++/19190 (warning "value computed is not used" emitted too often)
PR c++/19190
	* cvt.c (convert_to_void): Do not use STRIP_NOPs.

	PR c++/19190
	* g++.dg/warn/Wunused-10.C: New test.

From-SVN: r92721
2004-12-30 00:31:00 +00:00
Paolo Carlini
d98fd13429 Minimal fixes for -fno-exceptions.
2004-12-29  Paolo Carlini  <pcarlini@suse.de>

	Minimal fixes for -fno-exceptions.
	* src/bitmap_allocator.cc (free_list::_M_get): Use
	__throw_exception_again, instead of plain throw.
	* testsuite/testsuite_abi.cc (get_symbol, examine_symbol,
	create_symbols): Likewise.
	* testsuite/testsuite_hooks.cc (verify_demangle,
	run_tests_wrapped_locale, run_tests_wrapped_env): Likewise.
	(try_named_locale): Wrap the whole catch in __EXCEPTIONS.

From-SVN: r92720
2004-12-30 00:21:10 +00:00
GCC Administrator
b53948b951 Daily bump.
From-SVN: r92718
2004-12-30 00:16:33 +00:00
Jeff Law
06170e1d31 tree-outof-ssa.c (insert_backedge_copies): New function.
* tree-outof-ssa.c (insert_backedge_copies): New function.
        (rewrite_out_of_ssa): Use it.

From-SVN: r92711
2004-12-29 12:21:07 -07:00
Dorit Nuzman
263db5562a tree-vectorizer.c (vect_get_base_and_offset): Adjust call too get_inner_reference (missing argument).
* tree-vectorizer.c (vect_get_base_and_offset): Adjust call too
        get_inner_reference (missing argument).

From-SVN: r92705
2004-12-29 13:54:29 +00:00
Ira Rosen
9479075aa0 re PR tree-optimization/18179 (vectorizer: wrong alignment/step/initial-address computed for struct accesses)
2004-12-29  Ira Rosen  <irar@il.ibm.com>

        PR tree-optimization/18179
        * tree-vectorizer.c (vect_get_base_and_offset): Call get_inner_reference
        and vect_analyze_offset_expr.
        (vect_create_addr_base_for_vector_ref): Build address_base by combining
        base and initial_offset fields of vect_stmt_info.
        (vect_update_inits_of_dr): Update offset of data-ref instead of its
        access-fn. Remove argument.
        (vect_update_inits_of_drs): Call vect_update_inits_of_dr with new
        arguments.
        (vect_compute_data_ref_alignment): Check misalignment info in
        vect_stmt_info. Remove argument.
        (vect_compute_data_refs_alignment): Call vect_compute_data_ref_alignment
        with correct argument.
        (vect_analyze_data_ref_access): Check access info in vect_stmt_info.
        (vect_analyze_pointer_ref_access): Update step and initial_offset fields
        of vect_stmt_info.
        (vect_get_memtag_and_dr): Call vect_get_base_and_offset and set the
        fields of stmt_vec_info.
        (vect_analyze_data_refs): Find vectype and pass it to
        vect_get_memtag_and_dr.
        (vect_get_first_index): Remove.
        (vect_compute_array_base_alignment): Remove.
        (vect_compute_array_ref_alignment): Remove
        (vect_create_data_ref_ptr): Use TYPE_SIZE_UNIT instead GET_MODE_SIZE.
        (vect_gen_niters_for_prolog_loop): Use TREE_CONSTANT instead
        host_integerp.
        (vectorizable_load): Use size arithmetics.

From-SVN: r92704
2004-12-29 13:38:30 +00:00
Ira Rosen
21c58af545 re PR tree-optimization/18179 (vectorizer: wrong alignment/step/initial-address computed for struct accesses)
2004-12-29  Ira Rosen  <irar@il.ibm.com>

        PR tree-optimization/18179
        * tree-vectorizer.c (vect_get_base_and_offset): Rename (previous name
        vect_get_base_and_bit_offset).
        (vect_get_memtag_and_dr): Rename (previous name vect_get_symbl_and_dr).

From-SVN: r92702
2004-12-29 13:20:35 +00:00
Ira Rosen
1de6a87312 re PR tree-optimization/18179 (vectorizer: wrong alignment/step/initial-address computed for struct accesses)
2004-12-29  Ira Rosen  <irar@il.ibm.com>

        PR tree-optimization/18179
        * tree-vectorizer.h (struct _stmt_vec_info): Add new fields:
        initial_offset, step, misalignment and base_aligned_p and macros
        to access them.
        * tree-vectorizer.c (vect_analyze_offset_expr): New function.
        (new_stmt_vec_info): Initialize the new fields of stmt_vec_info.

        (vect_create_data_ref_ptr): Fix printings.

From-SVN: r92701
2004-12-29 13:16:07 +00:00
Ira Rosen
6e611d9276 re PR tree-optimization/18179 (vectorizer: wrong alignment/step/initial-address computed for struct accesses)
2004-12-29  Ira Rosen  <irar@il.ibm.com>

        PR tree-optimization/18179
        * tree-vectorizer.c (vect_get_symbl_and_dr): Reorganize. Add memtag
        retrieval.
        (vect_analyze_data_refs): Remove memtag retrieval.

From-SVN: r92700
2004-12-29 13:11:58 +00:00
Paolo Carlini
5249b4b0ce type_traits: Add has_nothrow_constructor.
2004-12-29  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1/type_traits: Add has_nothrow_constructor.
	* testsuite/tr1/4_metaprogramming/type_properties/
	has_nothrow_constructor/has_nothrow_constructor.cc: New.
	* testsuite/tr1/4_metaprogramming/type_properties/
	has_nothrow_constructor/typedefs.cc: Likewise.

From-SVN: r92699
2004-12-29 12:11:27 +00:00
Steven G. Kargl
410d1a45e2 gfortran.h (gfc_case): fix typo in comment.
2004-12-29  Steven G. Kargl  <kargls@comcast.net>

* gfortran.h (gfc_case): fix typo in comment.

From-SVN: r92695
2004-12-29 03:48:27 +01:00
Richard Henderson
2f9742c376 * objc.dg/stabs-1.m: Disable for alpha.
From-SVN: r92694
2004-12-28 17:43:00 -08:00
Richard Henderson
74f0c611c6 re PR inline-asm/15740 (ICE caused by a memory operand in an asm statement)
PR inline-asm/15740
        * gimplify.c (gimplify_asm_expr): Move resolve asm names ...
        * c-typeck.c (build_asm_expr): ... here.  Validate input
        constraints.  Mark memory inputs addressable.

        * semantics.c (finish_asm_stmt): Resolve asm names.  Validate input
        constraints.  Mark memory inputs addressable.

From-SVN: r92693
2004-12-28 17:22:15 -08:00
GCC Administrator
85f3cc4295 Daily bump.
From-SVN: r92691
2004-12-29 00:16:14 +00:00
Hans-Peter Nilsson
ffa1a597b9 re PR target/18321 (mmix-knuth-mmixware testsuite failure: gcc.c-torture/compile/20031023-4.c -O0, -O1)
PR target/18321
	* config/mmix/mmix.c (mmix_expand_epilogue): Change type of
	variable offset to HOST_WIDE_INT.  Remove obsolete comment.  Fix
	spacing.

From-SVN: r92685
2004-12-28 23:19:12 +00:00
Paolo Bonzini
3224a22f10 re PR bootstrap/17383 (Building in src dir fails)
2004-12-28  Paolo Bonzini  <bonzini@gnu.org>

	PR bootstrap/17383

	* Makefile.def (target_modules): Remove stage parameter,
	it is always true now.
	* Makefile.tpl (configure-build-[+module+],
	configure-target-[+module+]): Always build symlink tree
	for the directory and for include.  BUILD_SUBDIR and
	TARGET_SUBDIR cannot be . anymore.
	* Makefile.in: Regenerate.

From-SVN: r92674
2004-12-28 17:40:40 +00:00
David Edelsohn
7afe555c33 configure.host (aix4*|aix5*): Add atomic_word_dir.
* configure.host (aix4*|aix5*): Add atomic_word_dir.
	* config/os/aix/atomic_word.h: New file.

From-SVN: r92673
2004-12-28 11:34:16 -05:00
Andrew Pinski
0e256a822b fold-const.c (fold_build_cleanup_point_expr): For a RETURN_EXPR...
2004-12-28  Andrew Pinski  <pinskia@physics.uc.edu>

        * fold-const.c (fold_build_cleanup_point_expr): For a RETURN_EXPR,
        we only need a cleanup point expression when the expression on the
        left hand side of the MODIFIY_EXPR inside the return has side
        effects.

From-SVN: r92672
2004-12-28 07:56:51 -08:00
Dorit Naishlos
2b0729bafa * tree-vectorizer.c (vect_mark_relevant) First argument changed from
varray_type to varray_type*.
        (vect_mark_stmts_to_be_vectorized): Pass &worklist instead of worklist
        when calling vect_mark_relevant.

From-SVN: r92671
2004-12-28 12:44:29 +00:00
Alan Modra
0d8c1c97eb rs6000.c (rs6000_legitimize_reload_address): Don't generate non-offsettable DImode lo_sum addresses.
* config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Don't
	generate non-offsettable DImode lo_sum addresses.

From-SVN: r92670
2004-12-28 21:54:21 +10:30
Zdenek Dvorak
6e17f9c1fe re PR rtl-optimization/19103 (Current CVS (2004/12/21) doesn't compile with profiledbootstrap)
PR rtl-optimization/19103
	* loop-iv.c (iv_number_of_iterations): Fix typo.

From-SVN: r92669
2004-12-28 10:33:39 +00:00
Andreas Jaeger
8127356e4e * genrecog.c (compute_predicate_codes): Avoid warning.
From-SVN: r92668
2004-12-28 08:56:09 +01:00
John David Anglin
76335fefff vax.c (vax_address_cost, [...]): Correct casts.
* vax.c (vax_address_cost, vax_rtx_cost): Correct casts.
	(vax_rtx_cost): Handle small offsets for both PLUS and MINUS.

From-SVN: r92667
2004-12-28 07:51:17 +00:00
Jeff Law
685c2171c1 tree-ssa-dom.c (thread_across_edge): Remove broken code to avoid threading into a loop.
* tree-ssa-dom.c (thread_across_edge): Remove broken code to
        avoid threading into a loop.

From-SVN: r92666
2004-12-27 23:34:55 -07:00
Richard Henderson
5fc94ac4ba re PR target/17406 (ICE dwarf2out_frame_debug_expr, at dwarf2out.c:1692)
PR target/17406
        * config/i386/i386.c (ix86_expand_prologue): Add REG_FRAME_RELATED_EXPR
        note for allocate_stack_worker insn.

From-SVN: r92662
2004-12-27 21:26:23 -08:00
Jason Merrill
445cf5eb0d Add memory barriers to the double-checked locking used for static initialization.
libstdc++:
        Add memory barriers to the double-checked locking used for static
        initialization.
        * libsupc++/guard.cc (__test_and_acquire): Define default.
        (_GLIBCXX_GUARD_TEST_AND_ACQUIRE, __set_and_release)
        (_GLIBCXX_GUARD_SET_AND_RELEASE): Likewise.
        (recursion_push, recursion_pop): New abstraction functions.
        (__cxa_guard_acquire): Use _GLIBCXX_GUARD_TEST_AND_ACQUIRE.
        (__cxa_guard_release): Use _GLIBCXX_GUARD_SET_AND_RELEASE.
        * config/cpu/generic/cxxabi_tweaks.h (_GLIBCXX_GUARD_TEST): Rename
        from _GLIBCXX_GUARD_ACQUIRE and reverse sense.
        (_GLIBCXX_GUARD_SET): Rename from _GLIBCXX_GUARD_RELEASE.
        * config/cpu/arm/cxxabi_tweaks.h: Likewise.
        * config/cpu/alpha/atomic_word.h (_GLIBCXX_READ_MEM_BARRIER)
        (_GLIBCXX_WRITE_MEM_BARRIER): Define.
        * config/cpu/powerpc/atomic_word.h: Likewise.
        * config/cpu/sparc/atomic_word.h: Likewise.
        * config/cpu/generic/atomic_word.h: Define them, commented out.
        * include/bits/atomicity.h: Define defaults.
        * config/cpu/ia64/atomic_word.h (__test_and_acquire)
        (__set_and_release): New inlines.
        (_GLIBCXX_GUARD_TEST_AND_ACQUIRE): Define.
        (_GLIBCXX_GUARD_SET_AND_RELEASE): Define.

        * libsupc++/guard.cc (acquire_1): Use __builtin_trap instead of
        abort();

gcc:
        * doc/tm.texi (TARGET_RELAXED_ORDERING): Document.
        * target.h (struct gcc_target): Add relaxed_ordering field.
        * target-def.h (TARGET_RELAXED_ORDERING): Define default.
        (TARGET_INITIALIZER): Add it.
        * config/alpha/alpha.c (TARGET_RELAXED_ORDERING): Define.
        * config/ia64/ia64.c (TARGET_RELAXED_ORDERING): Define.
        * config/rs6000/rs6000.c (TARGET_RELAXED_ORDERING): Define.
        * config/sparc/sparc.c (TARGET_RELAXED_ORDERING): Define.
        * cp/decl.c (expand_static_init): Don't use shortcut if
        targetm.relaxed_ordering.

From-SVN: r92659
2004-12-27 23:36:54 -05:00
Roger Sayle
1f7edb8b3d re PR driver/16118 (Preprocessed source error with -xf77-cpp-input)
PR driver/16118
	* doc/invoke.texi: Document the interaction between -save-temps
	and -x.

From-SVN: r92658
2004-12-28 04:24:30 +00:00
David Edelsohn
55aa0757e2 rs6000.c (rs6000_eliminate_indexed_memrefs): Do not break apart constant pool addresses.
* config/rs6000/rs6000.c (rs6000_eliminate_indexed_memrefs):
        Do not break apart constant pool addresses.
        (rs6000_emit_move): Only force source into REG if target is MEM.

From-SVN: r92657
2004-12-27 19:39:18 -05:00
GCC Administrator
460fdb4efa Daily bump.
From-SVN: r92655
2004-12-28 00:16:20 +00:00
H.J. Lu
24f2cabbff Makefile.in: Undo to 2004-12-17.
2004-12-27  H.J. Lu  <hongjiu.lu@intel.com>

	* Makefile.in: Undo to 2004-12-17.
	* aclocal.m4: Likewise.
	* config.table: Likewise.
	* configure.ac: Likewise.
	* maint-tool: Likewise.
	* configure: Likewise.

From-SVN: r92651
2004-12-27 13:00:12 -08:00
Mark Mitchell
c827f22fb9 re PR c++/19149 (seg fault on invalid code)
PR c++/19149
	* decl.c (check_tag_decl): Robustify.

	PR c++/19149
	* g++.dg/parse/error23.C: New test.

From-SVN: r92648
2004-12-27 19:03:16 +00:00
Paolo Carlini
5168743153 type_traits: Rework the _DEFINE_SPEC* macros.
2004-12-27  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1/type_traits: Rework the _DEFINE_SPEC* macros.

From-SVN: r92647
2004-12-27 18:51:12 +00:00
Mark Mitchell
8f8883b140 * g++.dg/opt/temp1.C (memcpy): Return a value.
From-SVN: r92646
2004-12-27 18:01:58 +00:00
Tobias Schlüter
e98a8b5b62 re PR libfortran/19032 (modulo generates wrong result for divisor 1 and -1)
fortran/
PR fortran/19032
* trans-intrinsic.c (gfc_conv_intrinsic_mod): Update comment
in front of function to match the standard.  Correct handling
of MODULO.

testsuite/
PR fortran/19032
* gfortran.dg/intrinsic_modulo_1.f90: New.
* gfortran.fortran-torture/execute/intrinsic_mod_ulo.f90: Add
tests with divisor -1.

From-SVN: r92645
2004-12-27 18:13:07 +01:00
Andrew Pinski
201a97b479 trans-expr.c (gfc_conv_cst_int_power): Only check for flag_unsafe_math_optimizations if we have a float type.
2004-12-27  Andrew Pinski  <pinskia@physics.uc.edu>

        * trans-expr.c (gfc_conv_cst_int_power): Only check for
        flag_unsafe_math_optimizations if we have a float type.

From-SVN: r92644
2004-12-27 08:56:38 -08:00
Tobias Schlüter
963fe80802 Fix typo in ChangeLog
From-SVN: r92643
2004-12-27 17:43:47 +01:00
Tobias Schlüter
56746a0745 trans-intrinsic.c (gfc_conv_intrinsic_ishft): Change to logicalshift.
gcc/fortran/
* trans-intrinsic.c (gfc_conv_intrinsic_ishft): Change to
logicalshift.  Call fold.  Remove 0-bit shift shortcut.
(gfc_conv_intrinsic_ishftc): Convert first argument to at least
4 bytes bits.  Convert 2nd and 3rd argument to 4 bytes.  Convert
result if width(arg 1) < 4 bytes.  Call fold.

libgfortran/
* libgfortran/libgfortran.h (GFC_UINTEGER_1, GFC_UINTEGER_2):
Define.
* intrinsics/ishftc.c: Update copyright years.
(ishftc8): Change 'shift' and 'size' to GFC_INTEGER_4.
* intrinsics/mvbits.c: Correcty non-ASCII character in my name.
Add implementations for GFC_INTEGER_1 and GFC_INTEGER_2.

gcc/testsuite/
* gfortran.dg/g77/f90-intrinsic-bit.f: New.

From-SVN: r92642
2004-12-27 17:43:25 +01:00
Mark Mitchell
64092f8bc2 re PR c++/19148 (ICE: gimplification failed)
PR c++/19148
	* g++.dg/expr/cond7.C: New test.

From-SVN: r92641
2004-12-27 16:13:45 +00:00
Mark Mitchell
6ec215790a re PR c++/19148 (ICE: gimplification failed)
PR c++/19148
	* gimplify.c (gimplify_cond_expr): Add post_p parameter.
	(gimplify_modify_expr_rhs): Adjust call to gimplify_cond_expr.
	(gimplify_expr): Likewise.

From-SVN: r92640
2004-12-27 16:06:13 +00:00
Paul Brook
27e84b8165 * gfortran.dg/g77/select_no_compile.f: Remove.
From-SVN: r92639
2004-12-27 15:29:14 +00:00
Richard Henderson
accde4cfac i386.h (UNITS_PER_SIMD_WORD): Don't use MMX/3DNOW.
* config/i386/i386.h (UNITS_PER_SIMD_WORD): Don't use MMX/3DNOW.

        * gcc.dg/vect/vect-27a.c, gcc.dg/vect/vect-29a.c,
        gcc.dg/vect/vect-48a.c, gcc.dg/vect/vect-56a.c,
        gcc.dg/vect/vect-72a.c, gcc.dg/vect/vect-77a.c: Remove.

From-SVN: r92637
2004-12-27 01:35:54 -08:00
Richard Henderson
d833cfb041 * src/x86/unix64.S: Fix typo in unwind info.
From-SVN: r92636
2004-12-27 01:20:10 -08:00
Richard Henderson
82d3d6c893 compat-common.h (CINT, CDBL): Use multiplication by 1i instead of token pasting.
* gcc.dg/compat/compat-common.h (CINT, CDBL): Use multiplication
        by 1i instead of token pasting.

From-SVN: r92635
2004-12-26 20:27:09 -08:00
Richard Henderson
c91dead9be i386.md (mov<MMXMODEI>_internal_rex64): New.
* config/i386/i386.md (mov<MMXMODEI>_internal_rex64): New.
        (movv2sf_internal_rex64): New.
        (mov<MMXMODEI>_internal): Use no register preferences at all.
        (movv2sf_internal): Likewise.

From-SVN: r92634
2004-12-26 19:50:51 -08:00
Richard Henderson
52cf10a30a i386.c (ix86_gimplify_va_arg): Also pass the result of type_natural_mode to examine_argument.
* config/i386/i386.c (ix86_gimplify_va_arg): Also pass the result
        of type_natural_mode to examine_argument.

From-SVN: r92633
2004-12-26 19:50:27 -08:00
Richard Henderson
551a3297bb simplify-rtx.c (simplify_relational_operation_1): Don't simplify plus/minus across EQ for floating-point.
* simplify-rtx.c (simplify_relational_operation_1): Don't simplify
        plus/minus across EQ for floating-point.

From-SVN: r92631
2004-12-26 19:31:49 -08:00
John David Anglin
73096ba97f re PR target/17643 (ICE in propagate_one_insn, at flow.c:1582)
PR target/17643
	* pa.c (pa_function_ok_for_sibcall): Sibcalls are not ok when
	generating code for the portable runtime.

From-SVN: r92629
2004-12-27 01:08:09 +00:00
GCC Administrator
e37ba56b57 Daily bump.
From-SVN: r92626
2004-12-27 00:16:18 +00:00
John David Anglin
daab976830 re PR tree-optimization/17578 (Missed optimization--failure of gcc.c-torture/execute/ieee/compare-fp-3.c at -O1 and above)
PR tree-optimization/17578
	* gcc.c-torture/execute/ieee/compare-fp-3.x: Append -fno-trapping-math
	to additional_flags.
	* gcc.c-torture/execute/ieee/compare-fp-4.x: Likewise.

From-SVN: r92623
2004-12-26 20:49:14 +00:00