Commit Graph

111958 Commits

Author SHA1 Message Date
Iain Sandoe
558c362ad0 make darwin port a little more cross & cross native build friendly.
*config/darwin-driver.c (darwin_find_version_from_kernel): New routine 
	cut from ... (darwin_default_min_version): Amended to provide defaults
	for the cross directory case.
	(darwin_driver_init): call darwin_default_min_version unconditionally.
	* config/darwin.h (DEF_MIN_OSX_VERSION): New.
	* config/darwin9.h: Likewise.
	* config/darwin10.h: Likewise.
	* config/rs6000/darwin7.h: Likewise.

From-SVN: r178679
2011-09-08 07:28:11 +00:00
Tobias Burnus
8c6a85e33b re PR fortran/44646 ([F08] Implement DO CONCURRENT)
gcc/fortran/
2011-09-08  Tobias Burnus  <burnus@net-b.de>

        PR fortran/44646
        * decl.c (gfc_match_entry, gfc_match_end): Handle
        * COMP_DO_CONCURRENT.
        * dump-parse-tree.c (show_code_node): Handle EXEC_DO_CONCURRENT.
        * gfortran.h (gfc_exec_op): Add EXEC_DO_CONCURRENT.
        * match.c (gfc_match_critical, match_exit_cycle,
        * gfc_match_stopcode,
        lock_unlock_statement, sync_statement, gfc_match_allocate,
        gfc_match_deallocate, gfc_match_return): Add DO CONCURRENT diagnostic.
        (gfc_match_do): Match DO CONCURRENT.
        (match_derived_type_spec, match_type_spec, gfc_free_forall_iterator,
        match_forall_iterator, match_forall_header, match_simple_forall,
        gfc_match_forall): Move up in the file.
        * parse.c (check_do_closure, parse_do_block): Handle do
        * concurrent.
        * parse.h (gfc_compile_state): Add COMP_DO_CONCURRENT.
        * resolve.c (do_concurrent_flag): New global variable.
        (resolve_function, pure_subroutine, resolve_branch,
        gfc_resolve_blocks, resolve_code, resolve_types): Add do concurrent
        diagnostic.
        * st.c (gfc_free_statement): Handle EXEC_DO_CONCURRENT.
        * trans-stmt.c (gfc_trans_do_concurrent): New function.
        (gfc_trans_forall_1): Handle do concurrent.
        * trans-stmt.h (gfc_trans_do_concurrent): New function
        * prototype.
        * trans.c (trans_code): Call it.
        * frontend-passes.c (gfc_code_walker): Handle
        * EXEC_DO_CONCURRENT.

gcc/testsuite/
2011-09-08  Tobias Burnus  <burnus@net-b.de>

        PR fortran/44646
        * gfortran.dg/do_concurrent_1.f90: New.
        * gfortran.dg/do_concurrent_2.f90: New.

From-SVN: r178677
2011-09-08 08:38:13 +02:00
Jakub Jelinek
1542d97a4e re PR target/50310 (ICE: in gen_vcondv2div2df, at config/i386/sse.md:1435 with -O -ftree-vectorize and __builtin_isunordered())
PR target/50310
	* config/i386/i386.c (ix86_prepare_sse_fp_compare_args): Return
	code early if TARGET_AVX.
	(ix86_expand_fp_vcond): Handle LTGT and UNEQ.

	* gcc.c-torture/execute/ieee/pr50310.c: New test.
	* gcc.dg/pr50310-2.c: New test.

From-SVN: r178673
2011-09-08 07:58:54 +02:00
François Dumont
02dce1e99c at.cc: Revert to...
2011-09-07  François Dumont  <francois.cppdevs@free.fr>

	* testsuite/23_containers/array/at.cc: Revert to...
	* testsuite/23_containers/array/at_neg.cc: ...this.

From-SVN: r178670
2011-09-08 01:24:11 +00:00
GCC Administrator
92b4c82234 Daily bump.
From-SVN: r178669
2011-09-08 00:18:59 +00:00
Janus Weil
6a38e15189 re PR fortran/48095 ([OOP] Invalid assignment to procedure pointer component not rejected)
2011-09-07  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/48095
	* primary.c (gfc_match_structure_constructor): Handle parsing of
	procedure pointers components in structure constructors.
	* resolve.c (resolve_structure_cons): Check interface of procedure
	pointer components. Changed wording of some error messages.


