Richard Guenther [Fri, 14 Mar 2008 17:05:48 +0000 (17:05 +0000)]
re PR tree-optimization/34172 (Missed store ccp optimization)
2008-03-14 Richard Guenther <rguenther@suse.de>
PR tree-optimization/34172
* tree-flow.h (refs_may_alias_p): Declare.
(get_single_def_stmt): Likewise.
(get_single_def_stmt_from_phi): Likewise.
(get_single_def_stmt_with_phi): Likewise.
* tree-dfa.c (refs_may_alias_p): New function.
(get_single_def_stmt): Likewise.
(get_single_def_stmt_from_phi): Likewise.
(get_single_def_stmt_with_phi): Likewise.
* tree-ssa-sccvn.c (get_def_ref_stmt_vuses): New function.
(vn_reference_lookup_1): New helper function.
(vn_reference_lookup): Walk the virtual use-def chain to
continue searching for a match if the def does not alias the
reference we are looking for.
* gcc.dg/tree-ssa/ssa-fre-11.c: New testcase.
* gcc.dg/tree-ssa/ssa-fre-12.c: Likewise.
* gcc.dg/tree-ssa/ssa-fre-13.c: Likewise.
* gcc.dg/tree-ssa/ssa-fre-14.c: Likewise.
* gcc.dg/tree-ssa/ssa-fre-15.c: Likewise.
* gcc.dg/tree-ssa/
20031106-4.c: Remove XFAIL.
From-SVN: r133222
Uros Bizjak [Fri, 14 Mar 2008 15:44:56 +0000 (16:44 +0100)]
re PR preprocessor/35322 (ICE with incomplete macro)
2008-03-14 Uros Bizjak <ubizjak@gmail.com>
PR libcpp/35322:
* gcc.dg/cpp/pr35322.c: Add dg-error line.
From-SVN: r133220
David Edelsohn [Fri, 14 Mar 2008 15:24:12 +0000 (15:24 +0000)]
install.texi (Binaries): Remove UCLA archive.
* doc/install.texi (Binaries): Remove UCLA archive. Add HVCC
archive and Perzl. Update The Written Word listing.
From-SVN: r133219
Richard Guenther [Fri, 14 Mar 2008 14:52:07 +0000 (14:52 +0000)]
re PR tree-optimization/34043 (Missed optimization causing extra loads and stores when using x86_64 builtin function together with aggregate types.)
2008-03-14 Richard Guenther <rguenther@suse.de>
PR tree-optimization/34043
PR tree-optimization/33989
* tree-ssa-pre.c (execute_pre): Allow SCCVN to do insertion
when doing FRE.
(bitmap_find_leader): Use extra argument to verify dominance
relationship inside a basic-block.
(can_PRE_operation): Add VIEW_CONVERT_EXPR.
(find_leader_in_sets): Adjust.
(create_component_ref_by_pieces): Take extra argument for
dominance check, handle lookup failures.
(find_or_generate_expression): Likewise.
(create_expression_by_pieces): Likewise.
(insert_into_preds_of_block): Adjust.
(create_value_expr_from): If asked for, verify all operands
are in the blocks AVAIL_OUT set.
(make_values_for_stmt): Check for SSA_NAMEs that are life
over an abnormal edge.
(compute_avail): Remove such check.
(do_SCCVN_insertion): New function.
(eliminate): If we do not find a leader suitable for replacement
insert a replacement expression from SCCVN if available.
* tree-ssa-sccvn.h (run_scc_vn): Update prototype.
(struct vn_ssa_aux): Add needs_insertion flag.
* tree-ssa-sccvn.c (may_insert): New global flag.
(copy_reference_ops_from_ref): Value-number union member access
based on its size, not type and member if insertion is allowed.
(visit_reference_op_load): For a weak match from union type
punning lookup a view-converted value and insert a SSA_NAME
for that value if that is not found.
(visit_use): Make dumps shorter. Do not disallow value numbering
SSA_NAMEs that are life over an abnormal edge to constants.
(free_scc_vn): Release inserted SSA_NAMEs.
(run_scc_vn): New flag to specify whether insertion is allowed.
Process SSA_NAMEs in forward order.
* tree-ssa-loop-im.c (for_each_index): Handle invariant
ADDR_EXPRs inside VIEW_CONVERT_EXPR.
* fold-const.c (fold_unary): Fold VIEW_CONVERT_EXPRs from/to
pointer type to/from integral types that do not change the
precision to regular conversions.
* gcc.dg/tree-ssa/ssa-fre-7.c: New testcase.
* gcc.dg/tree-ssa/ssa-fre-8.c: Likewise.
* gcc.dg/tree-ssa/ssa-fre-9.c: Likewise.
* gcc.dg/tree-ssa/ssa-fre-10.c: Likewise.
* gcc.dg/tree-ssa/ssa-pre-17.c: Likewise.
From-SVN: r133218
Jerry DeLisle [Fri, 14 Mar 2008 14:17:41 +0000 (14:17 +0000)]
re PR testsuite/35406 (gfortran.dg/ldist-1.f90 and gcc.dg/tree-ssa/ldist-4.c don't work)
PR testsuite/35406
* gcc.dg/tree-ssa/ldist-4.c: Update expected scan match
count from 0 to 1 for lp64 targets.
* gfortran.dg/ldist-1.f90: Update test to check
for 5 loops distributed instead of 4 for lp64 targets.
Co-Authored-By: Uros Bizjak <ubizjak@gmail.com>
From-SVN: r133216
Joseph Myers [Fri, 14 Mar 2008 13:11:20 +0000 (13:11 +0000)]
rw.po: Remove.
* rw.po: Remove.
* be.po, ca.po, da.po, de.po, el.po, es.po, fr.po, ja.po, nl.po,
sv.po, tr.po, uk,po, vi.po, zh_CN.po, zh_TW.po: Update.
From-SVN: r133211
Joseph Myers [Fri, 14 Mar 2008 13:07:50 +0000 (13:07 +0000)]
be.po, [...]: Update.
* be.po, da.po, de.po, el.po, es.po, fr.po, ja.po, nl.po, ru.po,
sr.po, sv.po, tr.po, zh_CN.po, zh_TW.po: Update.
* ca.po, rw.po: Remove.
From-SVN: r133209
H.J. Lu [Fri, 14 Mar 2008 06:54:19 +0000 (07:54 +0100)]
re PR testsuite/35538 (FAIL: gcc.dg/tree-ssa/ssa-store-ccp-4.c scan-tree-dump-times optimized "conststaticvariable" 1)
PR testsuite/35538
* gcc.dg/tree-ssa/ssa-store-ccp-3.c: Support PIC targets.
Skip *-*-darwin*.
* gcc.dg/tree-ssa/ssa-store-ccp-4.c: Skip *-*-darwin*.
From-SVN: r133208
Jerry DeLisle [Fri, 14 Mar 2008 04:59:39 +0000 (04:59 +0000)]
re PR testsuite/35406 (gfortran.dg/ldist-1.f90 and gcc.dg/tree-ssa/ldist-4.c don't work)
2008-03-13 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR testsuite/35406
* gcc.dg/tree-ssa/ldist-4.c: Update expected scan match count from 0
to 1.
From-SVN: r133207
Jerry DeLisle [Fri, 14 Mar 2008 03:48:23 +0000 (03:48 +0000)]
re PR testsuite/35406 (gfortran.dg/ldist-1.f90 and gcc.dg/tree-ssa/ldist-4.c don't work)
2008-03-13 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/35406
* gfortran.dg/ldist-1.f90: Update test to check for 5 loops distributed
instead of 4.
From-SVN: r133206
Jerry DeLisle [Fri, 14 Mar 2008 03:13:17 +0000 (03:13 +0000)]
re PR fortran/35475 (gfortran fails to compile valid code with ICE erro in fold-const.c)
2008-03-13 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/35475
* gfortran.dg/derived_sub.f90: New test.
From-SVN: r133205
H.J. Lu [Fri, 14 Mar 2008 03:08:29 +0000 (20:08 -0700)]
re PR testsuite/35558 (Untested g++.dg/tls/static-1a.cc)
2008-03-13 H.J. Lu <hongjiu.lu@intel.com>
PR testsuite/35558
* g++.dg/tls/static-1.C: Move dg-additional-sources after
dg-require-effective-target.
* g++.dg/tls/static-1a.cc: Likewise.
From-SVN: r133204
GCC Administrator [Fri, 14 Mar 2008 00:20:12 +0000 (00:20 +0000)]
Daily bump.
From-SVN: r133201
Tom Tromey [Thu, 13 Mar 2008 21:10:07 +0000 (21:10 +0000)]
re PR preprocessor/35322 (ICE with incomplete macro)
gcc/testsuite
PR libcpp/35322:
* gcc.dg/cpp/pr35322.c: New file.
libcpp
PR libcpp/35322:
* directives.c (destringize_and_run): Set pfile->directive.
From-SVN: r133195
Uros Bizjak [Thu, 13 Mar 2008 20:13:29 +0000 (21:13 +0100)]
vect-align-2.c: Remove dg-do run directive.
* gcc.dg/vect/vect-align-2.c: Remove dg-do run directive.
(main): Call check_vect.
From-SVN: r133193
David Edelsohn [Thu, 13 Mar 2008 19:12:34 +0000 (15:12 -0400)]
Fix AIX version number in comment.
From-SVN: r133187
David Edelsohn [Thu, 13 Mar 2008 18:55:20 +0000 (18:55 +0000)]
* config.rpath: Add AIX 6 support.
From-SVN: r133182
Seongbae Park [Thu, 13 Mar 2008 18:49:45 +0000 (18:49 +0000)]
cplus-dem.c (malloc, realloc): Use void * instead of char * as return type.
2008-03-12 Seongbae Park <seongbae.park@gmail.com>
* cplus-dem.c (malloc, realloc): Use void * instead of char *
as return type.
From-SVN: r133181
Uros Bizjak [Thu, 13 Mar 2008 18:00:22 +0000 (19:00 +0100)]
extend.texi (X86 Built-in Functions): Missed fragment from my previous commit commit.
* doc/extend.texi (X86 Built-in Functions): Missed fragment from
my previous commit commit.
From-SVN: r133178
Uros Bizjak [Thu, 13 Mar 2008 17:49:31 +0000 (18:49 +0100)]
extend.texi (X86 Built-in Functions): Fix the mode of input arguments and the mode of return value.
* doc/extend.texi (X86 Built-in Functions) [__builtin_ia32_psll?,
__builtin_ia32_psrl?, __builtin_ia32_psra?, __builtin_ia32_psll?i,
__builtin_ia32_psrl?i, __builtin_ia32_psra?i, __builtin_ia32_psll?128,
__builtin_ia32_psrl?128, __builtin_ia32_psra?128]: Fix the mode of
input arguments and the mode of return value.
From-SVN: r133177
Dennis Czeremin [Thu, 13 Mar 2008 17:48:21 +0000 (17:48 +0000)]
re PR libstdc++/35566 (multiset constructor uses insert_unique instead of insert_equal!)
2008-03-13 Dennis Czeremin <dennis.czeremin@smiths-heimann.com>
PR libstdc++/35566
* include/bits/stl_multimap.h (multimap<>::multimap(_InputIterator,
_InputIterator)): Forward to _M_insert_equal, not _M_insert_unique.
From-SVN: r133175
Paolo Carlini [Thu, 13 Mar 2008 17:35:40 +0000 (17:35 +0000)]
re PR libstdc++/35541 (Legal C++ program can't be compiled with -D_GLIBCXX_DEBUG)
2008-03-13 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/35541
* include/debug/functions.h (__check_sorted_set_aux): Fix signature.
* testsuite/25_algorithms/set_difference/35541.cc: New.
From-SVN: r133173
Tom Tromey [Thu, 13 Mar 2008 16:43:54 +0000 (16:43 +0000)]
natClassLoader.cc (_Jv_RegisterInitiatingLoader): Check loading constraints.
* java/lang/natClassLoader.cc (_Jv_RegisterInitiatingLoader):
Check loading constraints.
(_Jv_CheckOrCreateLoadingConstraint): New function.
* java/lang/ClassLoader.java (loadingConstraints): New field.
* link.cc (_Jv_Linker::find_field): Use
_Jv_CheckOrCreateLoadingConstraint.
(_Jv_Linker::check_loading_constraints): New function.
(_Jv_Linker::resolve_method_entry): Use
check_loading_constraints.
(_Jv_Linker::append_partial_itable): Likewise.
(_Jv_Linker::layout_vtable_methods): Likewise.
* include/jvm.h (_Jv_Linker::check_loading_constraints): Declare.
(_Jv_CheckOrCreateLoadingConstraint): Declare.
From-SVN: r133172
Alon Dayan [Thu, 13 Mar 2008 15:40:09 +0000 (15:40 +0000)]
[multiple changes]
2008-02-19 Alon Dayan <alond@il.ibm.com>
Olga Golovanevsky <olga@il.ibm.com>
PR tree-optimization/35041
* gcc.dg/struct/wo_prof_double_malloc.c: New test.
2008-03-13 Alon Dayan <alond@il.ibm.com>
Olga Golovanevsky <olga@il.ibm.com>
PR tree-optimization/35041
* ipa-struct-reorg.c (find_pos_in_stmt_1): Add another option
to locate the right position in a statement.
Co-Authored-By: Olga Golovanevsky <olga@il.ibm.com>
From-SVN: r133171
Uros Bizjak [Thu, 13 Mar 2008 13:33:47 +0000 (14:33 +0100)]
re PR target/34000 (GCC pedwarns about use of static inline functions from system headers in extern inline functions)
PR target/34000
PR target/35553
* config/i386/xmmintrin.h: Change all static inline functions to
extern inline and add __gnu_inline__ attribute.
* config/i386/bmintrin.h: Ditto.
* config/i386/smmintrin.h: Ditto.
* config/i386/tmmintrin.h: Ditto.
* config/i386/mmintrin-common.h: Ditto.
* config/i386/ammintrin.h: Ditto.
* config/i386/emmintrin.h: Ditto.
* config/i386/pmmintrin.h: Ditto.
* config/i386/mmintrin.h: Ditto.
* config/i386/mm3dnow.h: Ditto.
testsuite/ChangeLog:
PR target/34000
PR target/35553
* g++.dg/other/i386-3.C: New test.
* gcc.target/i386/sse-13.c: Redefine extern instead of static.
* gcc.target/i386/sse-14.c: Ditto.
* gcc.target/i386/mmx-1.c: Ditto.
* gcc.target/i386/mmx-2.c: Ditto.
* gcc.target/i386/3dnow-1.c: Ditto.
* gcc.target/i386/3dnow-2.c: Ditto.
* gcc.target/i386/3dnowA-1.c: Ditto.
* gcc.target/i386/3dnowA-2.c: Ditto.
From-SVN: r133169
Paolo Bonzini [Thu, 13 Mar 2008 13:31:58 +0000 (13:31 +0000)]
2008-03-13 Paolo Bonzini <bonzini@gnu.org>
* Makefile.def (stageprofile). Remove -fprofile-generate
from stage_libcflags.
* Makefile.in: Regenerate.
From-SVN: r133168
Uros Bizjak [Thu, 13 Mar 2008 10:50:12 +0000 (11:50 +0100)]
Revert my previous commit.
From-SVN: r133167
Uros Bizjak [Thu, 13 Mar 2008 09:49:43 +0000 (10:49 +0100)]
re PR c++/35553 (-fkeep-inline-functions and -O errors out in SSE headers)
PR target/35553
* config/i386/i386.h (TARGET_CPU_CPP_BUILTINS): Define
__SSE_USE_INLINED_FUNC__ when using -flag-keep-inline-functions
together with optimization.
* config/i386/xmmintrin.h: Use __SSE_USE_INLINED_FUNC__ instead of
__OPTIMIZE__ to choose between inlined intrinsic SSE function having
immediate arguments and its equivalent macro definition.
* config/i386/bmintrin.h: Ditto.
* config/i386/smmintrin.h: Ditto.
* config/i386/tmmintrin.h: Ditto.
* config/i386/mmintrin-common.h: Ditto.
* config/i386/ammintrin.h: Ditto.
* config/i386/emmintrin.h: Ditto.
testsuite/ChangeLog:
PR target/35553
* g++.dg/other/i386-3.C: New test.
From-SVN: r133164
Paolo Bonzini [Thu, 13 Mar 2008 09:44:57 +0000 (09:44 +0000)]
re PR rtl-optimization/34522 (inefficient code for long long multiply when only low bits are needed)
2008-03-13 Paolo Bonzini <bonzini@gnu.org>
PR tree-opt/35422
* gcc.target/i386/pr35422.c: Escape brackets.
From-SVN: r133163
Jakub Jelinek [Thu, 13 Mar 2008 09:26:25 +0000 (10:26 +0100)]
re PR middle-end/35185 (ICE using openmp with g++-4.2)
PR middle-end/35185
* omp-low.c (lower_regimplify, init_tmp_var, save_tmp_var): Removed.
(lower_omp_2): New function.
(lower_omp_1, lower_omp): Rewritten.
* testsuite/libgomp.c++/pr35185.C: New test.
From-SVN: r133162
Danny Smith [Thu, 13 Mar 2008 07:06:30 +0000 (07:06 +0000)]
re PR target/35054 (No documentation of #pragma push_macro("macro_name"))
PR 35054
* doc/extend.texi (Structure-Packing Pragmas): Replace "Win32"
with the phrase "Microsoft Windows compilers".
(Push/Pop Macro Pragmas): New subsection. Document
#pragma push_macro and pragma pop_macro.
From-SVN: r133161
Paul Brook [Thu, 13 Mar 2008 00:39:34 +0000 (00:39 +0000)]
arm.c (output_move_double): Prefer LDRD to LDM.
2008-03-12 Paul Brook <paul@codesourcery.com>
gcc/
* config/arm/arm.c (output_move_double): Prefer LDRD to LDM.
From-SVN: r133160
GCC Administrator [Thu, 13 Mar 2008 00:19:27 +0000 (00:19 +0000)]
Daily bump.
From-SVN: r133158
Ben Elliston [Wed, 12 Mar 2008 23:43:12 +0000 (23:43 +0000)]
* config.sub, config.guess: Update from upstream sources.
From-SVN: r133153
Paul Brook [Wed, 12 Mar 2008 23:19:41 +0000 (23:19 +0000)]
thumb2.md: Extend peephole to cover 3-arg subs.
2008-03-12 Paul Brook <paul@codesourcery.com>
gcc/
* config/arm/thumb2.md: Extend peephole to cover 3-arg subs.
(thumb2_alusi3_short): Exclude PLUS and MINUS.
(thumb2_addsi_shortim): Rename ...
(thumb2_addsi_short): ... to this. Allow register operands.
(thumb2_subsi_short): New pattern.
(thumb2_one_cmplsi2_short,
thumb2_negsi2_short): New patterns and peepholes.
From-SVN: r133152
Paul Brook [Wed, 12 Mar 2008 22:04:19 +0000 (22:04 +0000)]
arm.c (arm_size_rtx_costs): Use ARM costs for Thumb-2.
2008-03-12 Paul Brook <paul@codesourcery.com>
gcc/
* config/arm/arm.c (arm_size_rtx_costs): Use ARM costs for Thumb-2.
From-SVN: r133151
Uros Bizjak [Wed, 12 Mar 2008 21:30:21 +0000 (22:30 +0100)]
i386.md (int_cond): New code iterator.
* config/i386/i386.md (int_cond): New code iterator.
(fp_cond): Ditto.
("s<code>"): Macroize expander from seq, sne, sgt, sgtu, slt, sltu,
sge, sgeu, sle and sleu expanders usign int_cond code iterator.
("s<code>"): Macroize expander from sunordered, sordered, suneq, sunge,
sungt, sunle, sunlt and sltgt expanders usign fp_cond code iterator.
("b<code>"): Macroize expander from beq, bne, bgt, bgtu, blt, bltu,
bge, bgeu, ble and bleu expanders usign int_cond code iterator.
("b<code>"): Macroize expander from bunordered, bordered, buneq, bunge,
bungt, bunle, bunlt and bltgt expanders usign fp_cond code iterator.
From-SVN: r133150
Paul Brook [Wed, 12 Mar 2008 18:58:47 +0000 (18:58 +0000)]
arm.c (use_return_insn): Use offsets->saved_regs_mask instead of {arm,thumb}_compute_save_reg_mask.
2008-03-12 Paul Brook <paul@codesourcery.com>
gcc/
* config/arm/arm.c (use_return_insn): Use offsets->saved_regs_mask
instead of {arm,thumb}_compute_save_reg_mask.
(output_return_instruction): Ditto.
(thumb_unexpanded_epilogue): Ditto.
(thumb1_expand_prologue): Ditto.
(thumb1_output_function_prologue): Ditto.
(arm_set_return_address): Ditto.
(thumb_set_return_address): Ditto.
(arm_get_frame_offsets): Set offsets->saved_regs_mask. Push extra
regs to achieve stack alignment.
(thumb1_compute_save_reg_mask): Fix compiler warning.
(arm_output_epilogue): Use offsets->saved_regs_mask.
Adjust stack pointer by poping call clobered registers.
(arm_expand_prologue): Use offsets->saved_regs_mask.
Adjust stack pointer by pushing extra registers.
* gcc/config/arm.h (arm_stack_offsets): Add saved_regs_mask.
From-SVN: r133148
Paolo Bonzini [Wed, 12 Mar 2008 17:13:01 +0000 (17:13 +0000)]
mangle.c (java_mangle_decl): Remove dead check.
2008-03-12 Paolo Bonzini <bonzini@gnu.org>
* mangle.c (java_mangle_decl): Remove dead check.
From-SVN: r133146
Paolo Bonzini [Wed, 12 Mar 2008 15:33:45 +0000 (15:33 +0000)]
re PR rtl-optimization/34522 (inefficient code for long long multiply when only low bits are needed)
2008-03-12 Paolo Bonzini <bonzini@gnu.org>
PR tree-opt/35422
* fold-const.c (fold_unary) <NOP_EXPR>: Distribute a narrowing
conversion to the operands of a multiplication.
testsuite:
2008-03-12 Paolo Bonzini <bonzini@gnu.org>
PR tree-opt/35422
* gcc.dg/vect/slp-7.c: Change target keywords required for vectorizing
third loop.
* gcc.target/i386/pr35422.c: New.
From-SVN: r133144
Richard Guenther [Wed, 12 Mar 2008 14:25:48 +0000 (14:25 +0000)]
revert: [multiple changes]
2008-03-12 Richard Guenther <rguenther@suse.de>
PR c++/35469
Revert:
2008-02-04 Richard Guenther <rguenther@suse.de>
PR java/35035
* decl.c (record_builtin_java_type): Make jboolean a
integer type again where its mode doesn't match that of bool.
2008-01-25 Richard Guenther <rguenther@suse.de>
PR c++/33887
* decl.c (record_builtin_java_type): Make __java_boolean
a variant of bool.
* typeck.c (structural_comptypes): Move TYPE_FOR_JAVA check
after TYPE_MAIN_VARIANT check.
From-SVN: r133142
Richard Guenther [Wed, 12 Mar 2008 12:15:41 +0000 (12:15 +0000)]
Makefile.in (OBJS-common): Add tree-ssa-phiprop.o
2008-03-12 Richard Guenther <rguenther@suse.de>
* Makefile.in (OBJS-common): Add tree-ssa-phiprop.o
(tree-ssa-phiprop.o): Copy dependencies from tree-ssa-forwprop.o.
* timevar.def (TV_TREE_PHIPROP): Add.
* tree-ssa-phiprop.c: Split from tree-ssa-forwprop.c, added
pass description. Use TV_TREE_PHIPROP.
* tree-ssa-forwprop.c: Remove phiprop code.
From-SVN: r133140
Francois-Xavier Coudert [Wed, 12 Mar 2008 10:24:29 +0000 (10:24 +0000)]
re PR libfortran/35524 (Unconditional use of expl() in libgfortran)
PR libfortran/35524
* intrinsics/erfc_scaled_inc.c: Only define the long double
variant of erfc_scaled if expl is available.
From-SVN: r133138
Jakub Jelinek [Wed, 12 Mar 2008 09:55:48 +0000 (10:55 +0100)]
re PR middle-end/35549 (Invalid use of copy-in/out for shared vars in nested parallels)
PR middle-end/35549
* omp-low.c (maybe_lookup_decl): Constify first argument.
(use_pointer_for_field): Change last argument from bool to
omp_context *. Disallow shared copy-in/out in nested
parallel if decl is shared in outer parallel too.
(build_outer_var_ref, scan_sharing_clauses,
lower_rec_input_clauses, lower_copyprivate_clauses,
lower_send_clauses, lower_send_shared_vars): Adjust callers.
* testsuite/libgomp.c/pr35549.c: New test.
From-SVN: r133136
Victor Kaplansky [Wed, 12 Mar 2008 06:06:00 +0000 (06:06 +0000)]
tree-vectorizer.c (free_stmt_vec_info): New function.
2008-03-12 Victor Kaplansky <victork@il.ibm.com>
Ira Rosen <irar@il.ibm.com>
* tree-vectorizer.c (free_stmt_vec_info): New function.
(destroy_loop_vec_info): Move code to free_stmt_vec_info().
Call free_stmt_vec_info(). Free LOOP_VINFO_STRIDED_STORES..
* tree-vectorizer.h (free_stmt_vec_info): Declare.
* tree-vect-transform.c (vectorizable_conversion): Free
vec_oprnds0 if it was allocated.
(vect_permute_store_chain): Remove unused VECs.
(vectorizable_store): Free VECs that are allocated in the..
function.
(vect_transform_strided_load, vectorizable_load): Likewise.
(vect_remove_stores): Simplify the code.
(vect_transform_loop): Move code to vect_remove_stores().
Call vect_remove_stores() and free_stmt_vec_info().
Co-Authored-By: Ira Rosen <irar@il.ibm.com>
From-SVN: r133134
GCC Administrator [Wed, 12 Mar 2008 00:20:02 +0000 (00:20 +0000)]
Daily bump.
From-SVN: r133129
John David Anglin [Tue, 11 Mar 2008 23:37:11 +0000 (23:37 +0000)]
pa.h (TARGET_LONG_PIC_SDIFF_CALL): Conditionalize define on TARGET_HPUX.
* pa.h (TARGET_LONG_PIC_SDIFF_CALL): Conditionalize define on
TARGET_HPUX. Revise comment.
(TARGET_LONG_PIC_PCREL_CALL): Revise comment.
* pa.c (output_call): Update for revised TARGET_LONG_PIC_SDIFF_CALL.
Use sr4 variant of `be' instruction when not generating PIC code.
(attr_length_call): Adjust for above change.
From-SVN: r133123
Andrew Pinski [Tue, 11 Mar 2008 21:08:00 +0000 (21:08 +0000)]
re PR tree-optimization/35403 (ipa-reference.c does not change a default initialized static variable to be readonly)
2008-03-11 Andrew Pinski <andrew_pinski@playstation.sony.com>
* ipa-reference.c (static_execute): Remove module_statics_const and
associated setting code.
2008-03-11 Andrew Pinski <andrew_pinski@playstation.sony.com>
PR tree-opt/35403
* gcc.dg/tree-ssa/ipa-reference-1.c: New testcase.
From-SVN: r133119
Uros Bizjak [Tue, 11 Mar 2008 19:18:48 +0000 (20:18 +0100)]
re PR target/35540 (Segmentation fault with __builtin_parity() and -O1)
PR target/35540
* config/i386/i386.md (paritysi2, paritydi2): Use register_operand
constraint for operand 1.
(paritysi2_cmp): Use register_operand constraint for operand 2.
Use earlyclobber modifier for operand 1. Remove support for
memory operands.
(paritydi2_cmp): Use register_operand constraint for operand 3.
Use earlyclobber modifier for operand 1. Remove support for
memory operands.
testsuite/ChangeLog:
PR target/35540
* gcc.target/i386/pr35540.c: New test.
From-SVN: r133118
Paul Brook [Tue, 11 Mar 2008 17:43:22 +0000 (17:43 +0000)]
arm.c (use_return_insn): Check TARGET_APCS_FRAME.
2008-03-11 Paul Brook <paul@codesourcery.com>
Vladimir Prus <vladimir@codesourcery.com>
* config/arm/arm.c (use_return_insn): Check TARGET_APCS_FRAME.
(arm_compute_save_reg0_reg12_mask): Always
check if register 11 must be saved. Always safe hard frame pointer
when frame_pointer_needeed.
(arm_compute_save_reg_mask): Save IP and PC
only with apcs frames.
(arm_output_epilogue): Adjust Thumb2 codepath to
be also invoked and work for ARM non-apcs frames.
(arm_expand_prologue): Don't bother saving IP
for non-apcs frame, since it's not clobbered by
prologue code. Implement non-apcs frame
layout.
From-SVN: r133117
Paolo Bonzini [Tue, 11 Mar 2008 16:48:28 +0000 (16:48 +0000)]
re PR rtl-optimization/35281 (multiply with 0 generated for 64*32->64)
2008-03-11 Paolo Bonzini <bonzini@gnu.org>
PR rtl-optimization/35281
* expr.c (convert_move): Use a new pseudo for the intermediate
from_mode->word_mode result.
From-SVN: r133116
Paolo Bonzini [Tue, 11 Mar 2008 16:44:25 +0000 (16:44 +0000)]
langhooks-def.h (LANG_HOOKS_CLEAR_BINDING_STACK): Delete.
2008-03-11 Paolo Bonzini <bonzini@gnu.org>
* langhooks-def.h (LANG_HOOKS_CLEAR_BINDING_STACK): Delete.
* langhooks.h (struct lang_hooks): Delete clear_binding_stack member.
* toplev.c (compile_file): Don't call it.
fortran:
2008-03-11 Paolo Bonzini <bonzini@gnu.org>
* f95-lang.c (LANG_HOOKS_CLEAR_BINDING_STACK): Delete.
(gfc_be_parse_file): Call clear_binding_stack from here.
(gfc_clear_binding_stack): Rename to clear_binding_stack.
java:
2008-03-11 Paolo Bonzini <bonzini@gnu.org>
* jcf-parse.c (java_parse_file): Assert binding levels are
left in order.
* lang.c (LANG_HOOKS_CLEAR_BINDING_STACK, java_clear_binding_stack):
Delete.
From-SVN: r133115
Uros Bizjak [Tue, 11 Mar 2008 15:01:18 +0000 (16:01 +0100)]
override-attribs.C: Require ilp32 x86 target.
* g++.dg/inherit/override-attribs.C: Require ilp32 x86 target.
From-SVN: r133111
Nick Clifton [Tue, 11 Mar 2008 14:08:53 +0000 (14:08 +0000)]
md5.c (md5_process_bytes): Do not assume that memcpy will provide a return value.
* md5.c (md5_process_bytes): Do not assume that memcpy will
provide a return value.
From-SVN: r133107
Uros Bizjak [Tue, 11 Mar 2008 12:47:29 +0000 (13:47 +0100)]
re PR c/35526 (ICE on memcpy)
PR middle-end/35526
* expr.c (store_expr): Call emit_block_move if the mode
of "temp" RTX is BLKmode.
testsuite/ChangeLog:
PR middle-end/35526
* g++.dg/torture/pr35526.C: New test.
From-SVN: r133106
Francois-Xavier Coudert [Tue, 11 Mar 2008 10:49:13 +0000 (10:49 +0000)]
re PR libfortran/32812 (random_seed and date_and_time)
PR libfortran/32812
* intrinsics/random.c (scramble_seed, unscramble_seed): New
functions.
(random_seed_i4): Scramble the seed the user gives us before
storing it, and unscramble it when we return it back later.
From-SVN: r133104
Andrew Pinski [Tue, 11 Mar 2008 09:36:51 +0000 (09:36 +0000)]
re PR tree-optimization/31358 (IV-OPTs produces a weird MEM_REF)
2008-03-11 Andrew Pinski <andrew_pinski@playstation.sony.com>
Richard Guenther <rguenther@suse.de>
PR tree-optimization/31358
* tree-ssa-loop-manip.c (create_iv): Call force_gimple_operand for
the step with a NULL_TREE.
* tree-ssa-loop-ivopts.c (find_bivs): Convert the step
to sizetype if type is a pointer type.
(add_candidate_1): Don't convert the base and step to
the generic type if the orginal type is a pointer type.
(add_iv_value_candidates): Use sizetype for the step
if type is a pointer type.
(cand_value_at): Likewise.
* tree-ssa-address.c (add_to_parts): Use POINTER_PLUS_EXPR
for pointer types.
* tree-affine.c (tree_to_aff_combination <POINTER_PLUS_EXPR>):
Don't convert the tem affine to the type.
(add_elt_to_tree): Use sizetype for the step if a pointer.
Use POINTER_PLUS_EXPR for pointers.
(aff_combination_to_tree): Use sizetype for the step if a
pointer.
Co-Authored-By: Richard Guenther <rguenther@suse.de>
From-SVN: r133102
GCC Administrator [Tue, 11 Mar 2008 00:17:45 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r133100
Jim Meyering [Mon, 10 Mar 2008 22:08:34 +0000 (22:08 +0000)]
Don't leak upon failed realloc.
libjava
2008-03-10 Jim Meyering <meyering@redhat.com>
Don't leak upon failed realloc.
* gnu/classpath/natSystemProperties.cc
(SystemProperties::insertSystemProperties):
libjava/classpath
2008-03-10 Jim Meyering <meyering@redhat.com>
Don't leak upon failed realloc.
* native/jni/classpath/jcl.c (JCL_realloc): Upon failed realloc,
free the original buffer before throwing the exception.
From-SVN: r133094
Vladimir Makarov [Mon, 10 Mar 2008 22:05:25 +0000 (22:05 +0000)]
sse.md (ssse3_pmaddubswv8hi3, [...]): Remove commutativity hint.
2008-03-10 Vladimir Makarov <vmakarov@redhat.com>
* config/i386/sse.md (ssse3_pmaddubswv8hi3, ssse3_pmaddubswv4hi3):
Remove commutativity hint.
From-SVN: r133093
Janis Johnson [Mon, 10 Mar 2008 21:33:09 +0000 (21:33 +0000)]
patch_tester.sh (initialization): Initialize svnpatch and stop.
2008-03-10 Janis Johnson <janis187@us.ibm.com>
* patch_tester.sh (initialization): Initialize svnpatch and stop.
(usage): Add -svnpath and -stop.
(makedir): New.
(argument handling): Process -stop and -svnpath.
(setup code): Use makedir, error out if initial svn checkout fails.
(update): Use svnpath. Invoke contrib/gcc_update.
(apply_patch): Require that patch was created at top level. Use eval
with option variables. Don't use bootstrap target for make. Verify
that some tests were run.
(bootntest_patched): Use snvpath.
(main loop): For -stop, exit when there are no more patches to test.
From-SVN: r133092
Jakub Jelinek [Mon, 10 Mar 2008 19:48:20 +0000 (20:48 +0100)]
re PR c++/35328 (ICE with firstprivate variable with invalid destructor)
PR c++/35328
* semantics.c (finish_omp_clauses): Look through NOP_EXPR even
if errorcount.
* g++.dg/gomp/pr35328.C: New test.
From-SVN: r133087
Jakub Jelinek [Mon, 10 Mar 2008 19:43:16 +0000 (20:43 +0100)]
re PR c++/35337 (Broken diagnostic for firstprivate clause)
PR c++/35337
* semantics.c (finish_omp_clauses): Use %qD instead of %qE for
DECL_P in not a variable and appears more than once error messages.
* g++.dg/gomp/pr35337.C: New test.
From-SVN: r133086
Jakub Jelinek [Mon, 10 Mar 2008 19:40:39 +0000 (20:40 +0100)]
re PR c/35438 (ICE with invalid use of threadprivate)
PR c/35438
PR c/35439
* c-parser.c (c_parser_omp_threadprivate): Don't add vars with
errorneous type. Check that v is a VAR_DECL.
* gcc.dg/gomp/pr35438.c: New test.
* gcc.dg/gomp/pr35439.c: New test.
From-SVN: r133085
Jakub Jelinek [Mon, 10 Mar 2008 19:39:30 +0000 (20:39 +0100)]
re PR middle-end/35099 (ICE in remove_unreachable_regions with -O -fopenmp)
PR middle-end/35099
* tree-cfg.c (new_label_mapper): Update cfun->last_label_uid.
* g++.dg/gomp/pr35099.C: New test.
From-SVN: r133084
Eric Botcazou [Mon, 10 Mar 2008 19:26:35 +0000 (19:26 +0000)]
trans.c (emit_range_check): Do not emit the check if the base type of the expression is the type against...
* trans.c (emit_range_check): Do not emit the check if the base type
of the expression is the type against which its range must be checked.
From-SVN: r133083
H.J. Lu [Mon, 10 Mar 2008 18:20:23 +0000 (18:20 +0000)]
re PR tree-optimization/35494 (Revision 132991 breaks C++ static member)
gcc/
2008-03-10 H.J. Lu <hongjiu.lu@intel.com>
PR tree-optimization/35494
* tree-ssa-ccp.c (get_symbol_constant_value): Check if value
may be overriden at link and run time.
gcc/testsuite/
2008-03-10 H.J. Lu <hongjiu.lu@intel.com>
PR tree-optimization/35494
* g++.dg/tree-ssa/ssa-store-ccp-1.C: New.
* gcc.dg/tree-ssa/ssa-store-ccp-2.c: Likewise.
* gcc.dg/tree-ssa/ssa-store-ccp-3.c: Likewise.
* gcc.dg/tree-ssa/ssa-store-ccp-4.c: Likewise.
From-SVN: r133082
Richard Guenther [Mon, 10 Mar 2008 17:14:45 +0000 (17:14 +0000)]
re PR tree-optimization/34677 (PREs insert_fake_stores is mostly useless)
2008-03-10 Richard Guenther <rguenther@suse.de>
PR tree-optimization/34677
* tree-ssa-pre.c (modify_expr_node_pool): Remove.
(poolify_tree): Likewise.
(modify_expr_template): Likewise.
(poolify_modify_stmt): Likewise.
(insert_fake_stores): Handle all component-ref style stores
in addition to INDIRECT_REF. Also handle complex types.
Do not poolify the inserted load.
(realify_fake_stores): Do not rebuild the tree but only
make it a SSA_NAME copy.
(init_pre): Remove initialzation of modify_expr_template.
Do not allocate modify_expr_node_pool.
(fini_pre): Do not free modify_expr_node_pool.
* gcc.dg/tree-ssa/loadpre23.c: New testcase.
* gcc.dg/tree-ssa/loadpre24.c: Likewise.
* gcc.dg/tree-ssa/loadpre25.c: Likewise.
From-SVN: r133081
Paul Brook [Mon, 10 Mar 2008 14:52:02 +0000 (14:52 +0000)]
arm.md (UNSPEC_STACK_ALIGN, [...]): Renumber to avoid conflicts.
2008-03-10 Paul Brook <paul@codesourcery.com>
gcc/
* config/arm/arm.md (UNSPEC_STACK_ALIGN, UNSPEC_PIC_OFFSET): Renumber
to avoid conflicts.
From-SVN: r133080
Paul Brook [Mon, 10 Mar 2008 13:39:56 +0000 (13:39 +0000)]
cortex-r4.md: New.
2008-03-10 Paul Brook <paul@codesourcery.com>
Mark Shinwell <shinwell@codesourcery.com>
gcc/
* config/arm/cortex-r4.md: New.
* config/arm/thumb2.md (divsi3, udivsi3): Annotate with
insn attributes.
* config/arm/arm.md: Include cortex-r4.md.
(insn): Add smmls, sdiv and udiv values.
(generic_sched): Don't use generic scheduling for Cortex-R4.
(arm_issue_rate): New function.
(TARGET_SCHED_ISSUE_RATE): Define.
Co-Authored-By: Mark Shinwell <shinwell@codesourcery.com>
From-SVN: r133078
Uros Bizjak [Mon, 10 Mar 2008 13:33:07 +0000 (14:33 +0100)]
* ChangeLog: Remove merge marker.
From-SVN: r133077
Sebastian Pop [Mon, 10 Mar 2008 12:56:56 +0000 (12:56 +0000)]
invoke.texi (-ftree-loop-distribution): Add an example.
2008-03-10 Sebastian Pop <sebastian.pop@amd.com>
* doc/invoke.texi (-ftree-loop-distribution): Add an example.
From-SVN: r133076
Richard Guenther [Mon, 10 Mar 2008 11:58:09 +0000 (11:58 +0000)]
tree-ssa-pre.c (get_sccvn_value): Simplify.
2008-03-10 Richard Guenther <rguenther@suse.de>
* tree-ssa-pre.c (get_sccvn_value): Simplify.
(compute_avail): Do not add stmt uses to AVAIL_OUT.
From-SVN: r133074
Paolo Bonzini [Mon, 10 Mar 2008 08:08:06 +0000 (08:08 +0000)]
langhooks-def.h (LANG_HOOKS_REDUCE_BIT_FIELD_OPERATIONS): Set default to true.
2008-03-10 Paolo Bonzini <bonzini@gnu.org>
* langhooks-def.h (LANG_HOOKS_REDUCE_BIT_FIELD_OPERATIONS):
Set default to true.
From-SVN: r133072
GCC Administrator [Mon, 10 Mar 2008 00:19:33 +0000 (00:19 +0000)]
Daily bump.
From-SVN: r133070
Paul Thomas [Sun, 9 Mar 2008 19:38:51 +0000 (19:38 +0000)]
re PR fortran/35474 (Reading module file with COMMON and EQUIVALENCE)
2008-03-09 Paul Thomas <pault@gcc.gnu.org>
PR fortran/35474
* module.c (mio_symtree_ref): After providing a symbol for a
missing equivalence member, resolve and NULL the fixups.
2008-03-09 Paul Thomas <pault@gcc.gnu.org>
PR fortran/35474
* gfortran.dg/module_commons_2.f90 : New test.
From-SVN: r133063
Ralf Wildenhues [Sun, 9 Mar 2008 17:43:10 +0000 (17:43 +0000)]
c.opt (Wsynth): Deprecate.
gcc/
* c.opt (Wsynth): Deprecate.
* doc/invoke.texi (Option Summary, Warning Options): Document
-Wno-format-contains-nul.
gcc/fortran/
* invoke.texi (Error and Warning Options): Document
-Wline-truncation.
contrib/
* check_warning_flags.sh: Instead of invoke.texi, take the path
to the doc directory as argument. Check that warnings listed in
'gcc --help' are accepted by the compiler, and listed in the
manuals.
From-SVN: r133059
Ralf Wildenhues [Sun, 9 Mar 2008 17:31:22 +0000 (17:31 +0000)]
cp-hacking.texinfo: Fix spacing after periods.
libjava/classpath/
* doc/cp-hacking.texinfo: Fix spacing after periods.
* doc/cp-tools.texinfo: Likewise.
* doc/cp-vmintegration.texinfo: Likewise.
From-SVN: r133058
Ralf Wildenhues [Sun, 9 Mar 2008 17:29:49 +0000 (17:29 +0000)]
cp-hacking.texinfo: Fix some typos.
libjava/classpath/
* doc/cp-hacking.texinfo: Fix some typos.
* doc/cp-tools.texinfo: Likewise.
* doc/cp-vmintegration.texinfo: Likewise.
From-SVN: r133057
Eric Botcazou [Sun, 9 Mar 2008 15:34:33 +0000 (15:34 +0000)]
frame_overflow.adb: Improve portability.
* gnat.dg/frame_overflow.adb: Improve portability.
From-SVN: r133054
Uros Bizjak [Sun, 9 Mar 2008 13:37:52 +0000 (14:37 +0100)]
re PR target/35496 (test failures between revs. 132950 and 132974)
PR target/35496
* config/i386/i386.c (ix86_constant_algnment): Compute alignment using
ALIGN_MODE_128 for VECTOR_CST and INTEGER_CST in addition to REAL_CST.
From-SVN: r133052
Ira Rosen [Sun, 9 Mar 2008 08:59:49 +0000 (08:59 +0000)]
rs6000.c (builtin_description): Rename vector left shift operations.
* config/rs6000/rs6000.c (builtin_description): Rename vector
left shift operations.
* config/rs6000/altivec.md (UNSPEC_VSL): Remove.
(altivec_vsl<VI_char>): Rename to ...
(ashl<mode>3): ... new name.
(mulv4sf3, mulv4si3, negv4sf2): Replace gen_altivec_vslw with
gen_ashlv4si3.
(absv4sf2): Convert to use ashift:V4SI instead of UNSPEC_VSL.
From-SVN: r133051
GCC Administrator [Sun, 9 Mar 2008 00:20:44 +0000 (00:20 +0000)]
Daily bump.
From-SVN: r133049
H.J. Lu [Sat, 8 Mar 2008 22:33:54 +0000 (22:33 +0000)]
re PR testsuite/35350 (FAIL: gcc.target/i386/isa-10.c execution test)
2008-03-08 H.J. Lu <hongjiu.lu@intel.com>
PR target/35350
* gcc.target/i386/isa-1.c: Add -march=x86-64.
* gcc.target/i386/isa-2.c: Likewise.
* gcc.target/i386/isa-3.c: Likewise.
* gcc.target/i386/isa-10.c: Likewise.
* gcc.target/i386/isa-11.c: Likewise.
* gcc.target/i386/isa-12.c: Likewise.
* gcc.target/i386/isa-13.c: Likewise.
* gcc.target/i386/isa-14.c: Likewise.
From-SVN: r133044
Uros Bizjak [Sat, 8 Mar 2008 22:05:42 +0000 (23:05 +0100)]
sse2-mmx.c (unsigned_add3): Use _mm_setzero_si64 to zero carry.
* gcc.target/i386/sse2-mmx.c (unsigned_add3): Use _mm_setzero_si64
to zero carry.
From-SVN: r133043
Richard Guenther [Sat, 8 Mar 2008 20:52:50 +0000 (20:52 +0000)]
coverage.h (tree_coverage_counter_addr): Declare.
2008-03-08 Richard Guenther <rguenther@suse.de>
* coverage.h (tree_coverage_counter_addr): Declare.
* coverage.c (tree_coverage_counter_addr): New function.
* tree-profile.c (tree_gen_edge_profiler): Unshare counter
before using again.
(tree_gen_pow2_profiler): Use tree_coverage_counter_addr.
(tree_gen_one_value_profiler): Likewise.
(tree_gen_ic_profiler): Likewise.
(tree_gen_average_profiler): Likewise.
(tree_gen_ior_profiler): Likewise.
From-SVN: r133041
Eric Botcazou [Sat, 8 Mar 2008 20:01:58 +0000 (20:01 +0000)]
decl.c (maybe_pad_type): Use value_factor_p.
* decl.c (maybe_pad_type): Use value_factor_p.
From-SVN: r133039
Richard Guenther [Sat, 8 Mar 2008 19:30:55 +0000 (19:30 +0000)]
tree-ssa-sccvn.h (vn_binary_op_lookup): Remove.
2008-03-08 Richard Guenther <rguenther@suse.de>
* tree-ssa-sccvn.h (vn_binary_op_lookup): Remove.
(vn_binary_op_insert): Likewise.
(vn_unary_op_lookup): Likewise.
(vn_unary_op_insert): Likewise.
(vn_nary_op_lookup): Declare.
(vn_nary_op_insert): Likewise.
* tree-ssa-sccvn.c (struct vn_tables_s): Merge unary
and binary hashes, use a single obstack for unary_op_pool
and binary_op_pool.
(struct vn_binary_op_s, struct vn_unary_op_s): Replace with
a single struct vn_nary_op_s. Store tree code length and
a variable number of operands.
(struct vn_reference_op_struct): Remove unused op2.
(vn_reference_op_eq): Do not compare op2.
(vn_reference_op_compute_hash): Do not compute hash of op2.
(vn_unary_op_hash, vn_binary_op_hash): Replace with vn_nary_op_hash.
(vn_unary_op_compute_hash, vn_binary_op_compute_hash): Replace
with vn_nary_op_compute_hash.
(vn_unary_op_eq, vn_binary_op_eq): Replace with vn_nary_op_eq.
(vn_unary_op_lookup, vn_binary_op_lookup): Replace with
vn_nary_op_lookup.
(vn_unary_op_insert, vn_binary_op_insert): Replace with
vn_nary_op_insert.
(visit_unary_op): Call nary functions.
(visit_binary_op): Likewise.
(process_scc): Adjust for struct vn_tables_s changes.
(allocate_vn_table): Likewise.
(free_vn_table): Likewise.
* tree-vn.c (vn_add): Call nary functions.
(vn_lookup): Likewise.
From-SVN: r133038
Francois-Xavier Coudert [Sat, 8 Mar 2008 18:22:31 +0000 (18:22 +0000)]
re PR fortran/34956 (-fbounds-check: bounds_check_9.f90: Use of uninitialized memory)
PR fortran/34956
* trans-array.c (gfc_conv_ss_startstride): Fix the logic to avoid
checking bounds of absent optional arguments.
From-SVN: r133037
Eric Botcazou [Sat, 8 Mar 2008 13:14:19 +0000 (13:14 +0000)]
Fix nits.
From-SVN: r133036
Eric Botcazou [Sat, 8 Mar 2008 12:44:51 +0000 (12:44 +0000)]
lang.opt (nostdlib): Move around.
* lang.opt (nostdlib): Move around.
* misc.c (gnat_handle_option): Fix formatting.
(gnat_dwarf_name): Move around.
* trans.c (Case_Statement_to_gnu): Fix formatting.
(gnat_to_gnu): Likewise.
* utils.c (aggregate_type_contains_array_p): Likewise.
(create_subprog_decl): Likewise.
From-SVN: r133035
Uros Bizjak [Sat, 8 Mar 2008 12:43:13 +0000 (13:43 +0100)]
re PR target/22152 (Poor loop optimization when using mmx builtins)
PR target/22152
* gcc.target/i386/pr22152.c: New test.
* gcc.target/i386/sse2-mmx.c: Ditto.
From-SVN: r133034
Eric Botcazou [Sat, 8 Mar 2008 12:12:47 +0000 (12:12 +0000)]
decl.c (gnat_to_gnu_entity): Do not bother propagating the TYPE_USER_ALIGN flag when creating a JM type.
* decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>: Do not
bother propagating the TYPE_USER_ALIGN flag when creating a JM type.
From-SVN: r133032
Eric Botcazou [Sat, 8 Mar 2008 12:01:22 +0000 (12:01 +0000)]
decl.c (gnat_to_gnu_entity): Do not force BIGGEST_ALIGNMENT when capping the alignment of records with...
* decl.c (gnat_to_gnu_entity) <E_Record_Type>: Do not force
BIGGEST_ALIGNMENT when capping the alignment of records with
strict alignment and size clause.
From-SVN: r133031
Eric Botcazou [Sat, 8 Mar 2008 11:53:19 +0000 (11:53 +0000)]
lang-specs.h: Pass -gnatwa if -Wall is passed.
* lang-specs.h: Pass -gnatwa if -Wall is passed.
* misc.c (gnat_handle_option) <OPT_Wall>: Expand into -Wunused
and -Wuninitialized.
(gnat_post_options): Clear warn_unused_parameter.
From-SVN: r133030
Eric Botcazou [Sat, 8 Mar 2008 11:30:26 +0000 (11:30 +0000)]
utils.c (finish_record_type): Clear DECL_BIT_FIELD on sufficiently aligned bit-fields...
* utils.c (finish_record_type): Clear DECL_BIT_FIELD on sufficiently
aligned bit-fields, bumping the alignment of the record type if deemed
profitable.
(value_factor_p): Return false instead of 0.
From-SVN: r133028
Eric Botcazou [Sat, 8 Mar 2008 11:10:18 +0000 (11:10 +0000)]
decl.c (gnat_to_gnu_entity): Add support for scalar types with small alignment.
* decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>: Add support
for scalar types with small alignment.
From-SVN: r133027
Eric Botcazou [Sat, 8 Mar 2008 10:57:28 +0000 (10:57 +0000)]
trans.c (Loop_Statement_to_gnu): Set the SLOC of the loop label from that of the front-end's end label.
* trans.c (Loop_Statement_to_gnu): Set the SLOC of the loop label
from that of the front-end's end label.
(gnat_gimplify_stmt) <LOOP_STMT>: Set the SLOC of the backward goto
from that of the loop label.
From-SVN: r133026
Jakub Jelinek [Sat, 8 Mar 2008 07:30:55 +0000 (08:30 +0100)]
re PR target/35498 (libgomp/testsuite/libgomp.c/atomic-3.c fails on ppc-linux)
PR target/35498
* config/rs6000/rs6000.c (rs6000_expand_compare_and_swapqhi): Shift
wdst back after sync_compare_and_swapqhi_internal.
From-SVN: r133024
Uros Bizjak [Sat, 8 Mar 2008 06:59:33 +0000 (07:59 +0100)]
re PR target/22152 (Poor loop optimization when using mmx builtins)
2008-03-08 Uros Bizjak <ubizjak@gmail.com>
PR target/22152
* config/i386/i386-modes.def (V1DI): New vector mode.
* config/i386/i386.h (VALID_MMX_REG_MODE): Add V1DImode.
* config/i386/mmx.md (MMXMODEI8): New mode iterator.
(MMXMODE248): Ditto.
(MMXMODE): Add V1DI mode.
(mmxvecsize): Change DI mode to V1DI mode.
("mov<mode>): Use MMXMODEI8 mode iterator.
("*mov<mode>_internal_rex64"): Ditto.
("*mov<mode>_internal"): Ditto.
("mmx_add<mode>3"): Ditto. Handle V1DImode for TARGET_SSE2.
("mmx_sub<mode>3"): Ditto.
("mmx_adddi3"): Remove insn pattern.
("mmx_subdi3"): Ditto.
("mmx_ashr<mode>3"): Use SImode and "yN" constraint for operand 2.
("mmx_lshr<mode>3"): Ditto. Use MMXMODE248 mode iterator.
("mmx_ashl<mode>3"): Ditto.
("mmx_lshrdi3"): Remove insn pattern.
("mmx_ashldi3"): Ditto.
* config/i386/i386.c (classify_argument): Handle V1DImode.
(function_arg_advance_32): Ditto.
(function_arg_32): Ditto.
(struct builtin_description) [IX86_BUILTIN_PADDQ]: Use
mmx_addv1di3 insn pattern.
[IX86_BUILTIN_PSUBQ]: Use mmx_subv1di3 insn pattern.
[IX86_BUILTIN_PSLL?, IX86_BUILTIN_PSRL?, IX86_BUILTIN_PSRA?,
IX86_BUILTIN_PSLL?I, IX86_BUILTIN_PSRL?I, IX86_BUILTIN_PSRA?I,
IX86_BUILTIN_PSLL?I128, IX86_BUILTIN_PSRL?I128, IX86_BUILTIN_PSRA?I128]:
Remove definitions of built-in functions.
(V1DI_type_node): New node.
(v1di_ftype_v1di_int): Ditto.
(v1di_ftype_v1di_v1di): Ditto.
(v2si_ftype_v2si_si): Ditto.
(v4hi_ftype_v4hi_di): Remove node.
(v2si_ftype_v2si_di): Ditto.
(ix86_init_mmx_sse_builtins): Handle V1DImode.
(__builtin_ia32_psll?, __builtin_ia32_psrl?, __builtin_ia32_psra?):
Redefine builtins using def_builtin_const with *_ftype_*_int node.
(__builtin_ia32_psll?i, __builtin_ia32_psrl?i, __builtin_ia32_psra?i):
Add new builtins using def_builtin_const.
(ix86_expand_builtin) [IX86_BUILTIN_PSLL?, IX86_BUILTIN_PSRL?,
IX86_BUILTIN_PSRA?, IX86_BUILTIN_PSLL?I, IX86_BUILTIN_PSRL?I,
IX86_BUILTIN_PSRA?I]: Handle builtin definitions.
* config/i386/mmintrin.h (__v1di): New typedef.
(_mm_add_si64): Cast arguments to __v1di type.
(_mm_sub_si64): Ditto.
(_mm_sll_pi16): Cast __count to __v4hi type.
(_mm_sll_pi32): Cast __count to __v2si type.
(_mm_sll_si64): Cast arguments to __v1di type.
(_mm_srl_pi16): Cast __count to __v4hi type.
(_mm_srl_pi32): Cast __count to __v2si type.
(_mm_srl_si64): Cast arguments to __v1di type.
(_mm_sra_pi16): Cast __count to __v4hi type.
(_mm_sra_pi32): Cast __count to __v2si type.
(_mm_slli_pi16): Use __builtin_ia32_psllwi.
(_mm_slli_pi32): Use __builtin_ia32_pslldi.
(_mm_slli_si64): Use __builtin_ia32_psllqi. Cast __m to __v1di type.
(_mm_srli_pi16): Use __builtin_ia32_psrlwi.
(_mm_srli_pi32): Use __builtin_ia32_psrldi.
(_mm_srli_si64): Use __builtin_ia32_psrlqi. Cast __m to __v1di type.
(_mm_srai_pi16): Use __builtin_ia32_psrawi.
(_mm_srai_pi32): Use __builtin_ia32_psradi.
* config/i386/i386.md (UNSPEC_NOP): Remove unspec definition.
* doc/extend.texi (X86 Built-in Functions) [__builtin_ia32_psll?,
__builtin_ia32_psrl?, __builtin_ia32_psra?, __builtin_ia32_psll?i,
__builtin_ia32_psrl?i, __builtin_ia32_psra?i]: Add new builtins.
From-SVN: r133023