aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2004-12-29tree-vectorizer.c (vect_get_base_and_offset): Adjust call too ↵Dorit Nuzman1-1/+1
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-29re PR tree-optimization/18179 (vectorizer: wrong ↵Ira Rosen2-531/+309
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-29re PR tree-optimization/18179 (vectorizer: wrong ↵Ira Rosen2-24/+30
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-29re PR tree-optimization/18179 (vectorizer: wrong ↵Ira Rosen3-22/+242
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-29re PR tree-optimization/18179 (vectorizer: wrong ↵Ira Rosen2-171/+116
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-29gfortran.h (gfc_case): fix typo in comment.Steven G. Kargl2-2/+6
2004-12-29 Steven G. Kargl <kargls@comcast.net> * gfortran.h (gfc_case): fix typo in comment. From-SVN: r92695
2004-12-28* objc.dg/stabs-1.m: Disable for alpha.Richard Henderson2-1/+5
From-SVN: r92694
2004-12-28re PR inline-asm/15740 (ICE caused by a memory operand in an asm statement)Richard Henderson7-67/+144
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-29Daily bump.GCC Administrator1-1/+1
From-SVN: r92691
2004-12-28re PR target/18321 (mmix-knuth-mmixware testsuite failure: ↵Hans-Peter Nilsson2-5/+8
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-28fold-const.c (fold_build_cleanup_point_expr): For a RETURN_EXPR...Andrew Pinski2-0/+22
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* tree-vectorizer.c (vect_mark_relevant) First argument changed fromDorit Naishlos2-7/+14
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-28rs6000.c (rs6000_legitimize_reload_address): Don't generate non-offsettable ↵Alan Modra2-2/+9
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-28re PR rtl-optimization/19103 (Current CVS (2004/12/21) doesn't compile with ↵Zdenek Dvorak2-1/+6
profiledbootstrap) PR rtl-optimization/19103 * loop-iv.c (iv_number_of_iterations): Fix typo. From-SVN: r92669
2004-12-28* genrecog.c (compute_predicate_codes): Avoid warning.Andreas Jaeger2-5/+10
From-SVN: r92668
2004-12-28vax.c (vax_address_cost, [...]): Correct casts.John David Anglin2-8/+14
* 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-27tree-ssa-dom.c (thread_across_edge): Remove broken code to avoid threading ↵Jeff Law2-16/+5
into a loop. * tree-ssa-dom.c (thread_across_edge): Remove broken code to avoid threading into a loop. From-SVN: r92666
2004-12-27re PR target/17406 (ICE dwarf2out_frame_debug_expr, at dwarf2out.c:1692)Richard Henderson2-3/+12
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-27Add memory barriers to the double-checked locking used for static ↵Jason Merrill10-9/+79
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-28re PR driver/16118 (Preprocessed source error with -xf77-cpp-input)Roger Sayle2-0/+12
PR driver/16118 * doc/invoke.texi: Document the interaction between -save-temps and -x. From-SVN: r92658
2004-12-27rs6000.c (rs6000_eliminate_indexed_memrefs): Do not break apart constant ↵David Edelsohn2-1/+9
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-28Daily bump.GCC Administrator1-1/+1
From-SVN: r92655
2004-12-27re PR c++/19149 (seg fault on invalid code)Mark Mitchell4-1/+19
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* g++.dg/opt/temp1.C (memcpy): Return a value.Mark Mitchell2-0/+3
From-SVN: r92646
2004-12-27re PR libfortran/19032 (modulo generates wrong result for divisor 1 and -1)Tobias Schlüter5-26/+65
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-27trans-expr.c (gfc_conv_cst_int_power): Only check for ↵Andrew Pinski2-1/+7
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-27trans-intrinsic.c (gfc_conv_intrinsic_ishft): Change to logicalshift.Tobias Schlüter4-29/+536
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-27re PR c++/19148 (ICE: gimplification failed)Mark Mitchell2-0/+17
PR c++/19148 * g++.dg/expr/cond7.C: New test. From-SVN: r92641
2004-12-27re PR c++/19148 (ICE: gimplification failed)Mark Mitchell2-5/+15
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* gfortran.dg/g77/select_no_compile.f: Remove.Paul Brook2-11/+4
From-SVN: r92639
2004-12-27i386.h (UNITS_PER_SIMD_WORD): Don't use MMX/3DNOW.Richard Henderson9-297/+13
* 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-26compat-common.h (CINT, CDBL): Use multiplication by 1i instead of token pasting.Richard Henderson2-2/+7
* gcc.dg/compat/compat-common.h (CINT, CDBL): Use multiplication by 1i instead of token pasting. From-SVN: r92635
2004-12-26i386.md (mov<MMXMODEI>_internal_rex64): New.Richard Henderson1-4/+50
* 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-26i386.c (ix86_gimplify_va_arg): Also pass the result of type_natural_mode to ↵Richard Henderson2-5/+15
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-26simplify-rtx.c (simplify_relational_operation_1): Don't simplify plus/minus ↵Richard Henderson2-1/+7
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-27re PR target/17643 (ICE in propagate_one_insn, at flow.c:1582)John David Anglin2-3/+11
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-27Daily bump.GCC Administrator1-1/+1
From-SVN: r92626
2004-12-26re PR tree-optimization/17578 (Missed optimization--failure of ↵John David Anglin3-2/+9
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-25expr.c (clear_storage): Validate CONST0_RTX extant.Richard Henderson2-17/+41
* expr.c (clear_storage): Validate CONST0_RTX extant. Special case complex modes. From-SVN: r92615
2004-12-25target-supports.exp (check_effective_target_vect_no_bitwise): Remove Alpha.Richard Henderson2-2/+6
* lib/target-supports.exp (check_effective_target_vect_no_bitwise): Remove Alpha. From-SVN: r92614
2004-12-26Daily bump.GCC Administrator1-1/+1
From-SVN: r92612
2004-12-25re PR rtl-optimization/19078 (Poor quality code after loop unrolling.)Zdenek Dvorak2-4/+38
PR rtl-optimization/19078 * tree-ssa-loop-ivopts.c (determine_use_iv_cost_generic, determine_use_iv_cost_outer): Fix computing of cost for the original bivs. (dump_use): Handle case related_cands == NULL. From-SVN: r92608
2004-12-25re PR target/19059 (Atmel AVR Tiny13 and Tiny2313 support corrupted)Marek Michalkiewicz4-7/+15
PR target/19059 * config/avr/avr.c (avr_mcu_types): Move attiny{13,2313} from avr4 to avr2. * config/avr/avr.h (LINK_SPEC): Ditto. * config/avr/t-avr (MULTILIB_MATCHES): Ditto. From-SVN: r92607
2004-12-25pr17055-1.c (dg-options): Add -fno-common to options on hppa*-*-hpux*.John David Anglin7-2/+24
* gcc.dg/pr17055-1.c (dg-options): Add -fno-common to options on hppa*-*-hpux*. * gcc.dg/pr17957.c (dg-options): Likewise. * gcc.dg/struct-ret-1.c: Add prototype for abort. * gcc.dg/tree-ssa/asm-2.c, gcc.dg/tree-ssa/asm-3.c: Use register 1 instead of 0 on __hppa__. * gcc.dg/tree-ssa/loop-1.c (dg-final): Check for five instances of "foo,%r" on hppa*-*-*. From-SVN: r92606
2004-12-25re PR target/19137 (ICE with load of TImode constant)Alan Modra2-33/+42
PR target/19137 * config/rs6000/rs6000.md (movti_power, movti_string): Relax operand[1] predicate to input_operand, and add r<-n alternative. Move TImode const_double_operand splitter to where it belongs. From-SVN: r92603
2004-12-25Daily bump.GCC Administrator1-1/+1
From-SVN: r92600
2004-12-25re PR target/19147 (invalid rlwinm patterns)Alan Modra2-54/+5
PR target/19147 * config/rs6000/rs6000.md (andsi3_internal7, andsi3_internal8): Delete. From-SVN: r92594
2004-12-24i386.md (*fix_trunc{d,s,h}i_1): Rename to *fix_trunc{d,s,h}i_i387.Uros Bizjak2-6/+12
* config/i386/i386.md (*fix_trunc{d,s,h}i_1): Rename to *fix_trunc{d,s,h}i_i387. (fix_trunc{d,s}fdi2): Reorder tests. From-SVN: r92586
2004-12-24re PR tree-optimization/14638 (Variables disappear from debug info at -O1)Daniel Berlin5-7/+41
2004-12-24 Daniel Berlin <dberlin@dberlin.org> Fix PR debug/14638 * tree.h (DECL_DEBUG_ALIAS_OF): New macro. * var-tracking.c (track_expr_p): Don't disqualify tracking of variables that are aliases of variables we want to track, unless the original variable is also ignored for debugging purposes. (VARIABLE_HASH_VAL): Use DECL_UID, so that this is deterministic. * tree-outof-ssa.c (create_temp): Note who we are a debug alias of. * dwarf2out.c (dwarf2out_var_location): Add us to the location of the decl we are an alias of. From-SVN: r92585
2004-12-24complex_write.f90: removed extraneous comma.Bud Davis1-1/+1
2004-12-23 Bud Davis <bdavis9659@comcast.net> * gfortran.dg/complex_write.f90: removed extraneous comma. From-SVN: r92584