Commit Graph

110540 Commits

Author SHA1 Message Date
Aldy Hernandez
fa8a398ea9 re PR middle-end/49875 (FAIL: c-c++-common/cxxbitfields-4.c)
PR middle-end/49875
        * c-c++-common/cxxbitfields-4.c: Check for smaller than long
        moves.
        * c-c++-common/cxxbitfields-5.c: Same.

From-SVN: r176848
2011-07-27 19:51:04 +00:00
Paolo Carlini
fa45990097 re PR c++/49813 ([C++0x] sinh vs asinh vs constexpr)
2011-07-27  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/49813
	* include/c_global/cmath: Use _GLIBCXX_CONSTEXPR and constexpr.

From-SVN: r176847
2011-07-27 19:33:51 +00:00
Ulrich Weigand
a5f9523c7c target-supports.exp (check_effective_target_mmap): Use check_function_available.
* lib/target-supports.exp (check_effective_target_mmap): Use
	check_function_available.

From-SVN: r176846
2011-07-27 19:01:23 +00:00
Jeffrey Yasskin
ce77c22f1b Propagate the source location of a template's function_decl to the template_decl built out of it.
Propagate the source location of a template's function_decl to the
template_decl built out of it.  Without this, specializations
generated before the template was defined get the location of the
closing ')' instead of the location of the template's name, which can
produce inconsistent locations between translation units, which makes
gold's ODR checker unhappy.

	* gcc/cp/pt.c (build_template_decl): Copy the function_decl's source
	location to the new template_decl.
	* gcc/testsuite/g++.old-deja/g++.pt/crash60.C: Updated.
	* libstdc++-v3/testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Updated.

From-SVN: r176845
2011-07-27 18:38:48 +00:00
Jakub Jelinek
f22cfb2e4e re PR target/49866 (-mcmodel=large tail call fails to assemble)
PR target/49866
	* gcc.target/i386/pr49866.c: New test.

From-SVN: r176842
2011-07-27 20:19:40 +02:00
Yukhin Kirill
084e45a515 Add BMI testcases.
2011-07-27  Yukhin Kirill  <kirill.yukhin@intel.com>

	* gcc.target/i386/i386.exp (check_effective_target_bmi): New.
	* gcc.target/i386/bmi-andn-1.c: New test.
	* gcc.target/i386/bmi-andn-1a.c: Likewise.
	* gcc.target/i386/bmi-andn-2.c: Likewise.
	* gcc.target/i386/bmi-andn-2a.c: Likewise.
	* gcc.target/i386/bmi-bextr-1.c: Likewise.
	* gcc.target/i386/bmi-bextr-1a.c: Likewise.
	* gcc.target/i386/bmi-bextr-2.c: Likewise.
	* gcc.target/i386/bmi-bextr-2a.c: Likewise.
	* gcc.target/i386/bmi-blsi-1.c: Likewise.
	* gcc.target/i386/bmi-blsi-1a.c: Likewise.
	* gcc.target/i386/bmi-blsi-2.c: Likewise.
	* gcc.target/i386/bmi-blsi-2a.c: Likewise.
	* gcc.target/i386/bmi-blsmsk-1.c: Likewise.
	* gcc.target/i386/bmi-blsmsk-1a.c: Likewise.
	* gcc.target/i386/bmi-blsmsk-2.c: Likewise.
	* gcc.target/i386/bmi-blsmsk-2a.c: Likewise.
	* gcc.target/i386/bmi-blsr-1.c: Likewise.
	* gcc.target/i386/bmi-blsr-1a.c: Likewise.
	* gcc.target/i386/bmi-blsr-2.c: Likewise.
	* gcc.target/i386/bmi-blsr-2a.c: Likewise.
	* gcc.target/i386/bmi-tzcnt-1.c: Likewise.
	* gcc.target/i386/bmi-tzcnt-1a.c: Likewise.
	* gcc.target/i386/bmi-tzcnt-2.c: Likewise.
	* gcc.target/i386/bmi-tzcnt-2a.c: Likewise.