2011-09-07  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/48095
	* gfortran.dg/derived_constructor_comps_2.f90: Modified.
	* gfortran.dg/impure_constructor_1.f90: Modified.
	* gfortran.dg/proc_ptr_comp_33.f90: New.

From-SVN: r178665
2011-09-08 00:20:47 +02:00
Jakub Jelinek
601a5d76ca re PR target/50310 (ICE: in gen_vcondv2div2df, at config/i386/sse.md:1435 with -O -ftree-vectorize and __builtin_isunordered())
* config/i386/sse.md (sseinsnmode): Remove 32-byte integer vector
	duplicates.

	PR target/50310
	* config/i386/sse.md (*andnot<mode>3, *<code><mode>3): Fix up
	"mode" attribute computation.

	* gcc.dg/pr50310-1.c: New test.

From-SVN: r178659
2011-09-07 21:46:14 +02:00
Bernd Schmidt
ca1ae7e38d bb-reorder.c (insert_section_boundary_note): Don't check optimize_function_for_speed_p.
* bb-reorder.c (insert_section_boundary_note): Don't check
	optimize_function_for_speed_p.
	(gate_handle_partition_blocks): Do it here instead.
	(gate_handle_reorder_blocks): Move preliminary checks here ...
	(rest_of_handle_reorder_blocks): ... from here.

From-SVN: r178657
2011-09-07 17:38:29 +00:00
Georg-Johann Lay
d14e12290a re PR tree-optimization/48571 (Missed data-dependence for (bogus?) reconstructed array-refs)
PR middle-end/48571
	* gcc.c-torture/execute/pr48571-1.c (bar): Use offsets sizeof(int)
	instead of 4.

From-SVN: r178655
2011-09-07 17:31:01 +00:00
Paolo Carlini
3023956508 re PR c++/50309 ([C++0x] ICE: tree check: expected tree_list, have error_mark in comp_except_specs, at cp/typeck.c:1014 on empty noexcept)
/cp
2011-09-07  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/50309
	* decl.c (grokdeclarator): Check u.function.exception_specification
	for error_mark_node.

/testsuite
2011-09-07  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/50309
	* g++.dg/cpp0x/noexcept14.C: New.

From-SVN: r178654
2011-09-07 17:16:23 +00:00
Jason Merrill
e39438c55d re PR c++/50298 ([C++0x][constexpr] References cannot be bound to static constexpr reference members)
PR c++/50298
	* parser.c (cp_parser_member_declaration): Don't require a constant
	rvalue here in C++0x.

From-SVN: r178652
2011-09-07 13:11:49 -04:00
Jason Merrill
30288f9aa2 pt.c (type_unification_real): Correct complain arg for tsubsting default template args.
* pt.c (type_unification_real): Correct complain arg for tsubsting
	default template args.

From-SVN: r178651
2011-09-07 13:11:37 -04:00
Jason Merrill
10e8dd8275 * pt.c (tsubst_aggr_type): Check TYPE_P before tsubsting.
From-SVN: r178650
2011-09-07 13:11:20 -04:00
Georg-Johann Lay
aad0eef6aa section1.c: Don't xfail for avr.
* gcc.dg/section1.c: Don't xfail for avr.

From-SVN: r178649
2011-09-07 16:55:08 +00:00
Georg-Johann Lay
74a73e8be4 re PR testsuite/50322 ([avr]: fail: gcc.dg/tree-ssa/ivopts-lt.c)
PR tree-optimization/50322
	* gcc.dg/tree-ssa/ivopts-lt.c: Add xfails for avr.

