Commit Graph

95196 Commits

Author SHA1 Message Date
Janus Weil
bc21d3152f re PR fortran/40941 (gfc_typespec: put derived and cl into union)
2009-08-13  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/40941
	* gfortran.h (gfc_typespec): Put 'derived' and 'cl' into union.
	* decl.c (build_struct): Make sure 'cl' is only used
	if type is BT_CHARACTER.
	* symbol.c (gfc_set_default_type): Ditto.
	* resolve.c (resolve_symbol, resolve_fl_derived): Ditto.
	(resolve_equivalence,resolve_equivalence_derived): Make sure 'derived'
	is only used if type is BT_DERIVED.
	* trans-io.c (transfer_expr): Make sure 'derived' is only used if type
	is BT_DERIVED or BT_INTEGER (special case: C_PTR/C_FUNPTR).
	* array.c: Mechanical replacements to accomodate union in gfc_typespec.
	* check.c: Ditto.
	* data.c: Ditto.
	* decl.c: Ditto.
	* dump-parse-tree.c: Ditto.
	* expr.c: Ditto.
	* interface.c: Ditto.
	* iresolve.c: Ditto.
	* match.c: Ditto.
	* misc.c: Ditto.
	* module.c: Ditto.
	* openmp.c: Ditto.
	* parse.c: Ditto.
	* primary.c: Ditto.
	* resolve.c: Ditto.
	* simplify.c: Ditto.
	* symbol.c: Ditto.
	* target-memory.c: Ditto.
	* trans-array.c: Ditto.
	* trans-common.c: Ditto.
	* trans-const.c: Ditto.
	* trans-decl.c: Ditto.
	* trans-expr.c: Ditto.
	* trans-intrinsic.c: Ditto.
	* trans-io.c: Ditto.
	* trans-stmt.c: Ditto.
	* trans-types.c: Ditto.

From-SVN: r150725
2009-08-13 21:46:46 +02:00
Uros Bizjak
f100a4a841 ChangeLog: Fix whitespace.
* ChangeLog: Fix whitespace.
	* testsuite/ChangeLog: Ditto.

From-SVN: r150724
2009-08-13 21:14:20 +02:00
Janis Johnson
0ca73d34ae re PR c/41046 (decNumber leaves printf call in libgcc)
PR c/41046
	* decContext.c (decContextTestEndian): Call printf only if DECCHECK.
	* decCommon.c ( decFloatShow): Define function only for DECCHECK
	or DECTRACE.

From-SVN: r150720
2009-08-13 16:54:28 +00:00
Dave Korn
241547bbe5 cygwin.h (LINK_SPEC): Add --enable-auto-image-base.
* gcc/config/i386/cygwin.h (LINK_SPEC): Add --enable-auto-image-base.

From-SVN: r150717
2009-08-13 15:00:42 +00:00
Janus Weil
f6038131ce re PR fortran/40995 (Spurious "Type specified for intrinsic function...ignored" message)
2009-08-13  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/40995
	* resolve.c (resolve_symbol): Move some checking code to
	resolve_intrinsic, and call this from here.
	(resolve_intrinsic): Some checking code moved here from resolve_symbol.
	Make sure each intrinsic is only resolved once.

2009-08-13  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/40995
	* gfortran.dg/intrinsic_4.f90: New.
	* gfortran.dg/intrinsic_subroutine.f90: An error message moved to a
	different line.

From-SVN: r150716
2009-08-13 13:16:16 +02:00
Richard Guenther
e5fdcd8cc5 re PR middle-end/41047 (gcc.target/mips/memcpy-1.c failing)
2009-08-13  Richard Guenther  <rguenther@suse.de>

	PR middle-end/41047
	* tree-ssa-ccp.c (ccp_fold): When folding pointer additions
	use the constant pointer type.
	* gimplify.c (canonicalize_addr_expr): Canonicalize independent
	of CV qualifiers on the target pointer type.
	* tree-ssa.c (useless_type_conversion_p): Move incomplete pointer
	conversion check before restrict check.

	* gcc.dg/tree-ssa/ssa-ccp-27.c: New testcase.