From-SVN: r176840
2011-07-27 10:45:41 -07:00
Sebastian Pop
3689198db0 Fix PR49471: canonicalize_loop_ivs should not generate unsigned types.
2011-07-27  Sebastian Pop  <sebastian.pop@amd.com>

	PR tree-optimization/49471
	* tree-ssa-loop-manip.c (canonicalize_loop_ivs): Build an unsigned
	iv only when the largest type is unsigned.  Do not call
	lang_hooks.types.type_for_size.

	* testsuite/libgomp.graphite/force-parallel-1.c: Un-xfail.
	* testsuite/libgomp.graphite/force-parallel-2.c: Adjust pattern.

From-SVN: r176838
2011-07-27 16:53:09 +00:00
Sebastian Pop
27165eddf6 PR45450: disable legality check after an openscop read
2011-07-27  Sebastian Pop  <sebastian.pop@amd.com>

	PR middle-end/45450
	* graphite-poly.c (apply_poly_transforms): Disable legality check
	after an openscop read.

From-SVN: r176837
2011-07-27 16:53:02 +00:00
Sebastian Pop
bd4a54da00 Fix PR47691: do not abort compilation when code generation fails
2011-07-27  Sebastian Pop  <sebastian.pop@amd.com>

	PR middle-end/47691
	* graphite-clast-to-gimple.c (translate_clast_user): Update use of
	copy_bb_and_scalar_dependences.
	* sese.c (rename_uses): Do not call gcc_assert.  Set gloog_error.
	(graphite_copy_stmts_from_block): Update call to rename_uses.
	(copy_bb_and_scalar_dependences): Update call to
	graphite_copy_stmts_from_block.
	* sese.h (copy_bb_and_scalar_dependences): Update declaration.

	* gfortran.dg/graphite/id-pr47691.f: New.

From-SVN: r176836
2011-07-27 16:52:52 +00:00
Georg-Johann Lay
04c9ea12e0 re PR target/49313 (Inefficient libgcc implementations for avr)
PR target/49313
	* config/avr/libgcc.S (__ffshi2): Don't skip 2-word instruction.
	(__ctzsi2): Result for 0 may be undefined.
	(__ctzhi2): Result for 0 may be undefined.
	(__popcounthi2): Don't clobber r30. Use __popcounthi2_tail.
	(__popcountsi2): Ditto. And don't clobber r26.
	(__popcountdi2): Ditto. And don't clobber r27.
	* config/avr/avr.md (UNSPEC_COPYSIGN): New c_enum.
	(parityhi2): New expand.
	(paritysi2): New expand.
	(popcounthi2): New expand.
	(popcountsi2): New expand.
	(clzhi2): New expand.
	(clzsi2): New expand.
	(ctzhi2): New expand.
	(ctzsi2): New expand.
	(ffshi2): New expand.
	(ffssi2): New expand.
	(copysignsf3): New insn.
	(bswapsi2): New expand.
	(*parityhi2.libgcc): New insn.
	(*parityqihi2.libgcc): New insn.
	(*paritysihi2.libgcc): New insn.
	(*popcounthi2.libgcc): New insn.
	(*popcountsi2.libgcc): New insn.
	(*popcountqi2.libgcc): New insn.
	(*popcountqihi2.libgcc): New insn-and-split.
	(*clzhi2.libgcc): New insn.
	(*clzsihi2.libgcc): New insn.
	(*ctzhi2.libgcc): New insn.
	(*ctzsihi2.libgcc): New insn.
	(*ffshi2.libgcc): New insn.
	(*ffssihi2.libgcc): New insn.
	(*bswapsi2.libgcc): New insn.

From-SVN: r176835
2011-07-27 16:39:13 +00:00
Uros Bizjak
479a49210d i386.c (ix86_expand_move): Do not explicitly check the mode of symbolic_opreand RTXes.
* config/i386/i386.c (ix86_expand_move): Do not explicitly check
	the mode of symbolic_opreand RTXes.

