Sebastian Pop [Tue, 25 Jan 2011 06:48:32 +0000 (06:48 +0000)]
Pass to dr_analyze_indices the analysis loop for subscripts.
2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
* graphite-scop-detection.c (stmt_has_simple_data_refs_p): Update
call to graphite_find_data_references_in_stmt.
* graphite-sese-to-poly.c (outermost_loop_in_sese_1): New.
(try_generate_gimple_bb): Call outermost_loop_in_sese_1. Update
call to graphite_find_data_references_in_stmt.
(analyze_drs_in_stmts): Same.
* tree-data-ref.c (dr_analyze_indices): Pass in parameter the loop
in which the scalar analysis of indices is performed.
(create_data_ref): Same. Update call to dr_analyze_indices.
(find_data_references_in_stmt): Update call to create_data_ref.
(graphite_find_data_references_in_stmt): Same.
* tree-data-ref.h (graphite_find_data_references_in_stmt): Update
declaration.
(create_data_ref): Same.
* tree-ssa-loop-prefetch.c (determine_loop_nest_reuse): Update
call to create_data_ref.
From-SVN: r169218
Sebastian Pop [Tue, 25 Jan 2011 06:48:20 +0000 (06:48 +0000)]
Move rewrite_commutative_reductions_out_of_ssa before find_scop_parameters.
2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
* graphite-sese-to-poly.c (build_poly_scop): Move
rewrite_commutative_reductions_out_of_ssa before
find_scop_parameters.
From-SVN: r169217
Sebastian Pop [Tue, 25 Jan 2011 06:48:11 +0000 (06:48 +0000)]
Patch not merged, update ChangeLog.graphite.
From-SVN: r169216
Sebastian Pop [Tue, 25 Jan 2011 06:47:58 +0000 (06:47 +0000)]
Fail when PPL 0.11 is not present and CLooG has been requested.
2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
* configure.ac: Call AC_MSG_ERROR when PPL 0.11 is not present and
CLooG has been requested.
* configure: Regenerated.
From-SVN: r169215
Sebastian Pop [Tue, 25 Jan 2011 06:47:46 +0000 (06:47 +0000)]
Patch not merged, update ChangeLog.graphite.
From-SVN: r169214
Sebastian Pop [Tue, 25 Jan 2011 06:47:34 +0000 (06:47 +0000)]
Do not create the temporary array for reductions into VAR_DECL, PARM_DECL, and RESULT_DECL.
2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
* graphite-sese-to-poly.c (close_phi_written_to_memory): Also allow
VAR_DECL, PARM_DECL, and RESULT_DECL.
* gfortran.dg/graphite/interchange-3.f90: Un-XFAILed.
From-SVN: r169213
Sebastian Pop [Tue, 25 Jan 2011 06:47:21 +0000 (06:47 +0000)]
Allow several reductions in a reduction PBB.
2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
* graphite-dependences.c (reduction_dr_1): Allow several reductions
in a reduction PBB.
* graphite-sese-to-poly.c (split_reduction_stmt): Do not split PBBs
that have already been marked as PBB_IS_REDUCTION.
From-SVN: r169212
Sebastian Pop [Tue, 25 Jan 2011 06:47:09 +0000 (06:47 +0000)]
Remove duplicate close phi nodes in the canonical close phi representation.
2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
* graphite-scop-detection.c (same_close_phi_node): New.
(remove_duplicate_close_phi): New.
(make_close_phi_nodes_unique): New.
(canonicalize_loop_closed_ssa): Call make_close_phi_nodes_unique.
From-SVN: r169211
Sebastian Pop [Tue, 25 Jan 2011 06:46:56 +0000 (06:46 +0000)]
Relax the definition of same_pdr_p.
2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
* graphite-dependences.c (new_poly_ddr): Call same_pdr_p.
* graphite-poly.h (same_pdr_p): Do not expect that the PDR_TYPE
of both data references to be the same.
From-SVN: r169210
Sebastian Pop [Tue, 25 Jan 2011 06:46:43 +0000 (06:46 +0000)]
Pass 0 as the number of parameters to PIP when testing for integer feasibility.
2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
* graphite-dependences.c (build_lexicographical_constraint): Remove the
gdim parameter.
(build_lexicographical_constraint): Adjust call to ppl_powerset_is_empty.
(dependence_polyhedron): Same.
(graphite_legal_transform_dr): Same.
(graphite_carried_dependence_level_k): Same.
* graphite-ppl.c (ppl_powerset_is_empty): Remove the nb_params parameter.
* graphite-ppl.h (ppl_powerset_is_empty): Adjust declaration.
From-SVN: r169209
Sebastian Pop [Tue, 25 Jan 2011 06:46:31 +0000 (06:46 +0000)]
Remove the temporary array for reductions written to memory.
2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
* graphite-sese-to-poly.c
(translate_scalar_reduction_to_array_for_stmt): Call unshare_expr.
(close_phi_written_to_memory): New.
(translate_scalar_reduction_to_array): Call close_phi_written_to_memory
and unshare_expr.
* gcc.dg/graphite/block-0.c: Un-XFAILed.
* gcc.dg/graphite/block-1.c: Un-XFAILed.
* gcc.dg/graphite/block-7.c: Un-XFAILed.
* gcc.dg/graphite/block-8.c: Un-XFAILed.
* gcc.dg/graphite/interchange-12.c: Un-XFAILed.
* gcc.dg/graphite/interchange-14.c: Un-XFAILed.
* gcc.dg/graphite/interchange-15.c: Un-XFAILed.
* gcc.dg/graphite/interchange-8.c: Un-XFAILed.
* gcc.dg/graphite/interchange-mvt.c: Un-XFAILed.
From-SVN: r169208
Sebastian Pop [Tue, 25 Jan 2011 06:46:19 +0000 (06:46 +0000)]
Expect at least the version 0.11 of PPL.
2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
toplev/
* configure: Regenerated.
* configure.ac: Check for version 0.11 (or later revision) of PPL.
toplev/gcc/
* doc/install.texi: Update the expected version number of PPL to 0.11.
* graphite-ppl.c (ppl_powerset_is_empty): Remove now dead code under
#if PPL_VERSION_MINOR < 11.
From-SVN: r169207
Sebastian Pop [Tue, 25 Jan 2011 06:46:07 +0000 (06:46 +0000)]
Minimize the number of expensive calls to ppl_powerset_is_empty.
2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
* graphite-dependences.c: Include graphite-cloog-util.h.
(new_poly_ddr): Inlined into dependence_polyhedron.
(free_poly_ddr): Moved close by new_poly_ddr.
(dependence_polyhedron_1): Renamed dependence_polyhedron.
Early return NULL when ppl_powerset_is_empty returns true.
(dependence_polyhedron): Renamed new_poly_ddr. Call only once
poly_drs_may_alias_p. Avoid one call to ppl_powerset_is_empty.
(graphite_legal_transform_dr): Call new_poly_ddr.
(graphite_carried_dependence_level_k): Same.
(dot_original_deps_stmt_1): Renamed dot_deps_stmt_2. Use new_poly_ddr.
(dot_transformed_deps_stmt_1): Removed.
(dot_deps_stmt_1): Call dot_deps_stmt_2.
(dot_original_deps): Renamed dot_deps_2. Call new_poly_ddr.
(dot_deps_1): Call dot_deps_2.
* Makefile.in (graphite-dependences.o): Add missing dependence on
graphite-cloog-util.h.
From-SVN: r169206
Sebastian Pop [Tue, 25 Jan 2011 06:45:54 +0000 (06:45 +0000)]
Use PIP to determine the integer feasibility of a constraint system.
2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
* graphite-dependences.c (new_poly_dr): Call ppl_powerset_is_empty.
(build_lexicographical_constraint): Same.
(dependence_polyhedron_1): Same.
(graphite_legal_transform_dr): Same.
(graphite_carried_dependence_level_k): Same.
* graphite-ppl.c (ppl_powerset_is_empty): New.
* graphite-ppl.h (ppl_powerset_is_empty): Declared.
* tree-data-ref.c (dump_data_reference): Print the basic block index.
* gcc.dg/graphite/block-0.c: Add documentation.
* gcc.dg/graphite/block-4.c: Same.
* gcc.dg/graphite/block-7.c: Same.
* gcc.dg/graphite/block-8.c: New.
* gcc.dg/graphite/interchange-1.c: Un-XFAILed.
* gcc.dg/graphite/interchange-11.c: Un-XFAILed.
* gcc.dg/graphite/interchange-12.c: Add documentation.
* gcc.dg/graphite/interchange-13.c: New.
* gcc.dg/graphite/interchange-14.c: New.
* gcc.dg/graphite/interchange-15.c: New.
* gcc.dg/graphite/interchange-8.c: Add documentation.
* gcc.dg/graphite/interchange-mvt.c: Same.
From-SVN: r169205
Sebastian Pop [Tue, 25 Jan 2011 06:45:42 +0000 (06:45 +0000)]
Correct the precedence relation.
2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
* graphite-dependences.c (build_pairwise_scheduling): Correctly compute
the "a followed by b" relation and document it.
From-SVN: r169204
Sebastian Pop [Tue, 25 Jan 2011 06:45:29 +0000 (06:45 +0000)]
speedup compilation
2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
* graphite-dependences.c (build_lexicographical_constraint): Stop the
iteration when the bag of constraints is empty.
From-SVN: r169203
Sebastian Pop [Tue, 25 Jan 2011 06:45:16 +0000 (06:45 +0000)]
Fix pbb_remove_duplicate_pdrs.
2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
* graphite-poly.c (pbb_remove_duplicate_pdrs): Make it work.
From-SVN: r169202
Sebastian Pop [Tue, 25 Jan 2011 06:45:04 +0000 (06:45 +0000)]
Test the profitability of interchange on the perfect nest.
2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
* graphite-interchange.c (lst_interchange_profitable_p): Takes a loop
nest and two loop depths as parameters.
(lst_try_interchange_loops): Call lst_interchange_profitable_p after
lst_perfect_nestify.
From-SVN: r169201
Sebastian Pop [Tue, 25 Jan 2011 06:44:53 +0000 (06:44 +0000)]
Print the data dependence polyhedron in the PPL format.
2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
* graphite-dependences.c (print_pddr): Call
ppl_io_fprint_Pointset_Powerset_C_Polyhedron.
From-SVN: r169200
Sebastian Pop [Tue, 25 Jan 2011 06:44:41 +0000 (06:44 +0000)]
Add debug_gmp_value.
2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
* graphite-ppl.c (debug_gmp_value): New.
* graphite-ppl.h (debug_gmp_value): Declared.
From-SVN: r169199
Tobias Grosser [Tue, 25 Jan 2011 06:44:30 +0000 (06:44 +0000)]
Update required cloog to 0.16.1.
2011-01-25 Tobias Grosser <grosser@fim.uni-passau.de>
* configure: Regenerated.
* configure.ac: Use CLOOG_CHECK_VERSION(0,16,1).
From-SVN: r169198
Tobias Grosser [Tue, 25 Jan 2011 06:44:20 +0000 (06:44 +0000)]
Document availability of cloog-0.16
2011-01-25 Tobias Grosser <grosser@fim.uni-passau.de>
* doc/install.texi: Document availability of cloog-0.16.
From-SVN: r169197
Vladimir Kargov [Tue, 25 Jan 2011 06:44:12 +0000 (06:44 +0000)]
Patch not merged, update ChangeLog.graphite.
From-SVN: r169196
Vladimir Kargov [Tue, 25 Jan 2011 06:44:05 +0000 (06:44 +0000)]
Patch not merged, update ChangeLog.graphite.
From-SVN: r169195
Sebastian Pop [Tue, 25 Jan 2011 06:43:57 +0000 (06:43 +0000)]
Free invalid postdominance info.
2011-01-25 Vladimir Kargov <kargov@gmail.com>
* graphite-scop-detection.c (canonicalize_loop_closed_ssa): Free
invalid postdominance info.
From-SVN: r169194
Sebastian Pop [Tue, 25 Jan 2011 06:43:48 +0000 (06:43 +0000)]
Add changelogs of patches that will not be merged to trunk.
From-SVN: r169193
Ian Lance Taylor [Tue, 25 Jan 2011 05:45:21 +0000 (05:45 +0000)]
re PR go/47452 (Bootstrap fails in libgo (argument has incompatible type))
PR go/47452
Pick up local .gox files for specially built packages.
From-SVN: r169192
Ian Lance Taylor [Tue, 25 Jan 2011 00:40:00 +0000 (00:40 +0000)]
libgo: Fix typo in syscalls/socket_bsd.go.
From-SVN: r169190
GCC Administrator [Tue, 25 Jan 2011 00:18:38 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r169189
Ian Lance Taylor [Mon, 24 Jan 2011 23:42:22 +0000 (23:42 +0000)]
Recognize m68k, mips, PPC. Don't require arch syscall files to exist.
From-SVN: r169185
Jan Hubicka [Mon, 24 Jan 2011 23:07:25 +0000 (00:07 +0100)]
re PR c/21659 ([unit-at-a-time] "weak declaration must precede definition" error missing at >= O1)
PR c/21659
* doc/extend.texi (weak pragma): Drop claim that it must
appear before definition.
* varasm.c (merge_weak, declare_weak): Only sanity check
that DECL is not output at a time it is declared weak.
From-SVN: r169184
Ian Lance Taylor [Mon, 24 Jan 2011 22:44:52 +0000 (22:44 +0000)]
syscalls/sleep_rtems.go: Add missing package clause.
From-SVN: r169183
Kenneth Zadeck [Mon, 24 Jan 2011 20:08:06 +0000 (20:08 +0000)]
machmode.def: Fixed comments.
2011-01-24 Kenneth Zadeck <zadeck@naturalbridge.com>
* machmode.def: Fixed comments.
From-SVN: r169179
Graham Reed [Mon, 24 Jan 2011 19:53:35 +0000 (19:53 +0000)]
re PR libstdc++/47387 (AIX ctype 'mask' override not working)
2011-01-24 Graham Reed <greed@pobox.com>
PR libstdc++/47387
* config/os/aix/ctype_inline.h (ctype<char>::is): Use _M_table if
provided.
From-SVN: r169178
Kai Tietz [Mon, 24 Jan 2011 18:49:20 +0000 (19:49 +0100)]
emit-rtl.c (reg_attrs_htab_hash): Replace long by intptr_t.
2011-01-24 Kai Tietz <kai.tietz@onevision.com>
* emit-rtl.c (reg_attrs_htab_hash): Replace long by intptr_t.
Additionally correct ChangeLog date entry for Koenig.
From-SVN: r169176
Paul Koning [Mon, 24 Jan 2011 17:46:15 +0000 (12:46 -0500)]
builtins.c (c_readstr): Fix byte order if BYTES_BIG_ENDIAN != WORDS_BIG_ENDIAN.
* builtins.c (c_readstr): Fix byte order if BYTES_BIG_ENDIAN !=
WORDS_BIG_ENDIAN.
From-SVN: r169174
H.J. Lu [Mon, 24 Jan 2011 17:29:58 +0000 (17:29 +0000)]
Visit basic blocks using the work-list based algorithm.
2011-01-24 H.J. Lu <hongjiu.lu@intel.com>
PR target/46519
* config/i386/i386.c: Include sbitmap.h and fibheap.h.
(block_info): Add scanned and prev.
(move_or_delete_vzeroupper_2): Return if the basic block
has been scanned and the upper 128bit state is unchanged
from the last scan.
(move_or_delete_vzeroupper_1): Return true if the exit
state is changed.
(move_or_delete_vzeroupper): Visit basic blocks using the
work-list based algorithm based on vt_find_locations in
var-tracking.c.
* config/i386/t-i386: Also depend on sbitmap.h and $(FIBHEAP_H).
From-SVN: r169173
Johannes Singler [Mon, 24 Jan 2011 17:07:35 +0000 (17:07 +0000)]
re PR libstdc++/47433 (libstdc++ parallel mode calls std::swap explicitely)
2011-01-24 Johannes Singler <singler@kit.edu>
PR libstdc++/47433
* include/parallel/losertree.h
(_LoserTree<>::__delete_min_insert):
Do not qualify swap with std:: for value type,
but include a using directive instead.
(_LoserTreeUnguarded<>::__delete_min_insert): Likewise.
* include/parallel/balanced_quicksort.h (__qsb_divide):
Use std::iter_swap instead of std::swap.
(__qsb_local_sort_with_helping): Likewise.
* include/parallel/partition.h (__parallel_partition):
Likewise. (__parallel_nth_element): Likewise.
From-SVN: r169171
Nick Clifton [Mon, 24 Jan 2011 17:00:28 +0000 (17:00 +0000)]
v850.opt (mv850es): New option - alias for -mv850e1.
* config/v850/v850.opt (mv850es): New option - alias for -mv850e1.
* config/v850/v850.h (ASM_SPEC): If -mv850es is specified pass
-mv850e1 to the assembler. If -mv850e1 or -mv850es is specified
then define __v850e1__.
* doc/invoke.texi: Document -mv850es.
From-SVN: r169170
Richard Henderson [Mon, 24 Jan 2011 16:59:15 +0000 (08:59 -0800)]
rx: Uncomplicate fp comparisons.
It turns out that the middle-end will happily take care of
doing the swapping and splitting of compound fp comparisons.
No need for us to replicate that here.
From-SVN: r169169
Michael Meissner [Mon, 24 Jan 2011 16:47:16 +0000 (16:47 +0000)]
Fix PR 47408 and 47385
From-SVN: r169167
Johannes Singler [Mon, 24 Jan 2011 16:44:30 +0000 (16:44 +0000)]
re PR libstdc++/47437 (libstdc++ parallel mode: multiway_merge does not compile)
2011-01-24 Johannes Singler <singler@kit.edu>
PR libstdc++/47437
* include/parallel/multiway_merge.h (_UnguardedIterator):
Remove useless "mutable" from reference declaration.
From-SVN: r169166
Rainer Orth [Mon, 24 Jan 2011 11:45:49 +0000 (11:45 +0000)]
* lib/scanasm.exp (dg-function-on-line): Handle mips-sgi-irix*.
From-SVN: r169157
Rainer Orth [Mon, 24 Jan 2011 09:35:13 +0000 (09:35 +0000)]
cray_pointers_2.f90: Avoid cycling through optimization options.
* gfortran.dg/cray_pointers_2.f90: Avoid cycling through
optimization options.
From-SVN: r169155
Rainer Orth [Mon, 24 Jan 2011 09:30:31 +0000 (09:30 +0000)]
re PR target/45988 (gfortran.dg/vect/fast-math-pr38968.f90 times out on 32-bit Solaris 10/x86)
* gfortran.dg/array_constructor_33.f90: Use dg-timeout-factor 4.
PR testsuite/45988
* gfortran.dg/vect/fast-math-pr38968.f90: Use dg-timeout-factor 2.
From-SVN: r169153
Eric Botcazou [Mon, 24 Jan 2011 08:02:01 +0000 (08:02 +0000)]
Fix long line
From-SVN: r169152
GCC Administrator [Mon, 24 Jan 2011 00:18:17 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r169150
Tobias Burnus [Sun, 23 Jan 2011 22:26:27 +0000 (23:26 +0100)]
re PR fortran/47421 (Wrong-code: Value of scalar ALLOCATABLE CHARACTER(len=n) dummy is mangled)
2011-01-23 Tobias Burnus <burnus@net-b.de>
PR fortran/47421
* trans-decl.c (gfc_trans_deferred_vars): Do not nullify
scalar allocatable dummy arguments.
2011-01-23 Tobias Burnus <burnus@net-b.de>
PR fortran/47421
* gfortran.dg/allocatable_scalar_12.f90: New.
From-SVN: r169145
Bernd Schmidt [Sun, 23 Jan 2011 21:11:24 +0000 (21:11 +0000)]
re PR rtl-optimization/47166 (SpecCpu2000 Ammp segfaults for ARM with -O3 -mthumb)
PR rtl-optimization/47166
* reload1.c (emit_reload_insns): Disable the spill_reg_store
mechanism for PRE_MODIFY and POST_MODIFY.
(inc_for_reload): For PRE_MODIFY, return the insn that sets the
reloadreg.
Co-Authored-By: Richard Sandiford <rdsandiford@googlemail.com>
From-SVN: r169144
Andreas Schwab [Sun, 23 Jan 2011 14:27:33 +0000 (14:27 +0000)]
compare-elim.c (maybe_select_cc_mode): Add ATTRIBUTE_UNUSED markers.
* compare-elim.c (maybe_select_cc_mode): Add ATTRIBUTE_UNUSED
markers.
From-SVN: r169143
Ira Rosen [Sun, 23 Jan 2011 08:20:22 +0000 (08:20 +0000)]
costmodel-vect-33.c: Expect vectorization to be not profitable if...
* gcc.dg/vect/costmodel/spu/costmodel-vect-33.c: Expect
vectorization to be not profitable if peeling is used
to realign the memory access.
* gcc.dg/vect/costmodel/spu/costmodel-vect-76a.c:
Increase loop bound to avoid loop unrolling.
* gcc.dg/vect/costmodel/spu/costmodel-vect-76c.c:
Likewise.
From-SVN: r169142
GCC Administrator [Sun, 23 Jan 2011 00:18:24 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r169141
Jan Hubicka [Sat, 22 Jan 2011 23:45:45 +0000 (00:45 +0100)]
re PR target/47333 (g++.dg/lto/
20091219 FAILs on Solaris 2 with SUN as)
PR lto/47333
* g++.dg/lto/pr47333.C: New file.
* lto-cgraph.c (reachable_from_this_partition_p): Fix pasto.
From-SVN: r169137
Jan Hubicka [Sat, 22 Jan 2011 21:47:40 +0000 (22:47 +0100)]
re PR target/43884 (Performance degradation for simple fibonacci numbers calculation)
PR tree-optimization/43884
PR lto/44334
* predict.c (maybe_hot_frequency_p): Use entry block frequency as an base.
* doc/invoke.texi (hot-bb-frequency-fraction): Update docs.
* gcc.dg/autopar/outer-2.c: Increase array size.
* gcc.dg/tree-ssa/ldist-pr45948.c: Update test.
From-SVN: r169136
Anatoly Sokolov [Sat, 22 Jan 2011 21:38:39 +0000 (00:38 +0300)]
s390.h (REGISTER_MOVE_COST, [...]): Remove.
* config/s390/s390.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove.
* config/s390/s390.c (s390_register_move_cost,
s390_memory_move_cost): New.
(TARGET_REGISTER_MOVE_COST, TARGET_MEMORY_MOVE_COST): Define.
From-SVN: r169135
Ulrich Weigand [Sat, 22 Jan 2011 21:24:54 +0000 (21:24 +0000)]
re PR middle-end/47401 (Support for must-not-throw regions with SJLJ exceptions broken)
PR middle-end/47401
* except.c (sjlj_assign_call_site_values): Move setting the
crtl->uses_eh_lsda flag to ...
(sjlj_mark_call_sites): ... here.
(sjlj_emit_function_enter): Support NULL dispatch label.
(sjlj_build_landing_pads): In a function with no landing pads
that still has must-not-throw regions, generate code to register
a personality function with empty LSDA.
From-SVN: r169134
Richard Henderson [Sat, 22 Jan 2011 19:39:36 +0000 (11:39 -0800)]
rx: Enable the compare-elim pass.
From-SVN: r169133
Richard Henderson [Sat, 22 Jan 2011 19:37:55 +0000 (11:37 -0800)]
mn10300: Enable the compare-elim pass.
From-SVN: r169132
Richard Henderson [Sat, 22 Jan 2011 19:35:10 +0000 (11:35 -0800)]
New -fcompare-elim pass.
Version 3, with two rounds of comments from Paolo Bonzini.
From-SVN: r169131
Thomas Koenig [Sat, 22 Jan 2011 17:30:22 +0000 (17:30 +0000)]
re PR fortran/38536 (ICE with C_LOC in resolve.c due to not properly going through expr->ref)
2011-01-22 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/38536
* resolve.c (gfc_iso_c_func_interface): For C_LOC,
check for array sections followed by component references
which are illegal. Also check for coindexed arguments.
2011-01-22 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/38536
* gfortran.dg/c_loc_tests_16.f90: New test.
From-SVN: r169130
Nick Clifton [Sat, 22 Jan 2011 16:09:52 +0000 (16:09 +0000)]
rx.md (cstoresf4): Pass comparison operator to rx_split_fp_compare.
* config/rx/rx.md (cstoresf4): Pass comparison operator to
rx_split_fp_compare.
From-SVN: r169129
Nick Clifton [Sat, 22 Jan 2011 16:05:49 +0000 (16:05 +0000)]
rx.md (UNSPEC_CONST): New.
* config/rx/rx.md (UNSPEC_CONST): New.
(deallocate_and_return): Wrap the amount popped off the stack in
an UNSPEC_CONST in order to stop it being rejected by
-mmax-constant-size.
(pop_and_return): Add a "(return)" rtx.
(call): Drop the immediate operand.
(call_internal): Likewise.
(call_value): Likewise.
(call_value_internal): Likewise.
(sibcall_internal): Likewise.
(sibcall_value_internal): Likewise.
(sibcall): Likewise. Generate an explicit call using
sibcall_internal.
(sibcall_value): Likewise.
(mov<>): FAIL if a constant operand is not legitimate.
(addsi3_unpsec): New pattern.
* config/rx/rx.c (rx_print_operand_address): Handle UNPSEC
CONSTs.
(ok_for_max_constant): New function.
(gen_safe_add): New function.
(rx_expand_prologue): Use gen_safe_add.
(rx_expand_epilogue): Likewise.
(rx_is_legitimate_constant): Use ok_for_max_constant. Handle
UNSPEC CONSTs.
From-SVN: r169128
Tobias Burnus [Sat, 22 Jan 2011 13:50:25 +0000 (14:50 +0100)]
re PR fortran/47399 ([OOP] ICE with TBP of a PARAMETER)
2011-01-22 Tobias Burnus <burnus@net-b.de>
PR fortran/47399
* primary.c (gfc_match_varspec): Relax gcc_assert to allow for
PARAMETER TBP.
2011-01-22 Tobias Burnus <burnus@net-b.de>
PR fortran/47399
* gfortran.dg/typebound_proc_19.f90: New.
From-SVN: r169126
Jeff Law [Sat, 22 Jan 2011 04:09:44 +0000 (21:09 -0700)]
re PR tree-optimization/47053 (ICE: verify_flow_info failed: BB 2 can not throw but has an EH edge with -O -fnon-call-exceptions)
PR tree-optimization/47053
* tree-ssa-dse.c (need_eh_cleanup): New bitmap.
(dse_optimize_stmt): Set the appropriate bit in NEED_EH_CLEANUP when
statements are deleted.
(tree_ssa_dse): Allocate & free NEED_EH_CLEANUP. If NEED_EH_CLEANUP
is nonempty, then purge dead edges and cleanup the CFG.
PR tree-optimization/47053
* g++.dg/pr47053.C: New test.
From-SVN: r169123
Ian Lance Taylor [Sat, 22 Jan 2011 02:59:24 +0000 (02:59 +0000)]
Avoid crash when M structure free just before thread exit.
From-SVN: r169121
Ian Lance Taylor [Sat, 22 Jan 2011 02:15:01 +0000 (02:15 +0000)]
libgo: Adjust deadlock avoidance.
From-SVN: r169120
Ian Lance Taylor [Sat, 22 Jan 2011 02:01:38 +0000 (02:01 +0000)]
syscalls: Add SPARC RTEMS specific file.
From-SVN: r169119
GCC Administrator [Sat, 22 Jan 2011 00:18:41 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r169118
Ian Lance Taylor [Sat, 22 Jan 2011 00:12:00 +0000 (00:12 +0000)]
Avoid deadlock creating new thread.
From-SVN: r169114
Ian Lance Taylor [Fri, 21 Jan 2011 23:33:52 +0000 (23:33 +0000)]
Avoid deadlock when finalizer lock is held during gc.
From-SVN: r169112
Janne Blomqvist [Fri, 21 Jan 2011 22:42:17 +0000 (00:42 +0200)]
PR 46267 strerror thread safety
From-SVN: r169110
Jason Merrill [Fri, 21 Jan 2011 22:30:26 +0000 (17:30 -0500)]
re PR c++/47041 (Internal compiler error in build_data_member_initialization, add cp/semantics.c:5483)
PR c++/47041
* semantics.c (build_constexpr_constructor_member_initializers):
Handle trivial copy.
From-SVN: r169108
Alexandre Oliva [Fri, 21 Jan 2011 22:11:24 +0000 (22:11 +0000)]
re PR bootstrap/47402 (Bootstrap comparison failure)
PR debug/47402
Temporarily revert:
2011-01-21 Alexandre Oliva <aoliva@redhat.com>
PR debug/47106
* tree-dfa.c (create_var_ann): Mark variable as used.
From-SVN: r169107
Ian Lance Taylor [Fri, 21 Jan 2011 22:01:02 +0000 (22:01 +0000)]
Fix race condition in test case.
Brought over from master repository.
From-SVN: r169106
Jakub Jelinek [Fri, 21 Jan 2011 21:34:25 +0000 (22:34 +0100)]
re PR c++/47388 (ICE: in begin_for_stmt, at cp/semantics.c:863 with -fno-for-scope and for(;;) inside a template)
PR c++/47388
* semantics.c (begin_for_stmt): If -fno-for-scope, don't
assume init must be NULL if scope is NULL.
(begin_range_for_stmt): Likewise.
* g++.dg/cpp0x/range-for10.C: New test.
* g++.dg/template/for1.C: New test.
From-SVN: r169105
Tobias Burnus [Fri, 21 Jan 2011 20:33:10 +0000 (21:33 +0100)]
re PR fortran/47394 (Internal compiler error when error count limit is reached)
2011-01-21 Tobias Burnus <burnus@net-b.de>
PR fortran/47394
* error.c (gfc_error_now, gfc_fatal_error, gfc_error_check):
Use defined instead of magic number exit status codes.
* scanner.c (include_line, gfc_new_file): Ditto.
From-SVN: r169104
Benjamin Kosnik [Fri, 21 Jan 2011 19:41:13 +0000 (19:41 +0000)]
c++config (_GLIBCXX_EXPORT_TEMPLATE): Remove.
2011-01-21 Benjamin Kosnik <bkoz@redhat.com>
* include/bits/c++config (_GLIBCXX_EXPORT_TEMPLATE): Remove.
* include/debug/safe_sequence.h: Same.
* include/debug/safe_iterator.h: Same.
* include/std/forward_list: Same.
* include/std/deque: Same.
* include/std/list: Same.
* include/std/random: Same.
* include/std/streambuf: Same.
* include/std/fstream: Same.
* include/std/istream: Same.
* include/std/string: Same.
* include/std/ostream: Same.
* include/std/sstream: Same.
* include/ext/vstring.h: Same.
* include/bits/basic_ios.h: Same.
* include/bits/locale_classes.h: Same.
* include/bits/locale_facets.h: Same.
* include/bits/valarray_array.h: Same.
* include/bits/locale_facets_nonio.h: Same.
* include/tr1/random: Same.
From-SVN: r169102
Jakub Jelinek [Fri, 21 Jan 2011 19:35:42 +0000 (20:35 +0100)]
re PR middle-end/45566 (ICE: in convert_to_eh_region_ranges, at except.c:2446 with -freorder-blocks-and-partition -fnon-call-exceptions -fprofile-use)
PR middle-end/45566
* except.c (convert_to_eh_region_ranges): Emit queued no-region
notes from other section in hot/cold partitioning even if
last_action is -3. Increment call_site_base.
* g++.dg/tree-prof/partition3.C: New test.
* g++.dg/tree-prof/tree-prof.exp: Fix a comment.
From-SVN: r169101
Jakub Jelinek [Fri, 21 Jan 2011 19:34:03 +0000 (20:34 +0100)]
re PR rtl-optimization/47366 (ICE: verify_flow_info failed: missing REG_EH_REGION note in the end of bb 3 with -fnon-call-exceptions -fno-tree-ccp -fno-tree-forwprop)
PR rtl-optimization/47366
* fwprop.c (forward_propagate_into): Return bool. If
any changes are made, -fnon-call-exceptions is used and
REG_EH_REGION note is present, call purge_dead_edges
and return true if it purged anything.
(fwprop_addr): Adjust callers, call cleanup_cfg (0) if
any EH edges were purged.
* g++.dg/opt/pr47366.C: New test.
From-SVN: r169100
Jason Merrill [Fri, 21 Jan 2011 18:59:40 +0000 (13:59 -0500)]
re PR c++/46552 ([C++0x] Internal compiler error on pointer to member variable with template)
PR c++/46552
* semantics.c (cxx_eval_constant_expression): Handle OFFSET_REF.
From-SVN: r169099
Ian Lance Taylor [Fri, 21 Jan 2011 18:19:03 +0000 (18:19 +0000)]
Remove the types float and complex.
Update to current version of Go library.
Update testsuite for removed types.
* go-lang.c (go_langhook_init): Omit float_type_size when calling
go_create_gogo.
* go-c.h: Update declaration of go_create_gogo.
From-SVN: r169098
Jason Merrill [Fri, 21 Jan 2011 17:38:02 +0000 (12:38 -0500)]
re PR c++/46977 ([C++0x] ICE: SIGSEGV in htab_find_slot_with_hash (hashtab.c:650))
PR c++/46977
* semantics.c (potential_constant_expression_1): Split out from
potential_constant_expression. Add want_rval parm. Handle
template expression forms. Don't enforce restriction on address
of automatic variable here. Add a couple of diagnostics that
had been missing.
(require_potential_constant_expression): New entry point.
(build_data_member_initialization, register_constexpr_fundef): Adjust.
(maybe_constant_value): Check potential_constant_expression.
* pt.c (fold_non_dependent_expr_sfinae): Likewise.
* tree.c (build_vec_init_expr): Adjust.
From-SVN: r169096
Jeff Law [Fri, 21 Jan 2011 16:49:31 +0000 (09:49 -0700)]
re PR rtl-optimization/41619 (ICE in insert_save (caller-save.c) for SPEC CPU2000's 252.eon)
PR rtl-optimization/41619
* caller-save.c (setup_save_areas): Break out code to determine
which hard regs are live across calls by examining the reload chains
so that it is always used.
Eliminate code which checked REG_N_CALLS_CROSSED.
PR rtl-optimization/41619
* gcc.dg/pr41619.c: New.
From-SVN: r169095
Jakub Jelinek [Fri, 21 Jan 2011 15:15:40 +0000 (16:15 +0100)]
re PR tree-optimization/47355 (ICE: verify_ssa failed with -O2 -fipa-cp-clone)
PR tree-optimization/47355
* tree-eh.c (cleanup_empty_eh_merge_phis): Give up if
NOP has non-debug uses beyond PHIs in new_bb.
* g++.dg/opt/pr47355.C: New test.
From-SVN: r169094
Alexandre Oliva [Fri, 21 Jan 2011 14:57:33 +0000 (14:57 +0000)]
re PR debug/47106 (-fcompare-debug failure (length) with -fpartial-inlining -flto -fconserve-stack)
PR debug/47106
* cfgexpand.c (account_used_vars_for_block): Only account vars
that are annotated as used.
(estimated_stack_frame_size): Don't set TREE_USED.
* tree-dfa.c (create_var_ann): Mark variable as used.
From-SVN: r169093
Richard Guenther [Fri, 21 Jan 2011 14:14:12 +0000 (14:14 +0000)]
re PR other/47395 (the tree code WIDEN_MULT_MINUS_EXPR has a mismatching name)
2011-01-21 Richard Guenther <rguenther@suse.de>
PR middle-end/47395
* tree.def (WIDEN_MULT_MINUS_EXPR): Fix printed name.
From-SVN: r169092
Richard Guenther [Fri, 21 Jan 2011 14:08:26 +0000 (14:08 +0000)]
pr47392.c: Make test non-static instead of making main hot.
2011-01-21 Richard Guenther <rguenther@suse.de>
* gcc.dg/tree-ssa/pr47392.c: Make test non-static instead of
making main hot.
From-SVN: r169091
Richard Guenther [Fri, 21 Jan 2011 14:02:41 +0000 (14:02 +0000)]
re PR tree-optimization/47365 (wrong code with -O -ftree-pre)
2011-01-21 Richard Guenther <rguenther@suse.de>
PR tree-optimization/47365
* tree-ssa-sccvn.h (vn_lookup_kind): Declare.
(vn_reference_lookup_pieces): Adjust.
(vn_reference_lookup): Likewise.
* tree-ssa-sccvn.c (vn_walk_kind): New static global.
(vn_reference_lookup_3): Only look through kills if in
VN_WALKREWRITE mode.
(vn_reference_lookup_pieces): Adjust.
(vn_reference_lookup): Likewise.
(visit_reference_op_load): Likewise.
(visit_reference_op_store): Likewise.
* tree-ssa-pre.c (phi_translate_1): Use VN_WALK mode.
(compute_avail): Likewise.
(eliminate): Likewise.
* gcc.dg/torture/pr47365.c: New testcase.
* gcc.dg/tree-ssa/pr47392.c: Likewise.
From-SVN: r169089
Andreas Schwab [Fri, 21 Jan 2011 13:18:23 +0000 (13:18 +0000)]
configure.ac: Use AS_HELP_STRING throughout.
* configure.ac: Use AS_HELP_STRING throughout.
* configure: Regenerate.
From-SVN: r169088
Rainer Orth [Fri, 21 Jan 2011 13:02:39 +0000 (13:02 +0000)]
* g++.dg/other/anon5.C: Skip on mips-sgi-irix*.
From-SVN: r169085
Jakub Jelinek [Fri, 21 Jan 2011 12:57:52 +0000 (13:57 +0100)]
re PR tree-optimization/47391 (read from const volatile incorrectly eliminated)
PR tree-optimization/47391
* varpool.c (const_value_known_p): Return false if
decl is volatile.
* gcc.dg/pr47391.c: New test.
From-SVN: r169084
Jakub Jelinek [Fri, 21 Jan 2011 12:51:18 +0000 (13:51 +0100)]
tree-ssa-live.c (remove_unused_scope_block_p): Don't remove DECL_IGNORED_P non-reg vars if they are used.
* tree-ssa-live.c (remove_unused_scope_block_p): Don't remove
DECL_IGNORED_P non-reg vars if they are used.
From-SVN: r169083
Rainer Orth [Fri, 21 Jan 2011 11:36:53 +0000 (11:36 +0000)]
* g++.dg/template/char1.C: Use signed char.
From-SVN: r169082
Kai Tietz [Fri, 21 Jan 2011 09:05:14 +0000 (09:05 +0000)]
re PR bootstrap/47215 (Failed to bootstrap)
2011-01-21 Kai Tietz <kai.tietz@onevision.com>
PR bootstrap/47215
* decl.c (java_init_decl_processing): Remove
va_list_type_node related type initializations.
2011-01-21 Kai Tietz <kai.tietz@onevision.com>
PR bootstrap/47215
* config/i386/i386.c (ix86_local_alignment): Handle
case for va_list_type_node is nil.
(ix86_canonical_va_list_type): Likewise.
From-SVN: r169080
Tobias Burnus [Fri, 21 Jan 2011 07:11:05 +0000 (08:11 +0100)]
re PR fortran/47377 (internal compiler error: in fold_convert_loc, at fold-const.c:1906)
2011-01-21 Tobias Burnus <burnus@net-b.de>
PR fortran/47377
* expr.c (gfc_check_pointer_assign): Reject expr data-targets
without pointer attribute.
2011-01-21 Tobias Burnus <burnus@net-b.de>
PR fortran/47377
* gfortran.dg/pointer_target_4.f90: New.
From-SVN: r169079
Mike Stump [Fri, 21 Jan 2011 05:03:44 +0000 (05:03 +0000)]
Fix typo in comment.
From-SVN: r169078
Alan Modra [Fri, 21 Jan 2011 02:13:52 +0000 (12:43 +1030)]
rs6000-c.c (rs6000_cpu_cpp_builtins): Add builtin_define __CMODEL_MEDIUM__ and __CMODEL_LARGE__.
* config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Add
builtin_define __CMODEL_MEDIUM__ and __CMODEL_LARGE__.
From-SVN: r169077
GCC Administrator [Fri, 21 Jan 2011 00:18:42 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r169076
Benjamin Kosnik [Thu, 20 Jan 2011 23:41:24 +0000 (23:41 +0000)]
re PR libstdc++/36104 (gnu-versioned-namespace is broken)
2011-01-20 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/36104
* acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Accept gnu variants.
From-SVN: r169072
Ramana Radhakrishnan [Thu, 20 Jan 2011 22:03:29 +0000 (22:03 +0000)]
Rename f_load to f_fpa_loads patch
2011-01-20 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
* config/arm/arm.md (define_attr type): Rename f_load
and f_store to f_fpa_load and f_fpa_store. Update.
(write_conflict): Deal with rename fallout.
(*push_fp_multi): Likewise.
* config/arm/fpa.md (f_load): Use f_fpa_load.
(f_store): Use f_fpa_store.
(*movsf_fpa): Likewise.
(*movdf_fpa): Likewise.
(*movxf_fpa): Likewise.
(*thumb2_movsf_fpa): Likewise.
(*thumb2_movdf_fpa): Likewise.
(*thumb2_movxf_fpa): Likewise.
* config/arm/vfp.md (*thumb2_movdf_vfp): Fix attribute to
f_loadd and f_stored.
(*thumb2_movdi_vfp): Likewise.
(*thumb2_movsf_vfp): Fix attribute to f_loads.
(*thumb2_movsi_vfp): Likewise.
* config/arm/cortex-m4-fpu.md (cortex_m4_f_load):
Use f_loads instead of f_load.
* config/arm/cortex-a5.md (cortex_a5_f_loads): Remove f_load.
From-SVN: r169071