From-SVN: r178646
2011-09-07 16:09:12 +00:00
Bernd Schmidt
8ffa0351a5 regrename.c (struct du_head): Make nregs signed.
* regrename.c (struct du_head): Make nregs signed.
	(closed_chains): Remove.
	(create_new_chain): Return the new chain.
	(chain_from_id): New static function.
	(dump_def_use_chain): Change argument to be an int, indicating
	the first ID to print.  All callers changed.
	(merge_overlapping_regs): Use chain_from_id.  Assert that
	chains don't conflict with themselves.
	(rename_chains): Take no argument.  Iterate over id_to_chain
	rather to find chains to rename.  Clear tick before the main
	loop.
	(struct incoming_reg_info): New struct.
	(struct bb_rename_info): New struct.
	(init_rename_info, set_incoming_from_chain, merge_chains): New
	static functions.
	(regrename_analyze): New static function, broken out of
	regrename_optimize.  Record and make use of open chain information
	at basic block boundaries, and merge chains where possible.
	(scan_rtx_reg): Make this_nregs signed.  Don't update
	closed_chains.
	(build_def_use): Return a bool to indicate success.  All callers
	changed.  Don't initialize global data here.
	(regrename_optimize): Move most code out of here into
	regrename_analyze.
	* regs.h (add_range_to_hard_reg_set, remove_range_from_hard_reg_set,
	range_overlaps_hard_reg_set_p, range_in_hard_reg_set_p): New
	static inline functions.
	* vec.h (FOR_EACH_VEC_ELT_FROM): New macro.

From-SVN: r178645
2011-09-07 15:57:45 +00:00
Martin Jambor
a81462f103 pr49911.C: Added flag -fstrict-enums.
2011-09-07  Martin Jambor  <mjambor@suse.cz>

	* g++.dg/tree-ssa/pr49911.C: Added flag -fstrict-enums.

From-SVN: r178642
2011-09-07 17:36:53 +02:00
Martin Jambor
128c61eeb9 re PR middle-end/50301 (416.gamess in SPEC CPU 2006 failed to build with LTO)
2011-09-07  Martin Jambor  <mjambor@suse.cz>

	PR middle-end/50301
	* ipa-cp.c (find_more_values_for_callers_subset): Check jump
	function index bounds.
	(perhaps_add_new_callers): Likewise.

From-SVN: r178640
2011-09-07 16:31:40 +02:00
Martin Jambor
da990dc0e0 re PR tree-optimization/49911 (SRA + DOM + VRP + -fstrict-enums incorrectly remove predicate)
2011-09-07  Martin Jambor  <mjambor@suse.cz>

	PR tree-optimization/49911
	* tree-sra.c (analyze_access_subtree): Change type of to-be-replaced
	enumerations to the corresponding plain integer type.

	* testsuite/g++.dg/tree-ssa/pr49911.C: New test.

From-SVN: r178639
2011-09-07 16:25:39 +02:00
Richard Guenther
747633c574 re PR tree-optimization/50319 (if-conversion produces unvectorizable conditions)
2011-09-07  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/50319
	* tree-if-conv.c (set_bb_predicate): Assert we only set
	canonical predicates.
	(add_to_predicate_list): Simplify.  Allow TRUTH_NOT_EXPR
	around canonical predicates.
	(predicate_bbs): Do not re-gimplify already canonical
	predicates.  Properly unshare them though.
	(find_phi_replacement_condition): Simplify.

From-SVN: r178638
2011-09-07 14:19:33 +00:00
Richard Sandiford
723d95fe2b re PR target/49030 (ICE in get_arm_condition_code, at config/arm/arm.c:17180)
gcc/
	PR target/49030
	* config/arm/arm-protos.h (maybe_get_arm_condition_code): Declare.
	* config/arm/arm.c (maybe_get_arm_condition_code): New function,
	reusing the old code from get_arm_condition_code.  Return ARM_NV
	for invalid comparison codes.
	(get_arm_condition_code): Redefine in terms of
	maybe_get_arm_condition_code.
	* config/arm/predicates.md (arm_comparison_operator): Use
	maybe_get_arm_condition_code.

gcc/testsuite/
	PR target/49030
	* gcc.dg/torture/pr49030.c: New test.