From-SVN: r150715
2009-08-13 08:19:10 +00:00
GCC Administrator
61a28f2135 Daily bump.
From-SVN: r150712
2009-08-13 00:17:20 +00:00
Kaz Kojima
d5652a5a2d re PR target/41029 (ICE RTL check: expected code 'reg', have 'post_inc' in rhs_regno, at rtl.h:1008)
PR target/41029
	* config/sh/sh.md (reload_outdf__RnFRm+4): Fix thinko.

From-SVN: r150709
2009-08-12 22:26:13 +00:00
Kaz Kojima
d8158ff1e2 sh.c (sh_promote_function_mode): Add ATTRIBUTE_UNUSED.
* config/sh/sh.c (sh_promote_function_mode): Add ATTRIBUTE_UNUSED.

From-SVN: r150708
2009-08-12 22:23:49 +00:00
Benjamin Kosnik
5d32a15e3b compatibility-ldbl.cc: Add explicit namespace scope.
2009-08-12  Benjamin Kosnik  <bkoz@redhat.com>

	* src/compatibility-ldbl.cc: Add explicit namespace scope.

From-SVN: r150707
2009-08-12 22:05:50 +00:00
Richard Guenther
88ccda10f1 re PR tree-optimization/41011 (ICE in ipcp_lattice_from_jfunc, at ipa-cp.c:328)
2009-08-12  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/41011
	* ipa-cp.c (ipcp_lattice_from_jfunc): Deal with failing fold
	and reference constructing.

	* gfortran.dg/pr41011.f: New testcase.

From-SVN: r150705
2009-08-12 17:55:40 +00:00
David Edelsohn
f3ecb732f3 inclhack.def (aix_complex): New fix.
* inclhack.def (aix_complex): New fix.
        * fixincl.x: Regenerate.

From-SVN: r150704
2009-08-12 13:33:41 -04:00
Xinliang David Li
6eb29714e4 Fix to PR41012
From-SVN: r150703
2009-08-12 16:51:41 +00:00
Andrew Haley
e8e76230ed locks.h: Use atomic builtins For Linux EABI.
2009-08-12  Andrew Haley  <aph@redhat.com>

	* sysdep/arm/locks.h: Use atomic builtins For Linux EABI.
	* configure.ac: Add ATOMICSPEC.
	* libgcj.spec.in: Likewise.
	* configure.host (arm*-linux*): Add -Wno-abi to cxxflags.
	(testsuite/libjava.jvmti/jvmti-interp.exp): Likewise.
	(testsuite/libjava.jvmti/jvmti.exp): Likewise.
	(testsuite/libjava.jni/jni.exp): Likewise.
	Set ATOMICSPEC.
	Set LDFLAGS to work around libtool feature.

From-SVN: r150702
2009-08-12 16:34:00 +00:00
Richard Sandiford
b2a58473d7 re PR bootstrap/41031 (ICE in insert_value_copy_on_edge preventing bootstrap on sparc64 and s390x, testcase on cris-elf)
2009-08-12  Richard Sandiford  <rdsandiford@googlemail.com>

	PR tree-optimization/41031
	* tree-outof-ssa.c (insert_value_copy_on_edge): Use promote_decl_mode
	on the partition variable rather than promote_mode on the source
	type.  Assert that the partition variable's type has the same
	mode as the source value's.

