Commit Graph

91031 Commits

Author SHA1 Message Date
Sebastian Pop 0a280b3566 configure.ac (ppllibs): Add by default the lib flags.
2008-12-12  Sebastian Pop <sebastian.pop@amd.com>

	* configure.ac (ppllibs): Add by default the lib flags.
	* configure: Regenerate.

From-SVN: r142715
2008-12-12 17:24:23 +00:00
Benjamin Kosnik 50ce8d3d78 cstdatomic: Update to N2798.
2008-12-11  Benjamin Kosnik  <bkoz@redhat.com>
	    Richard Henderson  <rth@redhat.com>

	* include/c_global/cstdatomic: Update to N2798.
	(atomic): Remove explicit constructors as per DR 845.
	* include/bits/atomic_0.h: New. Switchable implementation.
	* include/bits/atomic_2.h: New. Lock-free implementation.
	* include/c_compatibility/stdatomic.h: Use foward headers.
	* include/bits/atomicfwd_cxx.h: New.
	* include/bits/atomicfwd_c.h: New.
	* src/atomic.cc: Adjust.
	* acinclude.m4 (GLIBCXX_CHECK_STANDARD_LAYOUT): Remove,
	unconditionally use default/deleted syntax.
	(GLIBCXX_ENABLE_ATOMIC_BUILTINS): Check for 2, 8.
	* include/Makefile.am (bits_headers): Add atomicfwd_c.h,
	atomicfwd_cxx.h, atomic_0.h, atomic_2.h.
	* include/Makefile.in: Regenerate.
	* configure: Regenerate.
	* config.h.in: Regenerate.
	* config/abi/pre/gnu.ver: Adjust exports.

	* testsuite/27_io/ios_base/types/fmtflags/bitmask_operators.cc: Adjust.
	* testsuite/27_io/ios_base/types/openmode/bitmask_operators.cc: Same.
	* testsuite/27_io/ios_base/types/iostate/bitmask_operators.cc: Same.
	* testsuite/29_atomics/atomic_address/cons/assign_neg.cc: Same.
	* testsuite/29_atomics/atomic_address/cons/explicit_value.cc: Move to..
	* testsuite/29_atomics/atomic_address/cons/single_value.cc: ...this.
	* testsuite/29_atomics/atomic_address/cons/copy_neg.cc
	* testsuite/29_atomics/atomic_integral/cons/single_value.cc: New.
	* testsuite/29_atomics/atomic_integral/cons/assign_neg.cc: New.
	* testsuite/29_atomics/atomic_integral/cons/copy_neg.cc: New.
	* testsuite/29_atomics/atomic_integral/cons/default.cc: New.
	* testsuite/29_atomics/atomic_integral/cons/direct_list.cc: New.
	* testsuite/29_atomics/atomic_integral/cons/copy_list.cc: New.
	* testsuite/29_atomics/atomic_integral/requirements/
	standard_layout.cc: New.
	* testsuite/29_atomics/atomic_integral/operators/
	integral_assignment.cc: New.
	* testsuite/29_atomics/atomic_integral/operators/increment_neg.cc: New.
	* testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc: New.
	* testsuite/29_atomics/atomic_integral/operators/decrement_neg.cc: New.
	* testsuite/29_atomics/atomic_integral/operators/increment.cc: New.
	* testsuite/29_atomics/atomic_integral/operators/decrement.cc: New.
	* testsuite/29_atomics/atomic_integral/operators/bitwise.cc: New.
	* testsuite/29_atomics/atomic_integral/operators/
	integral_conversion.cc: New.
	* testsuite/29_atomics/atomic_flag/cons/assign_neg.cc: Adjust.
	* testsuite/29_atomics/atomic_flag/cons/copy_neg.cc: Same.
	* testsuite/29_atomics/atomic_flag/requirements/
	standard_layout.cc: Same.
	* testsuite/29_atomics/atomic_flag/
	atomic_global_fence_compatibility.cc: Kill.
	* testsuite/29_atomics/headers/cstdatomic/types_std_c++0x.cc: Adjust.
	* testsuite/29_atomics/headers/cstdatomic/functions_std_c++0x.cc: Same.
	* testsuite/29_atomics/headers/cstdatomic/macros.cc: Same.
	* testsuite/29_atomics/headers/stdatomic.h/macros.c: Same.
	* testsuite/29_atomics/headers/stdatomic.h/types.c: Same.
	* testsuite/29_atomics/atomic/cons/assign_neg.cc: Same.
	* testsuite/29_atomics/atomic/cons/explicit_value.cc: Move to...
	* testsuite/29_atomics/atomic/cons/single_value.cc: ...this.
	* testsuite/29_atomics/atomic/cons/copy_neg.cc
	* testsuite/29_atomics/atomic/cons/direct_list.cc: New.
	* testsuite/29_atomics/atomic/cons/copy_list.cc: New.
	* testsuite/29_atomics/atomic/requirements/standard_layout.cc: New.
	* testsuite/29_atomics/atomic/requirements/base_classes.cc: New.
	* testsuite/29_atomics/atomic/operators/integral_assignment.cc: New.
	* testsuite/29_atomics/atomic/operators/integral_conversion.cc: New.
	* testsuite/util/testsuite_hooks.h (bitmask_operators): Move...
	* testsuite/util/testsuite_common_types.h: ...here.
	(atomic_integrals_no_bool): New.
	(atomic_integrals): New.
	(has_increment_operators, has_decrement_operators)
	(direct_list_initializable, single_value_constructible)
	(standard_layout, has_bitwise_operators, integral_convertable)
	(integral_assignable): Add.