From-SVN: r176834
2011-07-27 18:21:18 +02:00
Uros Bizjak
7aecd4e895 predicates.md (x86_64_movabs_operand): Reject pic32_bit_operand operands.
* config/i386/predicates.md (x86_64_movabs_operand): Reject
	pic32_bit_operand operands.
	* config/i386/i386.c (ix86_expand_move): Check x86_64_movabs_operand
	in DImode.

From-SVN: r176833
2011-07-27 18:16:42 +02:00
Uros Bizjak
5019a14eee avx-os-support.h: New.
* gcc.target/i386/avx-os-support.h: New.
	* gcc.target/i386/avx-check.h: Include avx-os-support.h
	(main): Check avx_os_support before the test is run.
	* gcc.target/i386/aes-avx-check.h: Ditto.
	* gcc.target/i386/pclmul-avx-check.h: Ditto.

From-SVN: r176829
2011-07-27 17:39:58 +02:00
Kai Tietz
2fe83a0c9f i386.c (ix86_option_override_internal): Allow -mabi for 32-bit, too.
* config/i386/i386.c (ix86_option_override_internal): Allow -mabi
        for 32-bit, too.
        (ix86_handle_abi_attribute): Allow function attributes
        ms_abi/sysv_abi in 32-bit mode, too.
        * doc/extend.texi: Adjust attribute documentation.

        * gcc.target/i386/aggregate-ret3.c: New test.
        * gcc.target/i386/aggregate-ret4.c: New test.

From-SVN: r176828
2011-07-27 17:33:50 +02:00
Kai Tietz
eb9820c0a3 gimple-fold.c (or_comparisons_1): Remove TRUTH_AND/OR expression handling.
2011-07-27  Kai Tietz  <ktietz@redhat.com>

        * gimple-fold.c (or_comparisons_1): Remove TRUTH_AND/OR
        expression handling.
        (and_var_with_comparison_1): Likewise.

From-SVN: r176827
2011-07-27 16:59:40 +02:00
Aldy Hernandez
1169e45d27 params.h (ALLOW_STORE_DATA_RACES): New.
* params.h (ALLOW_STORE_DATA_RACES): New.
	* params.def (PARAM_ALLOW_STORE_DATA_RACES): New.
	* Makefile.in (expr.o): Depend on PARAMS_H.
	* machmode.h (get_best_mode): Add argument.
	* fold-const.c (optimize_bit_field_compare): Add argument to
	get_best_mode.
	(fold_truthop): Same.
	* ifcvt.c (noce_emit_move_insn): Add argument to store_bit_field.
	* expr.c (emit_group_store): Same.
	(copy_blkmode_from_reg): Same.
	(write_complex_part): Same.
	(optimize_bitfield_assignment_op): Add argument.
	Add argument to get_best_mode.
	(get_bit_range): New.
	(expand_assignment): Calculate maxbits and pass it down
	accordingly.
	(store_field): New argument.
	(expand_expr_real_2): New argument to store_field.
	Include params.h.
	* expr.h (store_bit_field): New argument.
	* stor-layout.c (get_best_mode): Restrict mode expansion by taking
	into account maxbits.
	* calls.c (store_unaligned_arguments_into_pseudos): New argument
	to store_bit_field.
	* expmed.c (store_bit_field_1): New argument.  Use it.
	(store_bit_field): Same.
	(store_fixed_bit_field): Same.
	(store_split_bit_field): Same.
	(extract_bit_field_1): Pass new argument to get_best_mode.
	(extract_bit_field): Same.
	* stmt.c (store_bit_field): Pass new argument to store_bit_field.
	* doc/invoke.texi: Document parameter allow-store-data-races.