From-SVN: r178636
2011-09-07 13:48:03 +00:00
Janus Weil
b7b1babae9 re PR fortran/50288 (FAIL: gfortran.dg/class_45b.f03)
2011-09-07  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/50288
	* gfortran.dg/class_4c.f03: Modified ("dg-do link" and "dg-final").
	* gfortran.dg/class_4d.f03: Deleted.
	* gfortran.dg/class_45b.f03: Modififed ("dg-do link").

From-SVN: r178635
2011-09-07 15:31:04 +02:00
Richard Guenther
e864294433 tree-ssa-forwprop.c (forward_propagate_into_gimple_cond): Canonicalize negated predicates by swapping edges.
2011-09-07  Richard Guenther  <rguenther@suse.de>

	* tree-ssa-forwprop.c (forward_propagate_into_gimple_cond):
	Canonicalize negated predicates by swapping edges.
	(forward_propagate_into_cond): Likewise.

	* gcc.dg/tree-ssa/forwprop-16.c: New testcase.

From-SVN: r178634
2011-09-07 13:02:05 +00:00
Richard Guenther
601f64e2e9 re PR tree-optimization/50213 (Regression in space-optimized code relative to 4.5.x)
2011-09-07  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/50213
	* tree-flow.h (simple_iv_increment_p): Declare.
	* tree-ssa-dom.c (simple_iv_increment_p): Export.  Also handle
	POINTER_PLUS_EXPR.
	* tree-ssa-forwprop.c (ssa_forward_propagate_and_combine): Do
	not propagate simple IV counter increments.

From-SVN: r178633
2011-09-07 11:28:39 +00:00
Iain Sandoe
1aeee5ad50 restore powerpc-darwin Ada boostrap.
gcc:
	* config/rs6000/rs6000.c (compute_save_world_info): Test
	cfun->has_nonlocal_label to determine if the out-of-line save
	world call may be used.
ada:
	* gcc-interface/Makefile.in (darwin): Provide powerpc64 system 
	implementation.
	* system-darwin-ppc64.ads: New file.

From-SVN: r178630
2011-09-07 09:39:49 +00:00
Jiangning Liu
79c95940eb re PR tree-optimization/46021 (3 tree-ssa tests XPASS almost everywhere)
2011-09-07  Jiangning Liu  <jiangning.liu@arm.com>

	PR tree-optimization/46021
	* gcc.dg/tree-ssa/20040204-1.c: Don't XFAIL on arm*-*-*.

From-SVN: r178628
2011-09-07 08:25:38 +00:00
Nick Clifton
da73162f02 mn10300.c (mn10300_insert_setlb_lcc): Set the jump label on the parallel part of the insn.
* config/mn10300/mn10300.c (mn10300_insert_setlb_lcc): Set the jump
	label on the parallel part of the insn.

From-SVN: r178626
2011-09-07 07:43:22 +00:00
Jakub Jelinek
5d506c7788 re PR rtl-optimization/50191 (Strange debug insn produced for TOC compiling 416.gamess with profile-generate)
PR debug/50191
	* dwarf2out.c (mem_loc_descriptor) <case MEM>: Try
	avoid_constant_pool_reference first instead of last.

From-SVN: r178625
2011-09-07 09:32:46 +02:00
GCC Administrator
990b7842d4 Daily bump.
From-SVN: r178623
2011-09-07 00:18:56 +00:00
Benjamin Kosnik
a7d0c94ef1 tuple (_Tuple_impl::_M_head, _M_tail): Mark constexpr.
2011-09-06  Benjamin Kosnik  <bkoz@redhat.com>

	* include/std/tuple (_Tuple_impl::_M_head, _M_tail): Mark constexpr.
	(tuple(tuple&&)): Same.
	(tuple(const tuple<_UElements...>& __in)): Same.
	(tuple(tuple<_UElements...>&& __in)): Same.
	(tuple_cat(const tuple<_TElements...>&, const tuple<_UElements...>&)):
	Same.
	(get): Same.
	* include/std/array: Consolidate array::data usage.
	* testsuite/23_containers/array/requirements/constexpr_functions.cc:
	Remove extra include.
	* testsuite/20_util/tuple/creation_functions/constexpr.cc: New.
	* testsuite/20_util/tuple/cons/constexpr-2.cc: Add tests.
	* testsuite/20_util/tuple/cons/constexpr-3.cc: Same.
	* testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust line numbers.