Co-Authored-By: Richard Henderson <rth@redhat.com>

From-SVN: r142714
2008-12-12 17:10:16 +00:00
Dwarakanath Rajagopal 0f2dc4ccd7 x86intrin.h: New header file to support all x86 intrinsics
2008-12-12  Dwarakanath Rajagopal  <dwarak.rajagopal@amd.com>

	* config/i386/x86intrin.h: New header file to support all x86 
	intrinsics
	* config.gcc (extra_headers): For x86 and x86-64, add x86intrin.h

From-SVN: r142713
2008-12-12 16:53:27 +00:00
H.J. Lu c5245af511 re PR target/38402 (Undocumented Yz constraint)
2008-12-12  H.J. Lu  <hongjiu.lu@intel.com>

	PR target/38402
	* gcc/doc/md.texi: Remove Y and document Yz, Y2, Yi and Ym
	constraints for x86.

From-SVN: r142710
2008-12-12 06:32:00 -08:00
Daniel Franke bf4f96e610 re PR fortran/36355 (matmul argument-check: wrong error messages)
gcc/fortran:
2008-12-12  Daniel Franke  <franke.daniel@gmail.com>

        PR fortran/36355
        * check.c (gfc_check_matmul): Fixed error message for invalid
        types to correctly identify the offending argument, added check
        for mismatching types.


gcc/testsuite:
2008-12-12 Daniel Franke  <franke.daniel@gmail.com>

        PR fortran/36355
        * gfortran.dg/matmul_argument_types.f90: New.

From-SVN: r142709
2008-12-12 08:22:55 -05:00
Andreas Schwab b8153009d8 (rtl_verify_flow_info_1): Don't apply BLOCK_FOR_INSN on
a BARRIER insn.

From-SVN: r142708
2008-12-12 12:28:39 +00:00
Jakub Jelinek 2d07fd8ae2 re PR libstdc++/37582 (std::pow strange overload resolution)
PR c++/37582
	* testsuite/26_numerics/headers/cmath/37582.cc: New.

From-SVN: r142707
2008-12-12 12:22:33 +01:00
Uros Bizjak dc7017341e sync.md (memory_barrier): Remove mem:BLK from operands.
* config/alpha/sync.md (memory_barrier): Remove mem:BLK from operands.
	Use Pmode for scratch reg.
	(*mb_internal): Use (match_dup 0) for unspec operand.

From-SVN: r142705
2008-12-12 11:25:55 +01:00
Alexandre Oliva 26e4f1baa2 tree-vrp.c (extract_range_from_binary_expr): Don't shift by floor_log2 of zero.
* tree-vrp.c (extract_range_from_binary_expr): Don't shift by
floor_log2 of zero.  Negate widened zero.

From-SVN: r142702
2008-12-12 04:56:29 +00:00
Ben Elliston db231d5d4d fp-bit.c (nan): Rename from this ..
* config/fp-bit.c (nan): Rename from this ..
	(makenan): .. to this.

From-SVN: r142701
2008-12-12 13:23:35 +11:00
GCC Administrator ae30bb68f6 Daily bump.
From-SVN: r142699
2008-12-12 00:16:57 +00:00
Janis Johnson 49bcf11ed4 re PR testsuite/29071 (gcc.dg/20020919-1.c compilation test fails on powerpc-apple-darwin8 at -m64)
PR testsuite/29071
	* gcc.dg/20020919-1.c: Fix a preprocessor check.

From-SVN: r142696
2008-12-11 23:37:03 +00:00
Adam Nemet 90a37af69f * config/mips/mips.md (*branch_bit<bbv><mode>,
*branch_bit<bbv><mode>_inverted): Renumber operands so that the
	label becomes operands[1].

From-SVN: r142694
2008-12-11 22:50:12 +00:00
Sebastian Pop e81489b325 re PR middle-end/38413 ([graphite] ICE: in build2_stat, at tree.c:3293)
2008-12-11  Sebastian Pop  <sebastian.pop@amd.com>

	PR middle-end/38413
	* gcc.dg/graphite/pr38413.c: New.

From-SVN: r142691
2008-12-11 20:19:54 +00:00
Sebastian Pop 7c8b566660 re PR middle-end/38459 ([graphite] SEGFAULT in cloog_clast_create)
2008-12-11  Sebastian Pop  <sebastian.pop@amd.com>

	PR middle-end/38459
	* gfortran.dg/graphite/pr37857.f90: New.

From-SVN: r142690
2008-12-11 19:57:18 +00:00
H.J. Lu bc87337fc8 re PR libgcj/38006 (Incorrect proplist on inherit.png)
2008-12-11  H.J. Lu  <hongjiu.lu@intel.com>

	PR libgcj/38006
	* classpath/tools/resource/gnu/classpath/tools/gjdoc/htmldoclet/inherit.png:
	Set svn:mime-type to application/octet-stream.