From-SVN: r176824
2011-07-27 13:22:09 +00:00
Daniel Carrera
4f13e17fff re PR fortran/49755 (ALLOCATE with STAT= produces invalid code for already allocated vars)
2011-07-26  Daniel Carrera  <dcarrera@gmail.com>

	PR fortran/49755
	* trans.c (gfc_allocate_using_malloc): Change function signature.
	Return nothing. New parameter "pointer". Eliminate temorary variables.
	(gfc_allocate_using_lib): Ditto.
	(gfc_allocate_allocatable): Ditto. Update call to gfc_allocate_using_lib
	and gfc_allocate_using_malloc. Do not free and then reallocate a
	variable that is already allocated.
	(gfc_likely): New function. Basedon gfc_unlikely.
	* trans-array.c (gfc_array_init_size): New parameter "descriptor_block".
	Instructions to modify the array descriptor are stored in this block
	while other instructions continue to be stored in "pblock".
	(gfc_array_allocate): Update call to gfc_array_init_size. Move the
	descriptor_block so that the array descriptor is only updated if
	the array was allocated successfully.
	Update calls to gfc_allocate_allocatable and gfc_allocate_using_malloc.
	* trans.h (gfc_allocate_allocatable): Change function signature.
	Function now returns void.
	(gfc_allocate_using_lib): Ditto, and new function parameter.
	(gfc_allocate_using_malloc): Ditto.
	* trans-openmp.c (gfc_omp_clause_default_ctor,
	gfc_omp_clause_copy_ctor,gfc_trans_omp_array_reduction): Replace a call
	to gfc_allocate_allocatable with gfc_allocate_using_malloc.
	* trans-stmt.c (gfc_trans_allocate): Update function calls for
	gfc_allocate_allocatable and gfc_allocate_using_malloc.



2011-07-26  Daniel Carrera  <dcarrera@gmail.com>

	PR fortran/49755
	* gfortran.dg/multiple_allocation_1.f90: Fix test. Allocating an
	allocated array should *not* change its size.
	* gfortran.dg/multiple_allocation_3.f90: New test.

From-SVN: r176822
2011-07-27 10:10:06 +00:00
Jakub Jelinek
7bbdd4e9c3 dwarf2out.c (output_macinfo_op): Ensure fd->filename points to GC allocated copy of the string.
* dwarf2out.c (output_macinfo_op): Ensure fd->filename points
	to GC allocated copy of the string.
	(dwarf2out_finish): Emit .debug_macinfo or .debug_macro sections
	before .debug_line, not after it.

From-SVN: r176819
2011-07-27 11:36:25 +02:00
Kai Tietz
aebf4828b8 tree-vrp.c (extract_range_from_binary_expr): Remove TRUTH-binary cases and add new bitwise-cases.
2011-07-27  Kai Tietz  <ktietz@redhat.com>

        * tree-vrp.c (extract_range_from_binary_expr): Remove
        TRUTH-binary cases and add new bitwise-cases.
        (extract_range_from_assignment): Likewise.
        (register_edge_assert_for_1): Likeiwise.
        (register_edge_assert_for): Likewise.
        (simplify_truth_ops_using_ranges): Likewise.
        (simplify_stmt_using_ranges): Likewise.

From-SVN: r176818
2011-07-27 11:21:06 +02:00
GCC Administrator
d2a99e8756 Daily bump.
From-SVN: r176816
2011-07-27 00:18:47 +00:00
H.J. Lu
65ceed3601 Call simplify_gen_subreg for PIC with mode of x.
2011-07-26  H.J. Lu  <hongjiu.lu@intel.com>

	PR target/47372
	* config/i386/i386.c (ix86_delegitimize_address): Call
	simplify_gen_subreg for PIC with mode of x only if modes of
	x and orig_x are different.

From-SVN: r176812
2011-07-26 14:43:57 -07:00
Jakub Jelinek
b56bc05b9f dwarf2out.c (output_macinfo_op): Ensure fd->filename points to GC allocated copy of the string.
* dwarf2out.c (output_macinfo_op): Ensure fd->filename points
	to GC allocated copy of the string.
	(dwarf2out_finish): Emit .debug_macinfo or .debug_macro sections
	before .debug_line, not after it.