From-SVN: r178620
2011-09-07 00:17:09 +00:00
Michael Meissner
7b50d234f6 Update documentation about tm_p.h
From-SVN: r178618
2011-09-06 23:29:48 +00:00
François Dumont
e25fc78ff5 hashtable_policy.h (_Prime_rehash_policy:: _M_next_bkt): Cast _M_max_load_factor to long double.
2011-09-06  François Dumont  <fdumont@gcc.gnu.org>
	    Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/hashtable_policy.h (_Prime_rehash_policy::
	_M_next_bkt): Cast _M_max_load_factor to long double.
	(_Prime_rehash_policy::_M_bkt_for_elements): Use _M_next_bkt.
	(_Prime_rehash_policy::_M_need_rehash): Likewise; cast all
	float quantities to long double.

Co-Authored-By: Paolo Carlini <paolo.carlini@oracle.com>

From-SVN: r178615
2011-09-06 22:13:46 +00:00
Michael Meissner
a30d652725 Fix altivec-17.C to match current compiler error message
From-SVN: r178614
2011-09-06 22:06:59 +00:00
Eric Botcazou
cd5a118264 Fix typo
From-SVN: r178612
2011-09-06 21:21:58 +00:00
Eric Botcazou
693ddb1be7 re PR middle-end/50266 (ICE in decode_addr_const)
PR middle-end/50266
	* c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Fold offsetof-like
	computations.

From-SVN: r178611
2011-09-06 21:17:46 +00:00
Uros Bizjak
8092dd900b i386.c (ix86_function_value_regno_p): Use AX_REG.
2011-09-06  Uros Bizjak  <ubizjak@gmail.com>

        * config/i386/i386.c (ix86_function_value_regno_p): Use AX_REG.
        (function_value_32): Do not check TARGET_MMX, TARGET_SSE or TARGET_AVX.

testsuite/ChangeLog:

2011-09-06  Uros Bizjak  <ubizjak@gmail.com>

        * gcc.target/i386/builtin-apply-mmx.c: Require ia32 effective target.

From-SVN: r178610
2011-09-06 23:04:55 +02:00
Iain Sandoe
cf8fd3097a * config/darwin10.h Remove duplicate LIB_SPEC.
From-SVN: r178609
2011-09-06 20:02:24 +00:00
Iain Sandoe
f61fc3987b Makefile.in (gnatlib-shared-darwin): Remove reference to "-lm".
* gcc-interface/Makefile.in (gnatlib-shared-darwin): Remove
	reference to "-lm".

From-SVN: r178608
2011-09-06 19:21:27 +00:00
Iain Sandoe
84ef27d385 Makefile.in (darwin, SO_OPTS): Provide architecture size switches to the link phase for shared libs.
* gcc-interface/Makefile.in (darwin, SO_OPTS): Provide architecture
	size switches to the link phase for shared libs.

From-SVN: r178606
2011-09-06 18:53:29 +00:00
Iain Sandoe
a1bf1ec79f Makefile.in (x86_64 darwin arch): Adjust LIBGNAT_TARGET_PAIRS for x86 and x86_64 variants.
* gcc-interface/Makefile.in (x86_64 darwin arch): Adjust 
	LIBGNAT_TARGET_PAIRS for x86 and x86_64 variants.

From-SVN: r178605
2011-09-06 18:38:41 +00:00
Jason Merrill
e2605091be re PR c++/50296 (New C++ test failures)
PR c++/50296
	* semantics.c (register_constexpr_fundef): Call is_valid_constexpr_fn.
	(cx_check_missing_mem_inits): Handle bases and empty trivial members.
	(validate_constexpr_fundecl): Remove.
	* decl.c (start_preparsed_function): Don't call it.
	* cp-tree.h: Don't declare it.

From-SVN: r178604
2011-09-06 14:09:01 -04:00
Enkovich Ilya
df7b0cc4aa PR middle-end/44382: Tree reassociation improvement
gcc/