From-SVN: r142689
2008-12-11 11:48:16 -08:00
Sebastian Pop 4d6c72371d [multiple changes]
2008-12-11  Harsha Jagasia  <harsha.jagasia@amd.com>

	PR tree-optimization/38446
	* graphite.c (register_bb_in_sese): New.
	(bb_in_sese_p): Check if bb belongs to sese region by explicitly
	looking at the bbs in the region.
	* graphite.h (sese): Add region_basic_blocks pointer set to
	structure and initialize at the time of defining new scop.

2008-12-11  Tobias Grosser  <grosser@fim.uni-passau.de>

	* graphite.c (new_graphite_bb): Initialize GBB_STATIC_SCHEDULE.
	(find_params_in_bb): Do not free data refs.
	(free_graphite_bb): Add FIXME on disabled free_data_refs.

2008-12-11  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite.c (struct ivtype_map_elt): New.
	(debug_ivtype_elt, debug_ivtype_map_1, debug_ivtype_map,
	new_ivtype_map_elt, ivtype_map_elt_info, eq_ivtype_map_elts,
	gcc_type_for_cloog_iv): New.
	(loop_iv_stack_patch_for_consts): Use the type of the induction
	variable from the original loop, except for the automatically
	generated loops, i.e., in the case of a strip-mined loop, in
	which case there is no original loop: in that case just use
	integer_type_node.
	(new_graphite_bb): Initialize GBB_CLOOG_IV_TYPES.
	(free_graphite_bb): Free GBB_CLOOG_IV_TYPES.
	(clast_name_to_gcc): Accept params to be NULL.
	(clast_to_gcc_expression): Take an extra parameter for the type.
	Convert to that type all the expressions built by this function.
	(gcc_type_for_clast_expr, gcc_type_for_clast_eq): New.
	(graphite_translate_clast_equation): Compute the type of the
	clast_equation before translating its LHS and RHS.
	(clast_get_body_of_loop, gcc_type_for_iv_of_clast_loop): New.
	(graphite_create_new_loop): Compute the type of the induction
	variable before translating the lower and upper bounds and before
	creating the induction variable.
	(rename_variables_from_edge, rename_phis_end_scop): New.
	(copy_bb_and_scalar_dependences): Call rename_phis_end_scop.
	(sese_add_exit_phis_edge): Do not use integer_zero_node.
	(find_cloog_iv_in_expr, compute_cloog_iv_types_1,
	compute_cloog_iv_types): New.
	(gloog): Call compute_cloog_iv_types before starting the
	translation of the clast.

	* graphite.h (struct graphite_bb): New field cloog_iv_types.
	(GBB_CLOOG_IV_TYPES): New.
	(debug_ivtype_map): Declared.
	(oldiv_for_loop): New.

2008-12-10  Tobias Grosser  <grosser@fim.uni-passau.de>

	PR middle-end/38459
	* graphite.c (new_scop): Initialize SCOP_ADD_PARAMS.
	(param_index): Assert if parameter is not know after parameter
	detection.
	(find_params_in_bb): Detect params directly in GBB_CONDITIONS.
	(find_scop_parameters): Mark, that we have finished parameter
	detection.
	(graphite_transform_loops): Move condition detection before parameter
	detection.
	* graphite.h (struct scop): Add SCOP_ADD_PARAMS.

2008-12-11  Harsha Jagasia  <harsha.jagasia@amd.com>

	PR tree-optimization/38446
	* gcc.dg/graphite/pr38446.c: New.

2008-12-11  Sebastian Pop  <sebastian.pop@amd.com>

	* gcc.dg/graphite/scop-16.c: Test only scop specific info.
	* gcc.dg/graphite/scop-17.c: Same.
	* gcc.dg/graphite/block-5.c: New.
	* gcc.dg/graphite/block-6.c: New.
	* gcc.dg/graphite/pr37485.c: Clean dump file after.
	* gcc.dg/graphite/pr37684.c: Same.
	* gcc.dg/graphite/block-2.c: Same.

2008-12-10  Tobias Grosser  <grosser@fim.uni-passau.de>

	PR middle-end/38459
	* gfortran.dg/graphite/pr38459.f90: New.

From-SVN: r142688
2008-12-11 19:35:41 +00:00
John David Anglin b6b561e4c2 re PR testsuite/35677 (Intermitent failure "FAIL: libgomp.fortran/crayptr2.f90")
PR testsuite/35677
	* emutls.c (__emutls_get_address): Make sure offset is really zero
	before initializing the object's offset.

From-SVN: r142687
2008-12-11 18:33:48 +00:00
Richard Guenther 150da9f453 Make-lang.in (install-finclude-dir): Use correct mode argument for mkinstalldirs.
2008-12-11  Richard Guenther  <rguenther@suse.de>

	* Make-lang.in (install-finclude-dir): Use correct mode argument
	for mkinstalldirs.

From-SVN: r142676
2008-12-11 11:29:38 +00:00
Jakub Jelinek 329ad38002 re PR c++/38253 (g++.dg/ipa/iinline-1.C scan-ipa-dump inline fails on powerpc)
PR c++/38253
	* gimplify.c (gimplify_init_constructor): Don't force constructor
	into memory if there is just one nonzero element.

From-SVN: r142674
2008-12-11 10:15:17 +01:00
Sebastian Pop 81b822d5d0 Fix testsuite/gfortran.dg/graphite/id-4.f90.
2008-12-11  Sebastian Pop  <sebastian.pop@amd.com>

	Fix testsuite/gfortran.dg/graphite/id-4.f90.
	* graphite.c (scan_tree_for_params): Do not compute the multiplicand
	when not needed.