From-SVN: r176811
2011-07-26 23:12:39 +02:00
Paolo Carlini
625f85e91b re PR c++/49776 ([C++0x]ICE in build_data_member_initialization, at cp/semantics.c:5499)
/cp
2011-07-26  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/49776
	* typeck.c (cp_build_modify_expr): Check digest_init return value
	for error_mark_node.

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

	PR c++/49776
	* g++.dg/cpp0x/constexpr-49776.C: New.

From-SVN: r176809
2011-07-26 20:00:31 +00:00
Sebastian Pop
bce26def59 Fix PR47046: correct evolution_function_is_affine_p
"Bug 47046 - gcc.target/i386/sse4_1-movntdqa.c ICEs with -fgraphite-identity"

The problem here is that we are left with the following code to be
translated in the new representation following the transform that
Graphite has chosen:

        D.2709_14 = j_33 * i_32;
        D.2710_15 = D.2709_14 * i_32;
        D.2711_16 = D.2710_15 * sign_34;
        *D.2708_13 = D.2711_16;

In this particular case we have a nonlinear expression "i * i" for
which we have to generate code following the new graphite_iv variables.

The patch fixes the function that detects whether we are passing non
linear stuff to graphite: evolution_function_is_affine_p.  It seems
like for the moment evolution_function_is_affine_p is testing whether
an evolution function is affine only in the innermost loop, without
looking recursively at what happens in outer loops.

The chrec for this case is: {0, +, {0, +, {1, +, 2}_1}_1}_2 and we are
testing whether the evolution is affine only for the loop_2, which is
true as we have {0, +, blah}_2 with blah invariant in loop_2.

The patch adds the recursive call to evolution_function_is_affine_p.

Bootstrapped and tested on amd64-linux.

2011-07-26  Sebastian Pop  <sebastian.pop@amd.com>

	PR middle-end/47046
	* tree-chrec.h (evolution_function_is_affine_p): Recursively call
	evolution_function_is_affine_p on CHREC_RIGHT.

	* gcc.dg/graphite/id-pr47046.c: New.

From-SVN: r176805
2011-07-26 18:48:49 +00:00
Sebastian Pop
5f72e02dd8 Avoid use of lang_hooks.types.type_for_size.
2011-07-26  Sebastian Pop  <sebastian.pop@amd.com>

	* tree-data-ref.c (max_stmt_executions_tree): Do not call
	lang_hooks.types.type_for_size.

From-SVN: r176804
2011-07-26 18:48:33 +00:00
Sebastian Pop
7e806cfabd Add testcase for PR47593
2011-07-26  Sebastian Pop  <sebastian.pop@amd.com>

	PR middle-end/47653
	* gcc.dg/graphite/run-id-pr47593.c: New.

From-SVN: r176803
2011-07-26 18:48:20 +00:00
Sebastian Pop
cbc1994b2f Fix PR47653: do not handle loops using wrapping semantics in graphite
2011-07-26  Sebastian Pop  <sebastian.pop@amd.com>

	PR middle-end/47653
	* graphite-scop-detection.c (graphite_can_represent_loop): Discard
	loops using wrapping semantics.

	* gcc.dg/graphite/run-id-pr47653.c: New.
	* gcc.dg/graphite/interchange-3.c: Do not use unsigned types for
	induction variables.
	* gcc.dg/graphite/scop-16.c: Same.
	* gcc.dg/graphite/scop-17.c: Same.
	* gcc.dg/graphite/scop-21.c: Same.

From-SVN: r176802
2011-07-26 18:48:08 +00:00
Sebastian Pop
4c7d675552 Fix PR48805: Do not instantiate ADDR_EXPRs
With this patch we avoid instantiating ADDR_EXPR: it makes no sense
to translate &b[i] into &b[{0, +, 1}_1].

Bootstrapped and tested on amd64-linux.

2011-07-26  Sebastian Pop  <sebastian.pop@amd.com>

	PR middle-end/48805
	* tree-scalar-evolution.c (instantiate_scev_r): Return
	chrec_dont_know for ADDR_EXPR.

	* gcc.dg/graphite/id-pr48805.c: New.