From-SVN: r150701
2009-08-12 16:28:36 +00:00
Paolo Bonzini
666e3cebe1 tm.texi (TARGET_PROMOTE_FUNCTION_MODE): Add documentation for for_return == 2.
2009-08-12  Paolo Bonzini  <bonzini@gnu.org>

	* doc/tm.texi (TARGET_PROMOTE_FUNCTION_MODE): Add documentation
	for for_return == 2.
	* function.c (assign_parm_setup_reg): Use for_return == 2, improve
	comments.
	* calls.c (expand_call): Fix typo.
	* explow.c (promote_decl_mode): Use for_return == 2 for RESULT_DECL
	and PARM_DECL.
	* stmt.c (expand_value_return): Use promote_function_mode to copy out
	of pseudo.
	* targhooks.c (default_promote_function_mode): Handle for_return == 2.
	* config/cris/cris.c (cris_promote_function_mode): Likewise.
	* config/mmix/mmix.c (mmix_promote_function_mode): Likewise.
	* config/pa/pa.c (pa_promote_function_mode): Likewise.

From-SVN: r150700
2009-08-12 16:23:12 +00:00
Andrew Haley
4b462d7786 builtins.c (compareAndSwapInt_builtin): Use flag_use_atomic_builtins.
2009-08-12  Andrew Haley  <aph@redhat.com>

	* builtins.c (compareAndSwapInt_builtin): Use
	flag_use_atomic_builtins.
	(compareAndSwapLong_builtin): Likewise.
	(compareAndSwapObject_builtin): Likewise.
	* jvspec.c: Add flag_use_atomic_builtins.
	* gcj.texi: Likewise.
	* java-tree.h: Likewise.
	* lang.opt: Likewise.

From-SVN: r150699
2009-08-12 16:10:12 +00:00
Andrew Haley
97804369a9 synchronize.c: New file.
2009-08-11  Andrew Haley  <aph@redhat.com>

	* gcc.target/arm/synchronize.c: New file.

From-SVN: r150698
2009-08-12 15:55:19 +00:00
Andrew Haley
353a58f77c arm.c (arm_init_libfuncs): Add __sync_synchronize.
2009-08-11  Andrew Haley  <aph@redhat.com>

	* config/arm/arm.c (arm_init_libfuncs): Add __sync_synchronize.

From-SVN: r150697
2009-08-12 15:54:37 +00:00
Sebastian Pop
4654745dcd Remove pragma GCC diagnostic warning "-Wc++-compat".
2009-08-12  Sebastian Pop  <sebastian.pop@amd.com>

	PR bootstrap/40103
	* graphite.c: Remove pragma GCC diagnostic warning "-Wc++-compat".

From-SVN: r150696
2009-08-12 15:13:52 +00:00
Richard Guenther
daad02781a alias.c (get_alias_set): Honor TYPE_STRUCTURAL_EQUALITY_P.
2009-08-12  Richard Guenther  <rguenther@suse.de>

	* alias.c (get_alias_set): Honor TYPE_STRUCTURAL_EQUALITY_P.
	* gimplify.c (gimplify_modify_expr): Do not use
	lang_hooks.types_compatible_p.
	* tree-ssa.c (useless_type_conversion_p): For aggregates
	just return false if the canonical types differ.

From-SVN: r150695
2009-08-12 15:10:47 +00:00
Sebastian Pop
30de16328a Prepare expressions to be good phi arguments.
2009-08-11  Sebastian Pop  <sebastian.pop@amd.com>

	PR middle-end/40980
	* sese.c (convert_for_phi_arg): New.
	(add_guard_exit_phis): Use convert_for_phi_arg.

	* testsuite/gfortran.dg/graphite/id-17.f: New.

From-SVN: r150694
2009-08-12 14:32:31 +00:00
Sebastian Pop
8c31ebfa3a Dont add unknown subscript upper bounds.
2009-08-11  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite-sese-to-poly.c (pdr_add_data_dimensions): Dont add
	unknown subscript upper bounds.

	* testsuite/gcc.dg/graphite/interchange-6.c: Un-XFAIL.