2008-12-11  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite.c (build_scops_1): Initialize open_scop.exit
	and sinfo.last.

2008-12-11  Sebastian Pop  <sebastian.pop@amd.com>
	    Jan Sjodin  <jan.sjodin@amd.com>
            Harsha Jagasia  <harsha.jagasia@amd.com>

	PR middle-end/37852
	PR middle-end/37883
	PR middle-end/37928
	PR middle-end/37980
	PR middle-end/38038
	PR middle-end/38039
	PR middle-end/38073
	PR middle-end/38083
	PR middle-end/38125

	* tree-phinodes.c (remove_phi_nodes): New, extracted from...
	* tree-cfg.c (remove_phi_nodes_and_edges_for_unreachable_block): ...here.
	* tree-flow.h (remove_phi_nodes, canonicalize_loop_ivs): Declared.
	* Makefile.in (graphite.o): Depend on value-prof.h.
	(graphite.o-warn): Removed -Wno-error.
	* tree-parloops.c (canonicalize_loop_ivs): Allow reduction_list 
	to be a NULL pointer.  Call update_stmt.  Return the newly created 
	cannonical induction variable.

	* graphite.h (debug_rename_map): Declared.  Fix some comments.

	* graphite.c: Reimplement the code generation from graphite to gimple.
	Include value-prof.h.
	(loop_iv_stack_get_iv): Do not return NULL for constant substitutions.
	(get_old_iv_from_ssa_name): Removed.
	(graphite_stmt_p): New.
	(new_graphite_bb): Test for useful statements before building a
	graphite statement for the basic block.
	(free_graphite_bb): Do not free GBB_DATA_REFS: this is a bug
	in free_data_ref that calls BITMAP_FREE (DR_VOPS (dr)) without 
	reason.
	(recompute_all_dominators, graphite_verify,
	nb_reductions_in_loop, graphite_loop_normal_form): New.
	(scop_record_loop): Call graphite_loop_normal_form.
	(build_scop_loop_nests): Iterate over all the blocks of the
	function instead of relying on the incomplete information from
	SCOP_BBS.  Return the success of the operation.
	(find_params_in_bb): Use the data from GBB_DATA_REFS.
	(add_bb_domains): Removed.
	(build_loop_iteration_domains): Don't call add_bb_domains.
	Add the iteration domain only to the basic blocks that have been
	translated to graphite.
	(build_scop_conditions_1): Add constraints only if the basic
	block have been translated to graphite.
	(build_scop_data_accesses): Completely disabled until data
	dependence is correctly implemented.
	(debug_rename_elt, debug_rename_map_1, debug_rename_map): New.
	(remove_all_edges_1, remove_all_edges): Removed.
	(get_new_name_from_old_name): New.
	(graphite_rename_variables_in_stmt): Renamed 
	rename_variables_in_stmt.  Call get_new_name_from_old_name.
	Use replace_exp	and update_stmt.
	(is_old_iv): Renamed is_iv.
	(expand_scalar_variables_stmt): Extra parameter for renaming map.
	Use replace_exp	and update_stmt.
	(expand_scalar_variables_expr): Same.  Use the map to get the
	new names for the renaming of induction variables and for the
	renaming of variables after a basic block has been copied.
	(expand_scalar_variables): Same.
	(graphite_rename_variables): Renamed rename_variables.
	(move_phi_nodes): Removed.
	(get_false_edge_from_guard_bb): New.
	(build_iv_mapping): Do not insert the induction variable of a
	loop in the renaming iv map if the basic block does not belong
	to that loop.
	(register_old_new_names, graphite_copy_stmts_from_block,
	copy_bb_and_scalar_dependences): New.
	(translate_clast): Heavily reimplemented: copy basic blocks,
	do not move them.  Finally, in call cleanup_tree_cfg in gloog.
	At each translation step call graphite_verify ensuring the 
	consistency of the SSA, loops and dominators information.
	(collect_virtual_phis, find_vdef_for_var_in_bb,
	find_vdef_for_var_1, find_vdef_for_var,
	patch_phis_for_virtual_defs): Removed huge hack.
	(mark_old_loops, remove_dead_loops, skip_phi_defs,
	collect_scop_exit_phi_args, patch_scop_exit_phi_args,
	gbb_can_be_ignored, scop_remove_ignoreable_gbbs, ): Removed.
	(remove_sese_region, ifsese, if_region_entry, if_region_exit,
	if_region_get_condition_block, if_region_set_false_region,
	create_if_region_on_edge, move_sese_in_condition, bb_in_sese_p,
	sese_find_uses_to_rename_use, sese_find_uses_to_rename_bb, 
	sese_add_exit_phis_edge, sese_add_exit_phis_var,
	rewrite_into_sese_closed_ssa): New.
	(gloog): Remove dead code.  Early return if code cannot be
	generated.  Call cleanup_tree_cfg once the scop has been code
	generated.
	(graphite_trans_scop_block, graphite_trans_loop_block): Do not 
	block loops with less than two loops.
	(graphite_apply_transformations): Remove the call to
	scop_remove_ignoreable_gbbs.
	(limit_scops): When build_scop_loop_nests fails, continue on next scop.
	Fix open_scop.entry.
	(graphite_transform_loops): Call recompute_all_dominators: force the
	recomputation of correct CDI_DOMINATORS and CDI_POST_DOMINATORS.
	Call initialize_original_copy_tables and free_original_copy_tables
	to be able to copy basic blocks during code generation.
	When build_scop_loop_nests fails, continue on next scop.
	(value_clast): New union.
	(clast_to_gcc_expression): Fix type cast warning.