From-SVN: r176801
2011-07-26 18:47:44 +00:00
Ian Lance Taylor
bf03b9ffec configure.ac: Set have_compiler based on whether gcc directory exists...
* configure.ac: Set have_compiler based on whether gcc directory
	exists, rather than on whether gcc is in configdirs.
	* configure: Rebuild.

From-SVN: r176800
2011-07-26 18:44:11 +00:00
Uros Bizjak
e207e41f47 re PR target/47369 ([x32] internal compiler error: in extract_insn, at recog.c:2109)
PR target/47369
	PR target/49853
	* config/i386/i386.c (ix86_expand_move): Call convert_to_mode
	if legitimize_tls_address returned operand in wrong mode. Allow
	SImode and DImode symbolic operand for PIC.  Call convert_to_mode
	if legitimize_pic_address returned operand in wrong mode.


Co-Authored-By: H.J. Lu <hongjiu.lu@intel.com>

From-SVN: r176798
2011-07-26 20:03:54 +02:00
Martin Jambor
842eeb9b72 tree-sra.c (tree_non_mode_aligned_mem_p): Strip conversions and return false for invariants.
2011-07-26  Martin Jambor  <mjambor@suse.cz>

	* tree-sra.c (tree_non_mode_aligned_mem_p): Strip conversions and
	return false for invariants.

From-SVN: r176797
2011-07-26 19:21:21 +02:00
H.J. Lu
52bed4d7ee Remove an extra line.
2011-07-26  H.J. Lu  <hongjiu.lu@intel.com>

	* testsuite/demangle-expected: Remove an extra line.

From-SVN: r176796
2011-07-26 10:07:51 -07:00
Uros Bizjak
98d2c0ad6e i386.md (add->lea splitter): Implement using SWI mode iterator.
* config/i386/i386.md (add->lea splitter): Implement using SWI
	mode iterator.  Change operand 2 predicate to <nonmemory_operand>.
	(add->lea zext splitter): Change operand 2 predicate to
	x86_64_nonmemory_operand.

From-SVN: r176795
2011-07-26 18:04:53 +02:00
Richard Guenther
c21510a9f1 predict.c (maybe_hot_frequency_p): Make sure a zero entry-block frequency makes everything hot.
2011-07-26  Richard Guenther  <rguenther@suse.de>

	* predict.c (maybe_hot_frequency_p): Make sure a zero entry-block
	frequency makes everything hot.

From-SVN: r176794
2011-07-26 15:44:50 +00:00
Ian Lance Taylor
f2e6f32e60 cp-demangle.c (d_print_init): Initialize pack_index field.
* cp-demangle.c (d_print_init): Initialize pack_index field.
	(d_print_comp): Check for NULL template argument.
	* testsuite/demangle-expected: Add test case.

From-SVN: r176791
2011-07-26 14:28:23 +00:00
Richard Guenther
9f61fd1747 re PR middle-end/49840 (New test failures)
2011-07-26  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/49840
	* tree-vrp.c (range_fits_type_p): Properly handle full
	double-int precision.

From-SVN: r176790
2011-07-26 12:37:00 +00:00
Martin Jambor
5bf3d50db7 re PR bootstrap/49786 (bootstrap failed with bootstrap-profiled)
2011-07-26  Martin Jambor  <mjambor@suse.cz>

	PR bootstrap/49786
	* ipa-cp.c (update_profiling_info): Avoid overflow when updating
	counts.
	(update_specialized_profile): Likewise.