From-SVN: r150693
2009-08-12 14:31:21 +00:00
Sebastian Pop
fb9fb29034 Reimplement interchange heuristic.
2009-08-11  Sebastian Pop  <sebastian.pop@amd.com>
	    Pranav Garg  <pranav.garg2107@gmail.com>

	* graphite-interchange.c (gather_access_strides): Removed.
	(ppl_max_for_le): New.
	(build_linearized_memory_access): New.
	(memory_stride_in_loop): New.
	(pbb_interchange_profitable_p): Reimplemented.
	* graphite-ppl.h (ppl_new_id_map): New.
	(ppl_interchange): New.

	* testsuite/gcc.dg/graphite/interchange-6.c: XFAILed.


Co-Authored-By: Pranav Garg <pranav.garg2107@gmail.com>

From-SVN: r150692
2009-08-12 14:30:06 +00:00
Sebastian Pop
312aea7f99 Remove interchange heuristic.
2009-08-11  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite-interchange.c (compute_subscript): Removed.
	(compute_array_size_cstr): Removed.
	(compute_array_size_poly): Removed.
	(compute_array_size): Removed.
	(gather_access_strides_poly): Removed.
	(gather_access_strides): Empty.

From-SVN: r150691
2009-08-12 14:28:15 +00:00
Sebastian Pop
25d7cc15a8 Add PDR->nb_subscripts.
2009-08-11  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite-dependences.c (dependence_polyhedron_1): Replace
	pdr_nb_subscripts with PDR_NB_SUBSCRIPTS.
	(graphite_legal_transform_dr): Same.
	(graphite_carried_dependence_level_k): Same.
	* graphite-poly.c (new_poly_dr): Add a parameter nb_subscripts.
	Initialize PDR_NB_SUBSCRIPTS.
	(print_pdr_access_layout): Replace pdr_nb_subscripts with
	PDR_NB_SUBSCRIPTS.
	* graphite-poly.h (struct poly_dr): Add nb_subscripts field.
	(PDR_NB_SUBSCRIPTS): New.
	(pdr_nb_subscripts): Removed.
	(pdr_dim): Simplified.
	* graphite-sese-to-poly.c (build_poly_dr): Replace pdr_nb_subscripts
	with PDR_NB_SUBSCRIPTS.

From-SVN: r150690
2009-08-12 14:27:33 +00:00
Sebastian Pop
66096911fd Undo changes to the PDR representation.
2009-08-11  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite-interchange.c (compute_array_size): Remove use of
	PDR_DATA_CONTAINER.
	* graphite-poly.c (new_poly_dr): Remove argument data_container.
	Do not initialize PDR_DATA_CONTAINER.
	(print_pdr): Do not print PDR_DATA_CONTAINER.
	* graphite-poly.h (struct poly_dr): Remove data_container field.
	(PDR_DATA_CONTAINER): Removed.
	* graphite-sese-to-poly.c (pdr_add_data_dimensions): Remove use of
	PDR_DATA_CONTAINER.
	(build_poly_dr): Same.

From-SVN: r150689
2009-08-12 14:26:42 +00:00
Sebastian Pop
273c5dd38b Add interchange testcase.
2009-08-11  Sebastian Pop  <sebastian.pop@amd.com>

	* testsuite/gcc.dg/graphite/interchange-9.c: New.

From-SVN: r150688
2009-08-12 14:25:32 +00:00
Konrad Trifunovic
7491e5f00c Fix memory leak in DD XFAILs some interchange testcases.
2009-08-05  Konrad Trifunovic  <konrad.trifunovic@gmail.com>
	    Sebastian Pop  <sebastian.pop@amd.com>

	* graphite-dependences.c (graphite_legal_transform_dr): Work on a
	copy of the dependence polyhedron.  Free the temporary objects.
	(graphite_carried_dependence_level_k): Free unused objects before
	returning.

	* testsuite/gcc.dg/graphite/interchange-1.c: XFAILed.
	* testsuite/gcc.dg/graphite/interchange-2.c: XFAILed.
	* testsuite/gcc.dg/graphite/interchange-3.c: XFAILed.
	* testsuite/gcc.dg/graphite/interchange-4.c: XFAILed.
	* testsuite/gcc.dg/graphite/interchange-7.c: XFAILed.