2011-09-06  Enkovich Ilya  <ilya.enkovich@intel.com>

	PR middle-end/44382
	* target.def (reassociation_width): New hook.

	* doc/tm.texi.in (reassociation_width): Likewise.

	* doc/tm.texi (reassociation_width): Likewise.

	* doc/invoke.texi (tree-reassoc-width): New param documented.

	* hooks.h (hook_int_uint_mode_1): New default hook.

	* hooks.c (hook_int_uint_mode_1): Likewise.

	* config/i386/i386.h (ix86_tune_indices): Add
	X86_TUNE_REASSOC_INT_TO_PARALLEL and
	X86_TUNE_REASSOC_FP_TO_PARALLEL.

	(TARGET_REASSOC_INT_TO_PARALLEL): New.
	(TARGET_REASSOC_FP_TO_PARALLEL): Likewise.

	* config/i386/i386.c (initial_ix86_tune_features): Add
	X86_TUNE_REASSOC_INT_TO_PARALLEL and
	X86_TUNE_REASSOC_FP_TO_PARALLEL.

	(ix86_reassociation_width) implementation of
	new hook for i386 target.

	* params.def (PARAM_TREE_REASSOC_WIDTH): New param added.

	* tree-ssa-reassoc.c (get_required_cycles): New function.
	(get_reassociation_width): Likewise.
	(swap_ops_for_binary_stmt): Likewise.
	(rewrite_expr_tree_parallel): Likewise.

	(rewrite_expr_tree): Refactored. Part of code moved into
	swap_ops_for_binary_stmt.

	(reassociate_bb): Now checks reassociation width to be used
	and call rewrite_expr_tree_parallel instead of rewrite_expr_tree
	if needed.

gcc/testsuite/

2011-09-06  Enkovich Ilya  <ilya.enkovich@intel.com>

	* gcc.dg/tree-ssa/pr38533.c (dg-options): Added option
	--param tree-reassoc-width=1.

	* gcc.dg/tree-ssa/reassoc-24.c: New test.
	* gcc.dg/tree-ssa/reassoc-25.c: Likewise.

From-SVN: r178602
2011-09-06 09:42:47 -07:00
Richard Guenther
df2f61000e re PR target/47025 (Dead stores in variadic functions not eliminated)
2011-09-06  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/47025
	* tree-ssa-alias.c (ref_maybe_used_by_call_p_1): BUILT_IN_VA_END
	uses nothing.
	(call_may_clobber_ref_p_1): BUILT_IN_VA_END is a barrier like
	BUILT_IN_FREE.
	(stmt_kills_ref_p_1): BUILT_IN_VA_END kills what its argument
	definitely points to.
	* tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
	BUILT_IN_VA_START doesn't let its va_list argument escape.
	* tree-ssa-dce.c (propagate_necessity): BUILT_IN_VA_END does
	not make any previous stores necessary.

From-SVN: r178601
2011-09-06 15:56:20 +00:00
Arnaud Charlet
e972fd5281 Makefile.in, [...] (gnattools, [...]): New targets.
* gcc-interface/Makefile.in, gcc-interface/Make-lang.in
	(gnattools, regnattools, cross-gnattools, canadian-gnattools,
	gnatlib, gnatlib-sjlj, gnatlib-zcx, gnatlib-shared, gnatlib_and_tools):
	New targets.
	(TOOLS_FLAGS_TO_PASS): New.
	(../stamp-tools): Reintroduce, to avoid merge conflicts.

From-SVN: r178600
2011-09-06 17:12:52 +02:00
Martin Jambor
124f1be6a9 ipa-inline.h (struct inline_summary): Move versionable flag...
2011-09-06  Martin Jambor  <mjambor@suse.cz>

	* ipa-inline.h (struct inline_summary): Move versionable flag...
	* cgraph.h (struct cgraph_local_info): ...here
	* ipa-cp.c (determine_versionability): Use the new versionable flag.
	(determine_versionability): Likewise.
	(ipcp_versionable_function_p): Likewise.
	(ipcp_generate_summary): Likewise.
	* ipa-inline-analysis.c (dump_inline_summary): Do not dump the
	versionable flag.
	(compute_inline_parameters): Do not clear the versionable flag.
	(inline_read_section): Do not stream the versionable flag.
	(inline_write_summary): Likewise.
	* lto-cgraph.c (lto_output_node): Stream the versionable flag.
	(input_overwrite_node): Likewise.