From-SVN: r176789
2011-07-26 14:26:58 +02:00
Uros Bizjak
536e3f497e re PR target/47381 ([x32] internal compiler error: in gen_lowpart_general, at rtlhooks.c:59)
PR target/47381
	PR target/49832
	PR target/49833
	* config/i386/i386.md (i): Change SImode attribute to "e".
	(g): Change SImode attribute to "rme".
	(di): Change SImode attribute to "nF".
	(general_operand): Change SImode attribute to x86_64_general_operand.
	(general_szext_operand): Change SImode attribute to
	x86_64_szext_general_operand.
	(immediate_operand): Change SImode attribute to
	x86_64_immediate_operand.
	(nonmemory_operand): Change SImode attribute to
	x86_64_nonmemory_operand.
	(*movdi_internal_rex64): Remove mode from pic_32bit_operand check.
	(*movsi_internal): Ditto.  Use "e" constraint in alternative 2.
	(*lea_1): Use SWI48 mode iterator.
	(*lea_1_zext): New insn pattern.
	(testsi_ccno_1): Use x86_64_nonmemory_operand predicate for operand 2.
	(*bt<mode>): Ditto.
	(*add<mode>1): Use x86_64_general_operand predicate for operand 2.
	Update operand constraints.
	(addsi_1_zext): Ditto.
	(*add<mode>2): Ditto.
	(*addsi_3_zext): Ditto.
	(*subsi_1_zext): Ditto.
	(*subsi_2_zext): Ditto.
	(*subsi_3_zext): Ditto.
	(*addsi3_carry_zext): Ditto.
	(*<plusminus_insn>si3_zext_cc_overflow): Ditto.
	(*mulsi3_1_zext): Ditto.
	(*andsi_1): Ditto.
	(*andsi_1_zext): Ditto.
	(*andsi_2_zext): Ditto.
	(*<any_or:code>si_1_zext): Ditto.
	(*<any_or:code>si_2_zext): Ditto.
	(*test<mode>_1): Use <general_operand> predicate for operand 1.
	(*and<mode>_2): Ditto.
	(mov<mode>cc): Use  <general_operand> predicate for operands 1 and 2.
	(add->lea splitter): Check operand modes in insn constraint.  Extend
	operands less than SImode wide to SImode.
	(add->lea zext splitter): Do not extend input operands to DImode.
	(*lea_general_1): Handle only QImode and HImode operands.
	(*lea_general_2): Ditto.
	(*lea_general_3): Ditto.
	(*lea_general_1_zext): Remove.
	(*lea_general_2_zext): Ditto.
	(*lea_general_3_zext): Ditto.
	(*lea_general_4): Check operand modes in insn constraint.  Extend
	operands less than SImode wide to SImode.
	(ashift->lea splitter): Ditto.
	* config/i386/i386.c (ix86_print_operand_address): Print address
	registers with 'q' modifier on 64bit targets.
	* config/i386/predicates.md (pic_32bit_opreand): Define as special
	predicate.  Reject non-SI and non-DI modes.

From-SVN: r176788
2011-07-26 14:00:33 +02:00
Tobias Burnus
af232d48a7 trans-array.c (CAF_TOKEN_FIELD): New macro constant.
2011-07-26  Tobias Burnus  <burnus@net-b.de>

        * trans-array.c (CAF_TOKEN_FIELD): New macro constant.
        (gfc_conv_descriptor_token): New function.
        * trans-array.h (gfc_conv_descriptor_token): New prototype.
        * trans-types.c (gfc_get_array_descriptor_base): For coarrays
        with -fcoarray=lib, append "void *token" to the array descriptor.
        (gfc_array_descriptor_base_caf): New static variable.
        * trans-expr.c (gfc_conv_procedure_call): Handle token and
        * offset
        when passing a descriptor coarray to a nondescriptor dummy.

2011-07-26  Tobias Burnus  <burnus@net-b.de>

        * gfortran.dg/coarray_lib_token_2.f90: New.

From-SVN: r176784
2011-07-26 09:30:37 +02:00
Ira Rosen
335d2e3964 vect-70.c: Reduce the data size to fit SPU local store.
* gcc.dg/vect/vect-70.c: Reduce the data size to fit
	SPU local store.

From-SVN: r176783
2011-07-26 07:00:45 +00:00
Andrew Pinski
0de204de65 re PR middle-end/49671 (volatile goes missing after inlining)
2011-07-25  Andrew Pinski  <apinski@cavium.com>

	PR tree-opt/49671
	* tree-inline.c (remap_gimple_op_r): Copy TREE_THIS_VOLATILE and
	TREE_THIS_NOTRAP into the inner most MEM_REF.
	Always copy TREE_THIS_VOLATILE.
	* tree-sra.c (ptr_parm_has_direct_uses): Check that the lhs, rhs and
	arguments are not volatile references.