2008-12-11  Sebastian Pop  <sebastian.pop@amd.com>

	* gcc.dg/graphite/pr37928.c: New.
	* gcc.dg/graphite/pr37883.c: New.
	* gcc.dg/graphite/pr38073.c: New.
	* gcc.dg/graphite/pr38125.c: New.
	* gfortran.dg/graphite/pr38083.f90: New.
	* gfortran.dg/graphite/pr37852.f90: New.
	* gfortran.dg/graphite/pr37980.f90: New.
	* gfortran.dg/graphite/id-2.f90: New.
	* gfortran.dg/graphite/id-4.f90: New.

	* gcc.dg/graphite/scop-18.c: Remove reduction, test for
	the number of detected scops.  Copy exact same test for loop blocking...
	* gcc.dg/graphite/block-1.c: Fix the number of expected loops
	to be blocked as reductions are not handled.
	* gcc.dg/graphite/block-4.c: ...here.  New.

From-SVN: r142673
2008-12-11 07:23:02 +00:00
Ira Rosen 564a6431e9 re PR tree-optimization/38464 (vect/costmodel/ppc/costmodel-slp-12.c fails to vectorize)
PR tree-optimization/38464
	* gcc.dg/vect/costmodel/ppc/costmodel-slp-12.c: Check that three
	loops are vectorized.

From-SVN: r142672
2008-12-11 07:13:47 +00:00
GCC Administrator ed2b3f0120 Daily bump.
From-SVN: r142666
2008-12-11 00:17:12 +00:00
Richard Guenther 24a3fbbea8 re PR tree-optimization/36792 (Revision 137631 causes many failures)
2008-12-10  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/36792
	* tree-ssa-pre.c (compute_avail): Handle tcc_comparison like
	tcc_binary.

From-SVN: r142662
2008-12-10 22:17:05 +00:00
Jason Merrill 07523e7c08 re PR c++/35319 (ICE throwing fixed-point types)
PR c++/35319
        * mangle.c (write_builtin_type): Add mangling for decimal floating
        point and fixed point types.
        (write_type): Pass FIXED_POINT_TYPE along.
        * cp-demangle.c (cplus_demangle_type): Support fixed-point types.
        (d_print_comp, d_dump): Likewise.

From-SVN: r142661
2008-12-10 17:11:44 -05:00
Daniel Berlin 615cb001bb re PR tree-optimization/36792 (Revision 137631 causes many failures)
2008-12-10  Daniel Berlin  <dberlin@dberlin.org>

	PR tree-optimization/36792
	* tree-ssa-pre.c (compute_avail): Don't insert defs into maximal
	set.

From-SVN: r142659
2008-12-10 20:13:39 +00:00
Alexandre Oliva db89a3be51 re PR target/37033 (Revision 138733 breaks -g vs -g0 for PCH)
gcc/ChangeLog:
PR target/37033
* dwarf2out.c (saved_do_cfi_asm): New.
(dwarf2out_do_frame): Take it into account.
(dwarf2out_d_cfi_asm): Likewise.  Set it when appropriate.
libcpp/ChangeLog:
PR target/37033
* pch.c (cpp_valid_state): Improve message for poisoned symbols.
Allow for differences in __GCC_HAVE_DWARF2_CFI_ASM.

From-SVN: r142652
2008-12-10 17:31:07 +00:00
Alexandre Oliva aee91ff0bd re PR middle-end/38271 (Spurious / missing "... used uninitialized in this function" warning)
gcc/ChangeLog:
PR middle-end/38271
* tree-sra.c (sra_build_bf_assignment): Avoid warnings for
variables initialized from SRAed bit fields.
gcc/testsuite/ChangeLog:
PR middle-end/38271
* gcc.dg/torture/pr38271.c: New.

From-SVN: r142651
2008-12-10 17:20:50 +00:00
Martin Guy 7ce8451d98 Martin Guy <martinwguy@yahoo.it> PR target/37668
Martin Guy <martinwguy@yahoo.it>
PR target/37668
* arm.c (arm_size_rtx_costs, case NEG): Don't fall through if the
result will be in an FPU register.

From-SVN: r142647
2008-12-10 14:57:18 +00:00
Ira Rosen 7f51c86c61 re PR tree-optimization/37416 (Failure to return number of loop iterations)
PR tree-optimization/37416
	* gcc.dg/vect/pr36630.c: Expect 1 vectorized loop.

From-SVN: r142643
2008-12-10 11:47:22 +01:00
Eric Botcazou 0462b9b502 re PR target/37170 (gcc.dg/weak/weak-1.c)
PR target/37170
	PR target/38448
	* final.c (output_addr_const) <SYMBOL_REF>: Call assemble_external
	on the associated SYMBOL_REF_DECL node, if any.