From-SVN: r178598
2011-09-06 16:46:55 +02:00
Richard Guenther
1a60c3521a re PR tree-optimization/48149 (Piecewise complex pass-through not optimized)
2011-09-06  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/48149
	* tree-ssa-sccvn.c (vn_get_expr_for): Simplify.  Fix tuplification bug.
	(vn_valueize): Move earlier.
	(valueize_expr): Use vn_valueize.
	(simplify_binary_expression): Simplify, also combine COMPLEX_EXPR
	operands.
	(simplify_unary_expression): Simplify.

	* gcc.dg/tree-ssa/ssa-fre-32.c: New testcase.

From-SVN: r178597
2011-09-06 14:36:00 +00:00
Robert Dewar
ef417be147 sem_ch10.adb, [...] (Not_Impl_Defined_Unit): New name for Is_RM_Defined_Unit.
2011-09-06  Robert Dewar  <dewar@adacore.com>

	* sem_ch10.adb, impunit.ads, impunit.adb (Not_Impl_Defined_Unit): New
	name for Is_RM_Defined_Unit. Also several fixes to this unit.

From-SVN: r178596
2011-09-06 15:31:15 +02:00
Richard Guenther
5a7d7f9cf3 re PR tree-optimization/48317 (SCCVN does not handle vector constructors)
2011-09-06  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/48317
	* tree-ssa-sccvn.h (struct vn_nary_op_s): Make op a true
	trailing array.
	(sizeof_vn_nary_op): New inline function.
	(vn_nary_op_lookup_pieces): Adjust.
	(vn_nary_op_insert_pieces): Likewise.
	* tree-ssa-sccvn.c (vn_nary_op_eq): Also compare the length.
	(init_vn_nary_op_from_pieces): Adjust signature.  Deal with
	any number of operands.
	(vn_nary_length_from_stmt): New function.
	(init_vn_nary_op_from_stmt): Adjust for CONSTRUCTOR handling.
	(vn_nary_op_lookup_pieces): Adjust signature and allocate properly
	sized temporary.
	(vn_nary_op_lookup): Likewise.
	(vn_nary_op_lookup_stmt): Likewise.
	(vn_nary_op_insert_into): Likewise.
	(vn_nary_op_insert_stmt): Likewise.
	(visit_use): Handle CONSTRUCTOR as nary.
	* tree-ssa-pre.c (phi_translate_1): Adjust.
	(create_expression_by_pieces): Likewise.
	(compute_avail): Likewise.

	* gcc.dg/tree-ssa/ssa-fre-31.c: New testcase.

From-SVN: r178595
2011-09-06 13:17:50 +00:00
Robert Dewar
0a03460680 impunit.ads, [...] (Is_RM_Defined_Unit): New function.
2011-09-06  Robert Dewar  <dewar@adacore.com>

	* impunit.ads, impunit.adb (Is_RM_Defined_Unit): New function.
	* s-rident.ads: New restriction No_Implementation_Units
	(this restriction is also part of the profile
	No_Implementation_Extensions)
	* sem_ch10.adb (Analyze_With_Clause): Add check for
	No_Implementation_Units restriction.

From-SVN: r178594
2011-09-06 15:09:41 +02:00
Arnaud Charlet
ebb6faaafa [multiple changes]
2011-09-06  Jerome Guitton  <guitton@adacore.com>

	* sysdep.c (__gnat_get_task_options): Disable VX_SPE_TASK
	on vThreads.

2011-09-06  Thomas Quinot  <quinot@adacore.com>

	* s-solita.adb: Minor reformatting.

2011-09-06  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch6.adb (Analyze_Subprogram_Body_Helper): The body that
	is a rewriting of an expression function does not freeze previous
	entities.

2011-09-06  Robert Dewar  <dewar@adacore.com>

	* impunit.adb (Is_Known_Unit): Fix bad handling of Ada 2012 case

From-SVN: r178593
2011-09-06 15:07:09 +02:00