Co-Authored-By: Sebastian Pop <sebastian.pop@amd.com>

From-SVN: r150687
2009-08-12 14:24:01 +00:00
Sebastian Pop
f4648ed139 Restore original scattering when the transform is not legal.
2009-08-05  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite-blocking.c (scop_do_strip_mine): Call store_scattering.
	Early return without analyzing the data dependences if no
	transform has been done.  Call restore_scattering if the transform
	is not legal.
	(graphite-interchange.c): Same.
	* graphite-poly.c (print_scattering_function): Test for PBB_TRANSFORMED.
	(graphite_read_transforms): Initialize PBB_TRANSFORMED.
	(apply_poly_transforms): Do not gcc_assert that
	the transform is legal.
	(new_poly_bb): Initialize PBB_TRANSFORMED, PBB_SAVED, and PBB_ORIGINAL.
	Do not initialize PBB_NB_SCATTERING_TRANSFORM, PBB_NB_LOCAL_VARIABLES,
	PBB_TRANSFORMED_SCATTERING, and PBB_ORIGINAL_SCATTERING.
	(free_poly_dr): Free PBB_TRANSFORMED, PBB_SAVED, and PBB_ORIGINAL.
	* graphite-poly.h (struct poly_scattering): New.
	(struct poly_bb): Add original, transformed, and saved fields.
	Remove transformed_scattering, original_scattering, nb_local_variables,
	and nb_scattering_transform fields.
	(PBB_ORIGINAL, PBB_TRANSFORMED, PBB_SAVED): New.
	(poly_scattering_new): New.
	(poly_scattering_free): New.
	(poly_scattering_copy): New.
	(store_scattering_pbb): New.
	(store_scattering): New.
	(restore_scattering_pbb): New.
	(restore_scattering): New.
	* graphite-sese-to-poly.c (build_pbb_scattering_polyhedrons):
	Initialize PBB_TRANSFORMED and PBB_ORIGINAL.

From-SVN: r150686
2009-08-12 14:23:01 +00:00
Sebastian Pop
e31a5bd4bb Correctly parenthesize pretty print structures.
2009-08-05  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite-poly.c (print_pbb): Add parentheses in the pretty print.
	(print_scop): Same.

From-SVN: r150685
2009-08-12 14:20:22 +00:00
Sebastian Pop
8e88f9fddf Recompute profile after Graphite.
2009-08-05  Sebastian Pop  <sebastian.pop@amd.com>

	* Makefile.in (graphite.o): Depends on PREDICT_H.
	* graphite.c: Include predict.h.
	(graphite_finalize): Call tree_estimate_probability.
	* predict.c (predict_loops): Do not call scev_initialize and
	scev_finalize.
	(tree_estimate_probability_bb): New.
	(tree_estimate_probability): Do not initialize loops: move that
	code to the driver.  Call tree_estimate_probability_bb.
	(tree_estimate_probability_driver): New.
	(pass_profile): Use tree_estimate_probability_driver.
	* predict.h (tree_estimate_probability): Declared.

From-SVN: r150684
2009-08-12 14:19:33 +00:00
Sebastian Pop
87d4d0ee25 Measure time spent in DD analysis and in code gen.
2009-08-05  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite-clast-to-gimple.c (gloog): Add time to TV_GRAPHITE_CODE_GEN.
	* graphite-dependences.c (graphite_legal_transform): Add time to
	TV_GRAPHITE_DATA_DEPS.
	(dependency_between_pbbs_p): Same.
	* timevar.def (TV_GRAPHITE_DATA_DEPS, TV_GRAPHITE_CODE_GEN): New.