From-SVN: r142640
2008-12-10 08:46:40 +00:00
Uros Bizjak 53f37b01ef 20020919-1.c: Correct target selector to alpha*-*-*.
* gcc.dg/20020919-1.c: Correct target selector to alpha*-*-*.
	* gcc.dg/pr31866.c: Ditto.
	* gcc.dg/torture/type-generic-1.c: Add -mieee for alpha*-*-* targets.
	* g++.dg/torture/type-generic-1.C: Ditto.
	* gfortran.dg/boz_9.f90: Ditto.
	* gfortran.dg/boz_14.f90: Ditto.
	* gfortran.dg/init_flag_3.f90: Ditto.
	* gfortran.dg/init_flag_4.f90: Ditto.
	* gfortran.dg/init_flag_5.f90: Ditto.
	* gfortran.dg/integer_exponentiation_1.f90: Ditto.
	* gfortran.dg/integer_exponentiation_5.F90: Ditto.
	* gfortran.dg/isnan_1.f90: Ditto.
	* gfortran.dg/isnan_2.f90: Ditto.
	* gfortran.dg/module_nan.f90: Ditto.
	* gfortran.dg/nan_1.f90: Ditto.
	* gfortran.dg/nan_2.f90: Ditto.
	* gfortran.dg/nan_3.f90: Ditto.
	* gfortran.dg/nan_4.f90: Ditto.
	* gfortran.dg/namelist_42.f90: Ditto.
	* gfortran.dg/namelist_43.f90: Ditto.
	* gfortran.dg/nearest_1.f90: Ditto.
	* gfortran.dg/nearest_2.f90: Ditto.
	* gfortran.dg/nearest_3.f90: Ditto.
	* gfortran.dg/pr37243.f: Ditto.
	* gfortran.dg/real_const_3.f90: Ditto.
	* gfortran.dg/transfer_simplify_2.f90: Ditto.
	* gfortran.fortran-torture/execute/intrinsic_spacing.x: New file.

	* gfortran.dg/default_format_denormal_1.f90: XFAIL on alpha.

From-SVN: r142639
2008-12-10 08:49:40 +01:00
David Daney be3fbe5309 sync.md (sync_<optab>_12): Replace MIPS_SYNC_OP_12_NOT_NOP with MIPS_SYNC_OP_12_AND.
* config/mips/sync.md (sync_<optab>_12): Replace
	MIPS_SYNC_OP_12_NOT_NOP with MIPS_SYNC_OP_12_AND.
	(sync_old_<optab>_12): Remove third paramater to
	MIPS_SYNC_OLD_OP_12 macro, replace MIPS_SYNC_OLD_OP_12_NOT_NOP
	with MIPS_SYNC_OLD_OP_12_AND.
	(sync_new_<optab>_12): Replace MIPS_SYNC_NEW_OP_12_NOT_NOP
	with MIPS_SYNC_NEW_OP_12_AND.
	(sync_nand_12): Replace MIPS_SYNC_OP_12_NOT_NOT with
	MIPS_SYNC_OP_12_XOR, reduce length attribute to 40.
	(sync_old_nand_12): Remove third paramater to MIPS_SYNC_OLD_OP_12
	macro, replace MIPS_SYNC_OLD_OP_12_NOT_NOT with
	MIPS_SYNC_OLD_OP_12_XOR and reduce length attribute to 40.
	(sync_new_nand_12): Replace MIPS_SYNC_NEW_OP_12_NOT_NOT with
	MIPS_SYNC_NEW_OP_12_XOR.
	* config/mips/mips.h (MIPS_SYNC_OP_12, MIPS_SYNC_OP_12_NOT_NOP,
	MIPS_SYNC_OP_12_NOT_NOT,MIPS_SYNC_OLD_OP_12_NOT_NOP,
	MIPS_SYNC_OLD_OP_12_NOT_NOT, MIPS_SYNC_NEW_OP_12,
	MIPS_SYNC_NEW_OP_12_NOT_NOP, MIPS_SYNC_NEW_OP_12_NOT_NOT,
	MIPS_SYNC_NAND, MIPS_SYNC_OLD_NAND, MIPS_SYNC_NEW_NAND): Rewritten
	to implement new __sync_nand semantics.
	(MIPS_SYNC_OLD_OP_12): Implement new __sync_nand semantics, and
	remove third parameter.
	(MIPS_SYNC_OLD_OP_12_NOT_NOP_REG,
	MIPS_SYNC_OLD_OP_12_NOT_NOT_REG): Removed.
	(MIPS_SYNC_OP_12_NOT_NOP): Renamed to MIPS_SYNC_OP_12_AND.
	(MIPS_SYNC_OP_12_NOT_NOT): Renamed to MIPS_SYNC_OP_12_XOR.
	(MIPS_SYNC_OLD_OP_12_NOT_NOP): Renamed to MIPS_SYNC_OLD_OP_12_AND.
	(MIPS_SYNC_OLD_OP_12_NOT_NOT): Renamed to MIPS_SYNC_OLD_OP_12_XOR.
	(MIPS_SYNC_NEW_OP_12_NOT_NOP): Renamed to MIPS_SYNC_NEW_OP_12_AND.
	(MIPS_SYNC_NEW_OP_12_NOT_NOT): Renamed to MIPS_SYNC_NEW_OP_12_XOR

