Commit Graph

85282 Commits

Author SHA1 Message Date
Eric Botcazou 15af420d4e re PR middle-end/31309 (reads/writes past end of structure)
PR middle-end/31309
	* expr.c (copy_blkmode_from_reg): Use a mode suited to the size when
	copying to memory.

From-SVN: r131472
2008-01-11 19:44:40 +00:00
Raksit Ashok 31bfe0341f Fixed my gcc/ChangeLog entry (corrected tense and capitalization).
From-SVN: r131471
2008-01-11 19:16:49 +00:00
Paul Thomas d9183bb744 re PR fortran/34537 (ICE or wrong code for TRANSFER of constant string to character)
2008-01-11  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/34537
	* simplify.c (gfc_simplify_transfer): Return NULL if the size
	of the element is unavailable and only assign character length
	to the result, if 'mold' is constant.

2008-01-11  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/34537
	* gfortran.dg/transfer_simplify_8.f90: New test.

From-SVN: r131470
2008-01-11 18:25:29 +00:00
Steven Bosscher c1e3e2d944 re PR middle-end/30905 (Fails to cross-jump)
2008-01-11  Steven Bosscher  <stevenb.gcc@gmail.com>

	PR rtl-optimization/30905
	* cfgcleanup.c: Include dce.h
	(crossjumps_occured): New global variable.
	(try_crossjump_bb): Exit loop after finding a fallthru edge.
	If something changed, set crossjumps_occured to true.
	(try_optimize_cfg): Clear crossjumps_occured at the beginning.
	Don't add/remove fake edges to exit here...
	(cleanup_cfg): ...but do it here, when crossjumping.
	Run a fast DCE when successful crossjumps occured in the latest
	iteration of try_optimize_cfg.

From-SVN: r131468
2008-01-11 14:55:34 +00:00
Richard Guenther 8d0eca24fa tree-ssa-sccvn.c (struct vn_binary_op_s): Move hashcode near opcode.
2008-01-11  Richard Guenther  <rguenther@suse.de>

	* tree-ssa-sccvn.c (struct vn_binary_op_s): Move hashcode near opcode.
	(struct vn_unary_op_s): Likewise.
	(vn_reference_insert): Free old reference on hash collision.

From-SVN: r131462
2008-01-11 13:36:53 +00:00
Andreas Krebbel 245af66d33 pr34641.C: Add dg-require-visibility.
2008-01-11  Andreas Krebbel  <krebbel1@de.ibm.com>

	* g++.dg/torture/pr34641.C: Add dg-require-visibility.  Define
	size_t using predefined macro.

From-SVN: r131461
2008-01-11 08:53:25 +00:00
Raksit Ashok acfb3980ee re PR target/27971 (eliminate shift in array[(x>>2)&3])
gcc/ChangeLog
       PR rtl-optimization/27971
       * combine.c (find_split_point): introduced a new split for certain
       types of mem rtx.

gcc/testsuite/ChangeLog

       PR rtl-optimization/27971
       * gcc.target/i386/pr27971.c: New testcase.

From-SVN: r131460
2008-01-11 04:20:32 +00:00
John David Anglin 3fa87ef8fc re PR ada/34466 (s-tasinf.ads:81:42: "cpu_set_t" not declared in "OS_Interface")
PR ada/34466
	* s-osinte-linux-hppa.ads (SC_NPROCESSORS_ONLN): New constant for
	sysconf call.
	(bit_field): New packed boolean type used by cpu_set_t.
	(cpu_set_t): New type corresponding to the C type with
	the same name. Note that on the Ada side we use a bit
	field array for the affinity mask. There is not need
	for the C macro for setting individual bit.
	(pthread_setaffinity_np): New imported routine.

From-SVN: r131457
2008-01-11 01:00:48 +00:00
GCC Administrator 041313f88f Daily bump.
From-SVN: r131455
2008-01-11 00:17:25 +00:00
DJ Delorie b8a669d0a9 m32c.c (m32c_hard_regno_nregs_1): Renamed from...
* config/m32c/m32c.c (m32c_hard_regno_nregs_1): Renamed from...
(m32c_hard_regno_nregs): ...this, which is now a wrapper.
(m32c_hard_regno_ok): Call the underlying function.