From-SVN: r150683
2009-08-12 14:18:17 +00:00
Andrey Belevantsev
4c7af93945 [multiple changes]
2009-08-12  Andrey Belevantsev  <abel@ispras.ru>

    PR rtl-optimization/41033
    * alias.c (nonoverlapping_component_refs_p): Punt if strict aliasing is disabled.

2009-08-12  Richard Guenther  <rguenther@suse.de>

    PR rtl-optimization/41033
    * gcc.dg/pr41033.c: New test.

From-SVN: r150680
2009-08-12 15:50:22 +04:00
Tobias Burnus
c0e18b82d0 re PR fortran/41034 (Wrongly rejected proc pointer assignment with CDECL (compiler-directive_1.f90))
2009-08-12  Tobias Burnus  <burnus@net-b.de>

        PR fortran/41034
        * symbol.c (gfc_copy_attr): Merge bits instead of replace
        bits in gfc_copy_attr.
        * gfc_check_pointer_assign (gfc_check_pointer_assign):
        Initialize ext_attr bits by zero.

From-SVN: r150678
2009-08-12 11:03:38 +02:00
Richard Guenther
64754ed578 trans-types.c (gfc_get_derived_type): Do not clear TYPE_CANONICAL.
2009-08-12  Richard Guenther  <rguenther@suse.de>

	* trans-types.c (gfc_get_derived_type): Do not clear TYPE_CANONICAL.

From-SVN: r150676
2009-08-12 08:33:15 +00:00
Benjamin Kosnik
12d74f0d0d extc++.h: Don't include TR1 if C++0x.
2009-08-11  Benjamin Kosnik  <bkoz@redhat.com>

	* include/precompiled/extc++.h: Don't include TR1 if C++0x.
	* include/precompiled/stdc++.h: Don't include cassert if
	_GLIBCXX_NO_ASSERT defined.
	* include/ext/cast.h (_GLIBCXX_BEGIN_NAMESPACE): Remove extra
	semi-colon.
	* include/ext/pointer.h (_GCC_CXX_POINTER_COMPARISON_OPERATION_SET):
	Same.

	* testsuite/17_intro/headers/all.cc: Move into dialect-specific
	directory.
	* testsuite/17_intro/headers/all_pedantic_errors.cc: Same.
	* testsuite/17_intro/headers/all_assert_neg.cc: Same.
	* testsuite/17_intro/headers/all_c++200x_compatibility.cc: Same.

	* testsuite/17_intro/headers/c++1998/all.cc: Use extc++.h include.
	* testsuite/17_intro/headers/c++1998/stdc++.cc: Converted all.cc,
	use stdc++.h include.
	* testsuite/17_intro/headers/c++1998/all_pedantic_errors.cc: Same.
	* testsuite/17_intro/headers/c++1998/stdc++_assert_neg.cc: Same.
	* testsuite/17_intro/headers/c++1998/all_c++200x_compatibility.cc: Same.
	* testsuite/17_intro/headers/c++1998/all_no_exceptions.cc: New.
	* testsuite/17_intro/headers/c++1998/all_multiple_inclusion.cc: To...
	* testsuite/17_intro/headers/c++1998/stdc++_multiple_inclusion.cc
	...this.
	* testsuite/17_intro/headers/c++200x/all.cc: To...
	* testsuite/17_intro/headers/c++200x/stdc++.cc: ..this.
	* testsuite/17_intro/headers/c++200x/all_multiple_inclusion.cc: To...
	* testsuite/17_intro/headers/c++200x/stdc++_multiple_inclusion.cc:
	...this.
	* testsuite/17_intro/headers/c++200x/all_no_exceptions.cc: New.
	* testsuite/17_intro/headers/c++200x/all_pedantic_errors.cc: New.

From-SVN: r150672
2009-08-12 00:56:12 +00:00
GCC Administrator
407bf46aa2 Daily bump.
From-SVN: r150671
2009-08-12 00:17:07 +00:00
Janus Weil
4561cbd0bd re PR fortran/41022 ([F03] procedure pointer components as actual arguments)
2009-08-11  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/41022
	* trans-expr.c (gfc_conv_procedure_call): Handle procedure pointer
	components as actual arguments.