From-SVN: r142638
2008-12-10 05:08:50 +00:00
Tobias Grosser c34a77fd2f graphite.c (graphite_transform_loops): Always call find_transform () in ENABLE_CHECKING.
2008-12-09  Tobias Grosser  <grosser@fim.uni-passau.de>

	* graphite.c (graphite_transform_loops): Always call find_transform ()
	in ENABLE_CHECKING.  So we test these code paths, even if we do not
	generate code.

From-SVN: r142630
2008-12-10 01:24:44 +00:00
Mark Mitchell 88376272bd Fix typo in comment
From-SVN: r142629
2008-12-10 01:24:18 +00:00
Mark Mitchell 248e1b22b2 re PR c++/37971 (Rejects default argument that is a template via access failure)
PR c++/37971
	* class.c (resolve_address_of_overloaded_function): Check
	accessibility of member functions unless FLAGS indicates
	otherwise.
	* call.c (standard_conversion): Adjust flags passed to
	instantiate_type.
	(convert_default_arg): Do not perform access checks.
	* cp-tree.h (tsubst_flags_t): Add tf_no_access_control.

	PR c++/37971
	* g++.dg/overload/defarg2.C: New test.
	* g++.dg/overload/defarg3.C: Likewise.

From-SVN: r142628
2008-12-10 01:23:28 +00:00
Tobias Grosser 3725c2e302 graphite.c (print_graphite_bb): Fix printing to file != dump_file.
2008-12-09  Tobias Grosser  <grosser@fim.uni-passau.de>

	* graphite.c (print_graphite_bb): Fix printing to file != dump_file.

From-SVN: r142626
2008-12-10 00:35:51 +00:00
GCC Administrator 76d3363a5f Daily bump.
From-SVN: r142623
2008-12-10 00:17:19 +00:00
Jason Merrill 8afd015aab gimplify.c (gimplify_init_constructor): Revert to using < rather than <= for sparseness test.
* gimplify.c (gimplify_init_constructor): Revert to using < rather
        than <= for sparseness test.

From-SVN: r142618
2008-12-09 18:04:01 -05:00
Jakub Jelinek 0889e9bc68 re PR middle-end/38454 (memcpy folding breaks -D_FORTIFY_SOURCE=2 protection)
PR middle-end/38454
	* function.h (struct function): Add always_inline_functions_inlined.
	* ipa-inline.c (cgraph_early_inlining): Set it to true.
	* tree-optimize.c (execute_fixup_cfg): Likewise.
	* builtins.c (avoid_folding_inline_builtin): New function.
	(fold_call_expr): Don't optimize always_inline builtins before
	inlining.
	(fold_call_stmt): Likewise.
	(fold_builtin_call_array): Likewise.  Don't call
	fold_builtin_varargs for BUILT_IN_MD builtins.

	* gcc.dg/memset-1.c: New test.
	* gcc.dg/memcpy-2.c: New test.

From-SVN: r142617
2008-12-10 00:01:15 +01:00
Jakub Jelinek 218d1c24bb re PR tree-optimization/37416 (Failure to return number of loop iterations)
PR tree-optimization/37416
	* tree-scalar-evolution.c (follow_ssa_edge_in_rhs): Handle NOP_EXPR.

From-SVN: r142616
2008-12-09 23:47:20 +01:00
Janis Johnson e2f08cac7b * doc/sourcebuild.texi (Test Directives): Fix formatting.
From-SVN: r142611
2008-12-09 22:09:43 +00:00
Vladimir Makarov 7db7ed3cbd tm.texi (TARGET_IRA_COVER_CLASSES): Modify description.
2008-12-09  Vladimir Makarov  <vmakarov@redhat.com>

	* doc/tm.texi (TARGET_IRA_COVER_CLASSES): Modify description.

	* doc/invoke.texi (-fira-region): Describe new option.
	(-fira-algorithm): Change the values.

	* ira-conflicts.c (build_conflict_bit_table,
	build_allocno_conflicts): Use ira_reg_classes_intersect_p.
	(ira_build_conflicts): Use flag flag_ira_region instead of
	flag_ira_algorithm.  Prohibit usage of callee-saved likely spilled
	base registers for allocnos crossing calls.

	* flags.h (enum ira_algorithm): Redefine.
	(enum ira_region): New.
	(flag_ira_region): New.

	* cfgloopanal.c (estimate_reg_pressure_cost): Use flag_ira_region
	instead of flag_ira_algorithm.

	* toplev.c (flag_ira_algorithm): Change the initial value.
	(flag_ira_region): New.

	* ira-int.h (ira_reg_classes_intersect_p,
	ira_reg_class_super_classes): New.

	* ira-color.c (update_copy_costs): Use
	ira_reg_classes_intersect_p.  Use right class to find hard reg
	index.
	(update_conflict_hard_regno_costs): Ditto.  Add a new parameter.
	(assign_hard_reg): Ditto.  Pass additional argument to
	update_conflict_hard_regno_costs.  Do not uncoalesce for priority
	coloring.
	(allocno_priorities, setup_allocno_priorities,
	allocno_priority_compare_func): Move before color_allocnos.
	(color_allocnos): Add priority coloring.  Use flag flag_ira_region
	instead of flag_ira_algorithm.
	(move_spill_restore): Check classes of the same reg allocno from
	different regions.
	(update_curr_costs): Use ira_reg_classes_intersect_p.
	(ira_reassign_conflict_allocnos): Ditto.

	* opts.c (decode_options): Always set up flag_ira.  Set up
	flag_ira_algorithm.  Warn CB can not be used for architecture.
	(common_handle_option): Modify code for -fira-algorithm.  Add code
	to process -fira-region.

	* ira-lives.c (update_allocno_pressure_excess_length): Process
	superclasses too.
	(set_allocno_live, clear_allocno_live, mark_reg_live,
	mark_reg_dead, process_bb_node_lives): Ditto.

	* ira-emit.c (ira_emit): Fix insn codes.
	
	* ira-build.c (propagate_allocno_info): Use flag flag_ira_region
	instead of flag_ira_algorithm.
	(allocno_range_compare_func): Ignore classes for priority
	coloring.
	(setup_min_max_conflict_allocno_ids): Ditto.
	(ira_flattening): Use ira_reg_classes_intersect_p.

	* genpreds.c (write_enum_constraint_num): Output
	CONSTRAINT__LIMIT.
	
	* common.opt (fira-algorithm): Modify.
	(fira-region): New.

	* ira.c (setup_class_hard_regs): Initialize.
	(setup_cover_and_important_classes): Modify code setting class
	related info for priority coloring.
	(setup_class_translate): Ditto.
	(ira_reg_classes_intersect_p, ira_reg_class_super_classes): New.
	(setup_reg_class_intersect_union): Rename to
	setup_reg_class_relations.  Add code for setting up new variables.
	(find_reg_class_closure): Do not check targetm.ira_cover_classes.
	(ira): Use flag flag_ira_region instead of flag_ira_algorithm.

	* ira-costs.c (common_classes): New.
	(print_costs): Use flag flag_ira_region instead of
	flag_ira_algorithm.
	(find_allocno_class_costs): Ditto.  Use common_classes.  Translate
	alt_class.
	(ira_costs): Allocate/deallocate common_classes.
	
	* config/m32c/m32.h (REG_ALLOC_ORDER): Add reg 19.
	(REG_CLASS_CONTENTS, reg_class, REG_CLASS_NAMES): New entries for
	R02A_REGS.

	* reload1.c (choose_reload_regs): Use MODE_INT for partial ints in
	smallest_mode_for_size.