2011-07-25  Andrew Pinski  <apinski@cavium.com>

	PR tree-opt/49671
	* gcc.dg/tree-ssa/pr49671-1.c: New testcase.
	* gcc.dg/tree-ssa/pr49671-2.c: New testcase.

From-SVN: r176782
2011-07-25 22:28:45 -07:00
Benjamin Kosnik
9bc13c238d array (at): Remove constexpr when -fno-exceptions.
2011-07-25  Benjamin Kosnik  <bkoz@redhat.com>

	* include/std/array (at): Remove constexpr when -fno-exceptions.
	* testsuite/23_containers/array/at_neg.cc: Test.

From-SVN: r176780
2011-07-26 04:21:57 +00:00
Richard Henderson
104fcc7aec insn-notes.def (NOTE_INSN_CFA_RESTORE_STATE): Remove.
* insn-notes.def (NOTE_INSN_CFA_RESTORE_STATE): Remove.
        * final.c (final_scan_insn): Don't test for it.
        (rest_of_clean_state): Likewise.

From-SVN: r176779
2011-07-25 17:57:55 -07:00
GCC Administrator
dfaf9f0ab3 Daily bump.
From-SVN: r176778
2011-07-26 00:18:37 +00:00
Richard Henderson
c24a67383e re PR debug/49841 (AIX bootstrap failure in dwarf2cfi.c:maybe_record_trace_start)
PR debug/49841
	* config/rs6000/rs6000.c (rs6000_frame_related): Return the insn.
	(emit_frame_save): Likewise.
	(rs6000_emit_prologue): Move the FRAME_RELATED_EXPR from the save
	insn onto a dummy blockage insn after the join label.

From-SVN: r176773
2011-07-25 15:53:25 -07:00
Richard Henderson
200e10dc9b dwarf2cfi: Generate remember/restore_state.
From-SVN: r176772
2011-07-25 15:41:17 -07:00
Richard Henderson
a5d0ce8935 dwarf2cfi: Add debug_cfi_row.
From-SVN: r176771
2011-07-25 15:35:13 -07:00
Joern Rennecke
c344a86637 genattr.c (write_upcase, [...]): Move to ...
* genattr.c (write_upcase, gen_attr <enum definition writing>):
        Move to ...
        * genattr-common.c ... here.
        (main): Call gen_attr.
        * optc-gen.awk: Make generated program include insn-attr-common.h .
        * Makefile.in (oprions.o): Depend on insn-attr-common.h

From-SVN: r176769
2011-07-25 22:32:56 +01:00
Paolo Carlini
b97927a4e9 re PR bootstrap/49845 (bootstrap failure)
2011-07-25  Paolo Carlini  <paolo.carlini@oracle.com>

	PR bootstrap/49845
	* parser.c (cp_parser_perform_range_for_lookup): Always assign *being
	and *end before returning.

From-SVN: r176765
2011-07-25 17:50:13 +00:00
Anatoly Sokolov
4645179ecb m32c.h (PRINT_OPERAND, [...]): Remove macro.
* config/m32c/m32c.h (PRINT_OPERAND, PRINT_OPERAND_ADDRESS,
	PRINT_OPERAND_PUNCT_VALID_P): Remove macro.
	* config/m32c/m32c-protos.h (m32c_print_operand_punct_valid_p,
	m32c_print_operand, m32c_print_operand_address): Remove.
	* config/m32c/m32c.c (m32c_print_operand_punct_valid_p): Make static.
	Change return type to bool. Change argument type to bool.
	(m32c_print_operand, m32c_print_operand_address): Make static.
	(TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS,
	TARGET_PRINT_OPERAND_PUNCT_VALID_P): Define.

From-SVN: r176763
2011-07-25 21:46:07 +04:00