2009-08-11  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/41022
	* gfortran.dg/proc_ptr_comp_14.f90: New.

From-SVN: r150665
2009-08-11 22:08:35 +02:00
Dodji Seketeli
df4aca797b re PR debug/40990 (bad .debug_pubnames entry from gcj)
Fix PR debug/40990

	PR debug/40990
	* lang.c (put_decl_node): Outputs different level of information
	depending on the verbosity level.

From-SVN: r150659
2009-08-11 20:39:54 +02:00
Adam Nemet
b2c9d70fd7 predicates.md (qi_mask_operand, [...]): New predicates.
* config/mips/predicates.md (qi_mask_operand, hi_mask_operand,
	si_mask_operand, and_load_operand, low_bitmask_operand,
	and_reg_operand, and_operand): New predicates.
	* config/mips/constraints.md (Yb, Yh, Yw, Yz): New constraints.
	* config/mips/mips.c (and_operands_ok): New function.
	* config/mips/mips-protos.h (and_operands_ok): Declare it.
	* config/mips/mips.md (move_type): Add ext_ins and logical.
	(type): Handle them.
	(and<mode>3): Use and_reg_operand as the second operand's
	predicate.
	(*and<mode>3): Add alternatives for lbu, lhu, lwu, <d>ext and
	shift_shift.  Remove commutative constraint modifier.
	(*and<mode>3_mips16): Add alternatives for lbu, lhu, lwu and
	shift_shift.
	(*clear_upper32_dext): Remove define_insn_and_split.
	(*clear_upper32): Turn this define_insn_and_split ...
	(splitter for ANDing register with 0xffff_ffff): .. into this.

testsuite/
	* gcc.target/mips/ext-5.c: New test.
	* gcc.target/mips/ext-6.c: New test.
	* gcc.target/mips/ext-7.c: New test.
	* gcc.target/mips/ext-8.c: New test.
	* gcc.target/mips/extend-2.c: New test.

From-SVN: r150657
2009-08-11 17:41:09 +00:00
Adam Nemet
842e098c5f combine.c (try_widen_shift_mode): Factor out code to check if an integer constant is a low-order bitmask from here ...
* combine.c (try_widen_shift_mode): Factor out code to check if an
        integer constant is a low-order bitmask from here ...
	* rtlanal.c (low_bitmask_len): ... to here.
	* rtl.h (low_bitmask_len): Declare.