From-SVN: r142610
2008-12-09 21:25:11 +00:00
Ben Elliston 2e5d002a9e * config/rs6000/linux-unwind.h (get_regs): Constify casts.
From-SVN: r142609
2008-12-10 08:08:03 +11:00
Daniel Franke c907186351 re PR fortran/36376 (-cpp -save-temps passes unknown options to f951)
2008-12-09  Daniel Franke  <franke.daniel@gmail.com>

        PR fortran/36376
        PR fortran/37468
	* lang-specs.h: Pass on -i* options to f951 to (probably) report
        them as unknown. Duplicate gcc.c (cpp_options), but omit
        -fpch-preprocess on -save-temps.

From-SVN: r142608
2008-12-09 14:53:02 -05:00
Daniel Franke c328064352 re PR fortran/36457 (preprocessing: option -idirafter undefined for fortran)
2008-12-09  Daniel Franke  <franke.daniel@gmail.com>

        PR fortran/36457
        * lang.opt: Added option idirafter.
        * cpp.h (gfc_cpp_add_include_path_after): New prototype.
	* cpp.c (gfc_cpp_handle_option): Recognize and handle OPT_dirafter.
        (gfc_cpp_add_include_path_after): New, adds user-defined search path
        after any other paths.
        * invoke.texi (idirafter): New.
        (no-range-check): Fixed entry in option-index.

From-SVN: r142607
2008-12-09 14:25:55 -05:00
Mikael Morin 138b3340e6 re PR fortran/37469 (invalid GMP usage on gfortran.dg/parameter_array_init_3.f90)
2008-12-09  Mikael Morin  <mikael.morin@tele2.fr>

	PR fortran/37469
	* expr.c (find_array_element): Simplify array bounds.
	Assert that both bounds are constant expressions.

From-SVN: r142606
2008-12-09 19:20:18 +00:00
Mikael Morin fe7a047c75 re PR fortran/35983 (C_LOC in derived type constructor gives weird result)
2008-12-09  Mikael Morin  <mikael.morin@tele2.fr>

	PR fortran/35983
	* trans-expr.c (gfc_trans_subcomponent_assign):
	Add se's pre and post blocks to current block.
	(gfc_trans_structure_assign): Remove specific handling
	of C_NULL_PTR and C_NULL_FUNPTR.

2008-12-09  Mikael Morin  <mikael.morin@tele2.fr>

	PR fortran/35983
	* gfortran.dg/pr35983.f90: New test.

From-SVN: r142605
2008-12-09 19:12:27 +00:00
H.J. Lu b922b5ae32 re PR testsuite/38420 (gcc.target/i386/pr37248-2.c doesn't work on ia32)
2008-12-09  H.J. Lu  <hongjiu.lu@intel.com>

	PR testsuite/38420
	* gcc.target/i386/pr37248-2.c: Support hex dump on 32bit host.
	* gcc.target/i386/pr37248-3.c: Likewise.

From-SVN: r142601
2008-12-09 09:38:09 -08:00
Jan Hubicka 0e7f7d876b * predict.c (estimate_bb_frequencies): Fix test if profile is present.
From-SVN: r142600
2008-12-09 17:04:26 +00:00