From-SVN: r131449
2008-01-10 14:59:57 -05:00
Paul Thomas 32be9f94bf re PR fortran/34396 (Length of substrings defined by expressions not correctly computed in constructors)
2008-01-10  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/34396
	* trans-array.c (gfc_trans_array_ctor_element):  Use gfc_trans_string_copy
	to assign strings and perform bounds checks on the string length.
	(get_array_ctor_strlen): Remove bounds checking.
	(gfc_trans_array_constructor): Initialize string length checking.
	* trans-array.h : Add prototype for gfc_trans_string_copy.

2008-01-10  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/34396
	* gfortran.dg/bounds_check_12.f90: New test.

From-SVN: r131448
2008-01-10 19:10:48 +00:00
Uros Bizjak 814252befa cmov7.c: Add -mbranch-cost=5 to dg-options.
* gcc.target/i386/cmov7.c: Add -mbranch-cost=5 to dg-options.
        * gcc.target/i386/addr-sel-1.c: Require nonpic effective target.
[

From-SVN: r131447
2008-01-10 19:31:43 +01:00
Richard Guenther d0f76c4b4f re PR tree-optimization/34683 (SSA rewriting in the loop unroller causes quadratic behavior)
2008-01-10  Richard Guenther  <rguenther@suse.de>

	PR middle-end/34683
	* tree-cfg.c (tree_merge_blocks): Do not go through the
	full-blown folding and stmt updating path if we just deal
	with virtual operands.
	* tree-ssa-copy.c (may_propagate_copy): Do not short-cut
	test for abnormal SSA_NAMEs.

From-SVN: r131446
2008-01-10 16:59:06 +00:00
Andreas Krebbel 90d12f1f04 re PR target/34641 (ICE in reload_cse_simplify_operands, at postreload.c:395)
2008-01-10  Andreas Krebbel  <krebbel1@de.ibm.com>

	PR middle-end/34641
	* reload.c (push_reload): Add assertions.  All constants from
	reg_equiv_constant should have been used for replacing the respective
	pseudo earlier.
	(find_reloads_address): Invoke find_reloads_address_part for
	constant taken from the reg_equiv_constant array.

2008-01-10  Andreas Krebbel  <krebbel1@de.ibm.com>

	PR middle-end/34641
	* g++.dg/torture/pr34641.C: New testcase.

From-SVN: r131445
2008-01-10 16:46:26 +00:00
Steven Bosscher 71ae85578b tree-ssa-sccvn.h (struct vn_ssa_aux): Make the most accessed field (valnum) the first in the struct.
2008-01-10  Steven Bosscher  <stevenb.gcc@gmail.com>

	* tree-ssa-sccvn.h (struct vn_ssa_aux): Make the most accessed
	field (valnum) the first in the struct.  Replace bools with
	unit bit fields.

From-SVN: r131444
2008-01-10 16:29:59 +00:00
Richard Guenther 125e025e06 re PR tree-optimization/34651 (ICE in set_value_range, at tree-vrp.c:321)
2008-01-10  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/34651
	* tree-sra.c (sra_build_assignment): Sanitize.  Use the correct
	types and ordering for masking and converting.

	* g++.dg/torture/pr34651.C: New testcase.

From-SVN: r131442
2008-01-10 14:28:40 +00:00
Paolo Carlini 5817ff8e5f multiway_merge.h: Reformat to 80 columns; adjust some inline specifiers; other minor style fixes.
2008-01-09  Paolo Carlini  <pcarlini@suse.de>

	* include/parallel/multiway_merge.h: Reformat to 80 columns;
	adjust some inline specifiers; other minor style fixes.
	* include/parallel/losertree.h: Likewise.
	* include/parallel/list_partition.h: Likewise.
	* include/parallel/multiseq_selection.h: Likewise.
	* include/parallel/workstealing.h: Likewise.
	* include/parallel/base.h: Likewise.
	* include/parallel/par_loop.h: Likewise.
	* include/parallel/numeric: Likewise.
	* include/parallel/quicksort.h: Likewise.
	* include/parallel/algorithmfwd.h: Likewise.
	* include/parallel/for_each_selectors.h: Likewise.
	* include/parallel/omp_loop_static.h: Likewise.
	* include/parallel/random_shuffle.h: Likewise.
	* include/parallel/balanced_quicksort.h: Likewise.
	* include/parallel/set_operations.h: Likewise.
	* include/parallel/tree.h: Likewise.
	* include/parallel/merge.h: Likewise.
	* include/parallel/unique_copy.h: Likewise.
	* include/parallel/settings.h: Likewise.
	* include/parallel/multiway_mergesort.h: Likewise.
	* include/parallel/numericfwd.h: Likewise.
	* include/parallel/search.h: Likewise.
	* include/parallel/partition.h: Likewise.
	* include/parallel/compatibility.h: Likewise.
	* include/parallel/partial_sum.h: Likewise.
	* include/parallel/find.h: Likewise.
	* include/parallel/algo.h: Likewise.
	* include/parallel/queue.h: Likewise.
	* include/parallel/omp_loop.h: Likewise.
	* include/parallel/sort.h: Likewise.
	* include/parallel/random_number.h: Likewise.

From-SVN: r131440
2008-01-10 02:07:41 +00:00
GCC Administrator 299f57348c Daily bump.
From-SVN: r131438
2008-01-10 00:17:20 +00:00
Sebastian Pop 64cbaacecb re PR tree-optimization/34017 (ICE in lambda_loopnest_to_gcc_loopnest with -O2 -ftree-loop-linear)
2008-01-09  Sebastian Pop  <sebastian.pop@amd.com>

	PR tree-optimization/34017
	* lambda-code.c (lambda_loopnest_to_gcc_loopnest): Generate code
	also for PHI_NODE expressions.

	* gcc.dg/tree-ssa/pr34017.c: New.

From-SVN: r131435
2008-01-09 21:22:19 +00:00
Raksit Ashok 684f4f6a33 MAINTAINERS (Write After Approval): Add myself.
2008-01-09  Raksit Ashok  <raksit@google.com>

	* MAINTAINERS (Write After Approval): Add myself.

From-SVN: r131434
2008-01-09 19:48:42 +00:00
Jan Hubicka 88743d3a8a re PR tree-optimization/34708 (Inlining heuristics issue)
PR tree-optimization/34708
	* tree-inline.c (estimate_num_insns_1): Compute cost of SWITCH_EXPR
	based on number of case labels.
	(init_inline_once): Remove switch_cost.
	* tree-inline.h (eni_weights_d): Remove switch_cost.

From-SVN: r131433
2008-01-09 19:19:40 +00:00
Benjamin Kosnik d4b7e62e44 api.html: Fix markup for rope.h.
2008-01-09  Benjamin Kosnik  <bkoz@redhat.com>

	* docs/html/17_intro/api.html: Fix markup for rope.h.

From-SVN: r131432
2008-01-09 19:10:47 +00:00
Paolo Carlini 531898c3c2 iterator.h: Reformat to 80 columns; adjust some inline specifiers.
2008-01-09  Paolo Carlini  <pcarlini@suse.de>

	* include/parallel/iterator.h: Reformat to 80 columns; adjust some
	inline specifiers.
	* include/parallel/find_selectors.h: Likewise.
	* include/parallel/losertree.h: Likewise.
	* include/parallel/list_partition.h: Likewise.
	* include/parallel/for_each.h: Likewise.
	* include/parallel/multiseq_selection.h: Likewise.
	* include/parallel/algorithmfwd.h: Likewise.
	* include/parallel/for_each_selectors.h: Likewise.
	* include/parallel/balanced_quicksort.h: Likewise.
	* include/parallel/merge.h: Likewise.
	* include/parallel/algobase.h: Likewise.
	* include/parallel/find.h: Likewise.
	* include/parallel/algo.h: Likewise.
	* include/parallel/checkers.h: Likewise.

From-SVN: r131431
2008-01-09 18:27:27 +00:00
Richard Guenther c3e203cf80 re PR tree-optimization/30132 (ICE in find_lattice_value, at tree-complex.c:133)
2008-01-09  Richard Guenther  <rguenther@suse.de>
	Andrew Pinski  <andrew_pinski@playstation.sony.com>

        PR middle-end/30132
	* gimplify.c (gimplify_cond_expr): Do not create an addressable
	temporary if an rvalue is ok or an lvalue is not required.

	* gcc.c-torture/compile/pr30132.c: New testcase.

Co-Authored-By: Andrew Pinski <andrew_pinski@playstation.sony.com>

From-SVN: r131430
2008-01-09 15:46:49 +00:00
Richard Guenther def49dd7ca re PR tree-optimization/34458 (ICE in int_cst_value, at tree.c:8047 at -O3)
2008-01-09  Richard Guenther  <rguenther@suse.de>

	PR middle-end/34458
	* tree-data-ref.c (initialize_matrix_A): Use tree_low_cst,
	adjust return type.

	* gcc.c-torture/compile/pr34458.c: New testcase.

From-SVN: r131429
2008-01-09 14:17:13 +00:00
Richard Guenther cbad2e0926 re PR tree-optimization/34679 (ICE: tree check: expected integer_type, have enumeral_type in host_integerp, at tree.c:4949 (predictive commoning))
2008-01-09  Richard Guenther  <rguenther@suse.de>

	PR middle-end/34679
	* tree.c (host_integerp): Check for sizetype only if the
	type is an integer type.

From-SVN: r131425
2008-01-09 12:14:01 +00:00
Francesco Biscani 5163181337 hashtable (_Hashtable): Fix friend declaration of __detail::_Map_base<>.
2008-01-09  Francesco Biscani  <bluescarni@gmail.com>

	* include/tr1_impl/hashtable (_Hashtable): Fix friend declaration
	of __detail::_Map_base<>.

From-SVN: r131424
2008-01-09 11:12:11 +00:00
Steven Bosscher 59e5c37d0f re PR debug/26364 ([no unit-at-a-time mode] Uninlined function is marked as inlined)
2008-01-09  Steven Bosscher  <stevenb.gcc@gmail.com>

	PR debug/26364
	* opts.c (decode_options): Disable inlining of functions called
	once if not in unit-at-a-time mode.

From-SVN: r131423
2008-01-09 10:33:55 +00:00
Alexandre Oliva 712db60ed0 * Makefile.in (dse.o): Remove duplicate $(RECOG_H) dependency.
From-SVN: r131421
2008-01-09 09:18:24 +00:00
Kaveh Ghazi 8debbe4841 Fix typo in last commit.
From-SVN: r131418
2008-01-09 09:03:49 +00:00
Uros Bizjak b73d152763 invoke.texi (i386 and x86-64 Options): Two small spell fixes.
* doc/invoke.texi (i386 and x86-64 Options) [mrecip]:
	Two small spell fixes.

From-SVN: r131414
2008-01-09 08:35:49 +01:00
John David Anglin 876e92ef8c re PR testsuite/30459 (FAIL: g++.dg/eh/ia64-2.C (test for excess errors))
PR testsuite/30459
	g++.dg/eh/ia64-2.C: Require weak support.

From-SVN: r131410
2008-01-09 03:14:15 +00:00
GCC Administrator 14a697970e Daily bump.
From-SVN: r131408
2008-01-09 00:17:24 +00:00
Richard Guenther 3fe2f42a2c re PR c++/31863 (g++-4.1: out of memory with -O1/-O2)
2008-01-08  Richard Guenther  <rguenther@suse.de>

	PR middle-end/31863
	* tree-ssa-structalias.c (push_fields_onto_fieldstack): Bail
	out early if the result will be unused.

	* g++.dg/torture/pr31863.C: New testcase.

From-SVN: r131405
2008-01-08 21:35:25 +00:00
Richard Guenther 416a8af4da re PR fortran/34706 (FE should reuse array temporaries, reduce temporaties and tell ME the array-size type)
2008-01-08  Richard Guenther  <rguenther@suse.de>

	PR fortran/34706
	PR tree-optimization/34683
	* trans-types.c (gfc_get_array_type_bounds): Use an array type
	with known size for accesses if that is known.

From-SVN: r131404
2008-01-08 21:21:29 +00:00
Uros Bizjak 4d86971803 re PR target/34709 (revision 131342 miscompiled 481.wrf on Linux/Intel64)
PR target/34709
        Revert:

        2008-01-05  Uros Bizjak  <ubizjak@gmail.com>
        * config/i386/i386.c (ix86_builtin_reciprocal): Remove check
        for TARGET_RECIP.

From-SVN: r131403
2008-01-08 20:22:46 +01:00
Paolo Carlini bcc0edbb91 user_facet_hierarchies.cc: Do not include <cassert>.
2008-01-08  Paolo Carlini  <pcarlini@suse.de>

	* testsuite/22_locale/global_templates/user_facet_hierarchies.cc: Do
	not include <cassert>.
	* testsuite/22_locale/global_templates/standard_facet_hierarchies.cc:
	Likewise.
	* testsuite/util/testsuite_common_types.h: Include <algorithm>.

From-SVN: r131402
2008-01-08 18:16:06 +00:00
Jan Sjodin cedbd7647a 2008-01-08 Jan Sjodin <jan.sjodin@amd.com>
* config/i386/i386.c:
        (k8_cost, amdfam10_cost): Branch costs for vectorization tuned.

From-SVN: r131401
2008-01-08 16:35:44 +00:00
Richard Guenther a9990582a8 re PR tree-optimization/34683 (SSA rewriting in the loop unroller causes quadratic behavior)
2008-01-08  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/34683
	* tree-ssa-operands.c (operand_build_cmp): Export.
	* tree-ssa-operands.h (operand_build_cmp): Declare.
	* tree-vn.c (vuses_compare): Remove.
	(sort_vuses): Use operand_build_cmp.
	(sort_vuses_heap): Likewise.
	* tree-ssa-sccvn.c (vuses_to_vec): Use VEC_reserve, not VEC_alloc
	to re-use old VEC if available.  Do not sort already sorted VUSEs.
	(vdefs_to_vec): Do not sort already sorted VDEFs.

From-SVN: r131400
2008-01-08 16:29:14 +00:00
Jakub Jelinek 0f3e711eef configure.ac (--enable-linux-futex): Add new configure option.
libstdc++-v3/
	* configure.ac (--enable-linux-futex): Add new configure option.
	(HAVE_LINUX_FUTEX): New AC_DEFINE.
	* Makefile.in: Rebuilt.
	* aclocal.m4: Rebuilt.
	* configure: Rebuilt.
	* config.h.in: Rebuilt.
	* config/cpu/generic/cxxabi_tweaks.h (_GLIBCXX_GUARD_BIT,
	_GLIBCXX_GUARD_PENDING_BIT, _GLIBCXX_GUARD_WAITING_BIT): Define.
	* config/cpu/arm/cxxabi_tweaks.h (_GLIBCXX_GUARD_BIT,
	_GLIBCXX_GUARD_PENDING_BIT, _GLIBCXX_GUARD_WAITING_BIT): Define.
	* libsupc++/guard.cc: Include climits and syscall.h.
	(_GLIBCXX_USE_FUTEX): Define if futex syscall and atomic builtins
	are supported.
	(_GLIBCXX_FUTEX_WAIT, _GLIBCXX_FUTEX_WAKE): Likewise.
	(__guard_test_bit): New static inline.
	(__cxa_guard_acquire, __cxa_guard_release, __cxa_guard_abort): Use
	atomic builtins and futex syscall if _GLIBCXX_USE_FUTEX.
config/
	* futex.m4: New file.
libgomp/
	* configure.ac: Move futex checking into ../config/futex.m4.
	* configure: Rebuilt.
	* aclocal.m4: Rebuilt.
	* Makefile.in: Rebuilt.

	* configure.tgt: Rename have_tls to gcc_cv_have_tls to match
	2007-10-15 ../config/tls.m4 change.

From-SVN: r131399
2008-01-08 17:14:49 +01:00
Jakub Jelinek c90eee444c re PR middle-end/34694 (Wrong line number for uninitialized variable)
PR middle-end/34694
	* omp-low.c (copy_var_decl): Copy also DECL_SOURCE_LOCATION.

	* gcc.dg/gomp/pr34694.c: New test.
	* g++.dg/gomp/pr34694.C: New test.

From-SVN: r131398
2008-01-08 17:08:24 +01:00
Jakub Jelinek b2ebd26837 re PR c++/33890 (ICE in tsubst_copy with OpenMP)
PR c++/33890
	* semantics.c (finish_omp_for): Don't call
	fold_build_cleanup_point_expr if processing_template_decl.

	* g++.dg/gomp/pr33890.C: New test.

From-SVN: r131397
2008-01-08 17:06:31 +01:00
Paul Thomas 0c6ce8b027 re PR fortran/34476 (Parameters: Bogus out of bounds error in array constructor)
2008-01-08  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/34476
	* expr.c (find_array_element): Check that the array bounds are
	constant before using them.  Use lower, as well as upper bound.
	(check_restricted): Allow implied index variable.

2008-01-08  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/34476
	* gfortran.dg/parameter_array_init_3.f90: New test.

From-SVN: r131396
2008-01-08 15:14:33 +00:00
Paul Thomas 3672065a1d re PR fortran/34681 (SAVEd derived type with allocatable components causes ICE)
2008-01-08  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/34681
	* trans_array.c (gfc_trans_deferred_array): Do not null the
	data pointer on entering scope, nor deallocate it on leaving
	scope, if the symbol has the 'save' attribute.

	PR fortran/34704
	* trans_decl.c (gfc_finish_var_decl): Derived types with
	allocatable components and an initializer must be TREE_STATIC.

2008-01-08  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/34681
	PR fortran/34704
	* gfortran.dg/alloc_comp_default_init_1.f90: New test.

From-SVN: r131395
2008-01-08 15:12:34 +00:00
Uros Bizjak 8bce96f5a0 re PR target/34702 (1.0 is not the inverse of 1.0 with -mrecip on x86)
PR target/34702
	* doc/invoke.texi (i386 and x86-64 Options) [mrecip]: Document
	limitations of reciprocal sequences on x86 targets.

From-SVN: r131394
2008-01-08 14:50:14 +01:00
Richard Guenther 4eefcc98fb re PR tree-optimization/34683 (SSA rewriting in the loop unroller causes quadratic behavior)
2008-01-08  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/34683
	* tree-flow-inline.h (var_ann): Remove overzealous asserts.

From-SVN: r131393
2008-01-08 12:12:56 +00:00
GCC Administrator 0eb52172bc Daily bump.
From-SVN: r131391
2008-01-08 00:18:22 +00:00
Ben Elliston 9cb8756f70 * config.sub, config.guess: Update from upstream sources.
From-SVN: r131388
2008-01-08 10:24:49 +11:00
Jakub Jelinek b69d564b66 re PR target/34622 (gcc.c-torture/execute/20000801-4.c fails at -O1 and above)
PR target/34622
	* config/darwin.c (darwin_mergeable_string_section): Don't use
	.cstring if int_size_in_bytes != TREE_STRING_LENGTH.

From-SVN: r131386
2008-01-07 22:49:27 +01:00
Janis Johnson 6dd116bef6 target-supports.exp (check_effective_target_powerpc_spu): New.
* lib/target-supports.exp (check_effective_target_powerpc_spu): New.
	* g++.dg/other/spu2vmx-1.C: Use it.

From-SVN: r131385
2008-01-07 21:05:03 +00:00