From-SVN: r150656
2009-08-11 17:31:09 +00:00
Uros Bizjak
c53c2591f6 re PR target/8603 ([Alpha] s?addl pattern doesn't work)
PR target/8603
	* config/alpha/alpha.md (addsi3): Remove expander.
	(addsi3): Rename from *addsi3_internal insn pattern.
	(subsi3): Remove expander.
	(subsi3): Rename from *subsi3_internal insn pattern.

From-SVN: r150654
2009-08-11 19:05:38 +02:00
Douglas B Rupp
b0d0a8a7c9 alpha.c (alpha_init_builtins): Nullify FWRITE and FWRITE_UNLOCKED.
* config/alpha/alpha.c (alpha_init_builtins): Nullify FWRITE and
	FWRITE_UNLOCKED.

From-SVN: r150653
2009-08-11 16:41:41 +00:00
Vasiliy Fofanov
050d3f9d80 alpha.c (alpha_return_in_memory): On VMS...
* config/alpha/alpha.c (alpha_return_in_memory): On VMS, ensure
	that records that fit in 64 bits are returned by immediate value,
	as required by OpenVMS Calling Standard.
	(function_value): Adjust for above modification.
	(alpha_va_start) <TARGET_ABI_OPEN_VMS>: Use
	virtual_incoming_args_rtx as base object, not next_arg.
	* config/alpha/vms.h: (DEFAULT_PCC_STRUCT_RETURN): Define as 0.


Co-Authored-By: Douglas B Rupp <rupp@gnat.com>
Co-Authored-By: Eric Botcazou <ebotcazou@adacore.com>

From-SVN: r150652
2009-08-11 16:33:41 +00:00
Ulrich Weigand
2fa8205d74 reload.c (find_reloads_subreg_address): Check the original req_equiv_mem address to detect the case where an address is...
* reload.c (find_reloads_subreg_address): Check the original
	req_equiv_mem address to detect the case where an address is
	not valid in the outer mode.

From-SVN: r150649
2009-08-11 13:56:52 +00:00
Richard Guenther
ac8f7e421b re PR bootstrap/40788 (ICE on sparc: tree check: expected class 'expression', have 'declaration' (var_decl) in gimplify_va_arg_expr, at builtins.c:5107)
2009-08-11  Richard Guenther  <rguenther@suse.de>
        
        PR bootstrap/40788
        * builtins.c (gimplify_va_arg_expr): Do not call 
        SET_EXPR_LOCATION.

From-SVN: r150648
2009-08-11 11:39:43 +00:00
Douglas B Rupp
fddeba6da8 vms.h (OPTIMIZATION_OPTIONS): Remove
* config/alpha/vms.h (OPTIMIZATION_OPTIONS): Remove
	(OVERRIDE_OPTIONS): Incorporate removed OPTIMIZATION_OPTIONS.

From-SVN: r150647
2009-08-11 05:19:31 +00:00
Olivier Hainque
1d3499d85c alpha.c (alpha_sa_size): Force procedure type to PT_STACK when frame_pointer_needed on OpenVMS.
* config/alpha/alpha.c (alpha_sa_size): Force procedure type to
	PT_STACK when frame_pointer_needed on OpenVMS.
	(alpha_pv_save_size, alpha_using_fp): Remove.
	(alpha_vms_can_eliminate): New function. Support for CAN_ELIMINATE
	with proper processing for PT_NULL.
	(alpha_vms_initial_elimination_offset): New function. Support for
	INITIAL_ELIMINATION_OFFSET with proper processing for PT_NULL.
	(alpha_sa_size): Force procedure type to PT_STACK when
	frame_pointer_needed on OpenVMS.
	* config/alpha/alpha-protos.h (alpha_pv_save_size): Remove prototype.
	(alpha_using_fp): Likewise.
	(alpha_vms_can_eliminate): Add prototype.
	(alpha_vms_initial_elimination_offset): Likewise.
	* config/alpha/vms.h (CAN_ELIMINATE, INITIAL_ELIMINATION_OFFSET):
	Call alpha_vms_can_eliminate and alpha_vms_initial_elimination_offset.


Co-Authored-By: Douglas B Rupp <rupp@gnat.com>

From-SVN: r150646
2009-08-11 05:14:48 +00:00
Eric Botcazou
18fd562170 alpha.c (common_object_handler): New function.
* config/alpha/alpha.c (common_object_handler): New function.
	(vms_attribute_table): Declare a single attribute "common_object".
	(vms_output_aligned_decl_common): New global function.
	(SECTION_VMS_OVERLAY): Delete.
	(SECTION_VMS_GLOBAL): Likewise.
	(SECTION_VMS_INITIALIZE): Likewise.
	(vms_asm_named_section): Remove support for above flags.
	(vms_section_type_flags): Delete.
	(TARGET_SECTION_TYPE_FLAGS): Likewise.
	* config/alpha/alpha-protos.h (vms_output_aligned_decl_common): New.
	* config/alpha/vms.h (ASM_OUTPUT_ALIGNED_COMMON): Delete.
	(ASM_OUTPUT_ALIGNED_DECL_COMMON): New macro.


Co-Authored-By: Douglas B Rupp <rupp@gnat.com>

From-SVN: r150645
2009-08-11 05:00:51 +00:00