Commit Graph

111278 Commits

Author SHA1 Message Date
GCC Administrator
851018fb85 Daily bump.
From-SVN: r178129
2011-08-27 00:18:32 +00:00
Uros Bizjak
734dfb474f i386.c (ix86_build_const_vector): Rewrite using loop with RTVEC_ELT accessor.
* config/i386/i386.c (ix86_build_const_vector): Rewrite using loop
	with RTVEC_ELT accessor.

From-SVN: r178124
2011-08-26 22:53:38 +02:00
Uros Bizjak
bbeb5bebd6 i386.md (round<mode>2): New expander.
* config/i386/i386.md (round<mode>2): New expander.
	* config/i386/i386.c (enum ix86_builtins): Add
	IX86_BUILTIN_ROUND{PS,PD}_AZ{,256}.
	(struct builtin_description): Add __builtin_ia32_round{ps,pd}_az{,256}
	descriptions.
	(ix86_builtin_vectorized_function): Handle BUILT_IN_ROUND{,F} builtins.

testsuite/ChangeLog:

	* gcc.target/i386/sse_4_1-round-vec.c: New test.
	* gcc.target/i386/sse_4_1-roundf-vec.c: New test.
	* gcc.target/i386/avx-round-vec.c: New test.
	* gcc.target/i386/avx-roundf-vec.c: New test.

From-SVN: r178123
2011-08-26 21:42:30 +02:00
Uros Bizjak
44782c0cba re PR middle-end/50083 (All 32-bit fortran tests fail on 32-bit Solaris)
PR middle-end/50083
	* convert.c (convert_to_integer) <BUIT_IN_ROUND{,F,L}>: Convert
	only when TARGET_C99_FUNCTIONS.
	<BUILT_IN_NEARBYINT{,F,L}>: Ditto.
	<BUILT_IN_RINT{,F,L}>: Ditto.

From-SVN: r178119
2011-08-26 18:10:45 +02:00
Michael Matz
0b11d702db re PR lto/50165 (Huge build time regression (Firefox lto build))
PR lto/50165
	* lto-streamer-in.c (canon_file_name): Initialize new_slot->len;
	don't call strlen twice, use memcpy.

Co-Authored-By: Jakub Jelinek <jakub@redhat.com>

From-SVN: r178118
2011-08-26 16:02:17 +00:00
H.J. Lu
f13677ba99 Add <lzcntintrin.h>, <bmiintrin.h> and <bmi2intrin.h> to <immintrin.h>.
2011-08-26  H.J. Lu  <hongjiu.lu@intel.com>

	* config/i386/bmi2intrin.h: Allow in <immintrin.h>.
	* config/i386/bmiintrin.h: Likewise.
	* config/i386/lzcntintrin.h: Likewise.

	* config/i386/immintrin.h: Include <lzcntintrin.h>,
	<bmiintrin.h> and <bmi2intrin.h>.

From-SVN: r178117
2011-08-26 08:45:32 -07:00
Rainer Orth
a26479f3cc Disable .init_array/.fini_array support on Solaris (PR target/50166)
PR target/50166
	* acinclude.m4 (gcc_AC_INITFINI_ARRAY): Check count in main.
	* configure: Regenerate.

From-SVN: r178116
2011-08-26 15:17:42 +00:00
Jakub Jelinek
a6c975bd8e trans-decl.c (get_proc_pointer_decl): Set DECL_TLS_MODEL if threadprivate.
* trans-decl.c (get_proc_pointer_decl): Set DECL_TLS_MODEL
	if threadprivate.
	* symbol.c (check_conflict): Allow threadprivate attribute with
	FL_PROCEDURE if proc_pointer.

	* testsuite/libgomp.fortran/threadprivate4.f90: New test.

From-SVN: r178114
2011-08-26 16:55:05 +02:00
Jakub Jelinek
2f27df53e7 cmpxchg16b-1.c: Match also space after the instruction.
* gcc.target/i386/cmpxchg16b-1.c: Match also space after the
	instruction.

From-SVN: r178113
2011-08-26 16:52:54 +02:00
Jakub Jelinek
f1a89dd00c re PR c/50179 (wrong "set but not used" warning)
PR c/50179
	* c-typeck.c (c_process_expr_stmt): Skip over nops and
	call mark_exp_read even if exprv is ADDR_EXPR.

	* c-c++-common/Wunused-var-14.c: New test.

From-SVN: r178110
2011-08-26 16:37:22 +02:00
Richard Sandiford
fd3e0a33c7 df-problems.c (df_note_bb_compute): Pass uses rather than defs to df_set_dead_notes_for_mw.
gcc/
	* df-problems.c (df_note_bb_compute): Pass uses rather than defs
	to df_set_dead_notes_for_mw.

From-SVN: r178109
2011-08-26 14:21:19 +00:00
Richard Guenther
315036fe54 varasm.c (decode_addr_const): Handle MEM_REF[&X, OFF].
2011-08-26  Richard Guenther  <rguenther@suse.de>

	* varasm.c (decode_addr_const): Handle MEM_REF[&X, OFF].

From-SVN: r178107
2011-08-26 14:02:28 +00:00
Tom de Vries
3e0694cf75 ivopts-lt.c: New test.
2011-08-26  Tom de Vries  <tom@codesourcery.com>

	* gcc.dg/tree-ssa/ivopts-lt.c: New test.

From-SVN: r178105
2011-08-26 13:38:22 +00:00
Zdenek Dvorak
d8af4ba307 tree-ssa-loop-ivopts.c (struct cost_pair): Add comp field.
2011-08-26  Zdenek Dvorak  <ook@ucw.cz>
	    Tom de Vries  <tom@codesourcery.com>

	* tree-ssa-loop-ivopts.c (struct cost_pair): Add comp field.
	(struct ivopts_data): Add loop_single_exit_p field.
	(niter_for_exit): Change parameter desc_p into return value.  Return
	desc if	desc->may_be_zero.  Free desc if unused.
	(niter_for_single_dom_exit): Change return type.
	(find_induction_variables): Handle changed return type of
	niter_for_single_dom_exit.  Dump may_be_zero.
	(add_candidate_1): Keep original base and step type for IP_ORIGINAL.
	(set_use_iv_cost): Add and handle comp parameter.
	(determine_use_iv_cost_generic, determine_use_iv_cost_address): Add
	comp argument to set_use_iv_cost.
	(strip_wrap_conserving_type_conversions, expr_equal_p)
	(difference_cannot_overflow_p, iv_elimination_compare_lt): New function.
	(may_eliminate_iv): Add comp parameter.  Handle new return type of
	niter_for_exit.  Use loop_single_exit_p.  Use iv_elimination_compare_lt.
	(determine_use_iv_cost_condition): Add comp argument to set_use_iv_cost
	and may_eliminate_iv.
	(rewrite_use_compare): Move call to iv_elimination_compare to ...
	(may_eliminate_iv): Here.
	(tree_ssa_iv_optimize_loop): Initialize loop_single_exit_p.

Co-Authored-By: Tom de Vries <tom@codesourcery.com>

From-SVN: r178104
2011-08-26 13:36:28 +00:00
Tom de Vries
fd1777ca0f tree-pretty-print (dump_generic_node): Test for NULL_TREE before accessing TREE_TYPE.
2011-08-26  Tom de Vries  <tom@codesourcery.com>

	* tree-pretty-print (dump_generic_node): Test for NULL_TREE before
	accessing TREE_TYPE.

From-SVN: r178103
2011-08-26 13:03:58 +00:00
Jiangning Liu
990b31f717 Commit for Jiangning.
Add conditional compare support for Thumb2.

From-SVN: r178102
2011-08-26 12:50:19 +00:00
Jakub Jelinek
8840ae2b09 * rtlanal.c (nonzero_bits1): Handle CLRSB.
From-SVN: r178101
2011-08-26 14:15:25 +02:00
Richard Guenther
321358d4e4 expr.c (string_constant): Handle &MEM_REF.
2011-08-26  Richard Guenther  <rguenther@suse.de>

	* expr.c (string_constant): Handle &MEM_REF.

From-SVN: r178100
2011-08-26 11:23:37 +00:00
Andrew Stubbs
c2b640a7ca arm.c (struct four_ints): New type.
2011-08-26  Andrew Stubbs  <ams@codesourcery.com>

	gcc/
	* config/arm/arm.c (struct four_ints): New type.
	(count_insns_for_constant): Delete function.
	(find_best_start): Delete function.
	(optimal_immediate_sequence): New function.
	(optimal_immediate_sequence_1): New function.
	(arm_gen_constant): Move constant splitting code to
	optimal_immediate_sequence.
	Rewrite constant negation/invertion code.

	gcc/testsuite/
	* gcc.target/arm/thumb2-replicated-constant1.c: New file.
	* gcc.target/arm/thumb2-replicated-constant2.c: New file.
	* gcc.target/arm/thumb2-replicated-constant3.c: New file.
	* gcc.target/arm/thumb2-replicated-constant4.c: New file.

2011-08-26  Andrew Stubbs  <ams@codesourcery.com>

	gcc/
	* config/arm/arm-protos.h (const_ok_for_op): Add prototype.
	* config/arm/arm.c (const_ok_for_op): Add support for addw/subw.
	Remove prototype. Remove static function type.
	* config/arm/arm.md (*arm_addsi3): Add addw/subw support.
	Add arch attribute.
	* config/arm/constraints.md (Pj, PJ): New constraints.

From-SVN: r178099
2011-08-26 09:53:06 +00:00
Ramana Radhakrishnan
58a2bda0e5 Fix scheduling descriptions for smull, smmul and friends on Cortex-A9.
From-SVN: r178098
2011-08-26 08:44:21 +00:00
GCC Administrator
e4680a3ba0 Daily bump.
From-SVN: r178095
2011-08-26 00:18:33 +00:00
Ian Lance Taylor
48ab8ba6b8 Change Bound_method_expression to refer to a constant method.
From-SVN: r178091
2011-08-25 23:14:20 +00:00
Uros Bizjak
2e335040bc * config/i386/i386.md: Do not explicitly set default isa attribute.
From-SVN: r178088
2011-08-25 21:38:57 +02:00
Mikael Morin
d54e80ce32 re PR fortran/50050 (Internal compiler error free_expr0 at expr.c:3709 via gfc_done_2)
2011-08-25  Mikael Morin  <mikael.morin@gcc.gnu.org>

	PR fortran/50050
	* expr.c (gfc_free_shape): Do nothing if shape is NULL.
	(free_expr0): Remove redundant NULL shape check.
	* resolve.c (check_host_association): Ditto.
	* trans-expr.c (gfc_trans_subarray_assign): Assert that shape is
	non-NULL.
	* trans-io.c (transfer_array_component): Ditto.

2011-08-25  Mikael Morin  <mikael.morin@gcc.gnu.org>

	PR fortran/50050
	* gfortran.dg/pointer_comp_init_1.f90: New test.

From-SVN: r178086
2011-08-25 19:10:06 +00:00
Richard Henderson
42aa5124f7 re PR debug/50132 (ICE: in maybe_record_trace_start, at dwarf2cfi.c:2234 with -fno-asynchronous-unwind-tables and long double)
PR 50132
PR 49864
        * cfgcleanup.c (old_insns_match_p): Don't allow cross-jump for
        non-constant stack adjutment.
        * expr.c (find_args_size_adjust): Break out from ...
        (fixup_args_size_notes): ... here.
        * rtl.h (find_args_size_adjust): Declare.

From-SVN: r178084
2011-08-25 11:57:48 -07:00
Jason Merrill
0ab71f306c * call.c (convert_like_real): Remove redundant complain checks.
From-SVN: r178082
2011-08-25 14:22:54 -04:00
Jason Merrill
7888350f39 re PR c++/50157 ([C++0x] Non-silent SFINAE in new expression with explicit conversion)
PR c++/50157
	* call.c (convert_like_real): Exit early if bad and !tf_error.

From-SVN: r178081
2011-08-25 14:22:46 -04:00
Uros Bizjak
a02f398da4 i386.md (isa): Add sse2, sse2_noavx, sse3, sse4 and sse4_noavx.
* config/i386/i386.md (isa): Add sse2, sse2_noavx, sse3,
	sse4 and sse4_noavx.
	(enabled): Handle sse2, sse2_noavx, sse3, sse4 and sse4_noavx.
	(*pushdf_rex64): Change Y2 register constraint to x.
	(*movdf_internal_rex64): Ditto.
	(*zero_extendsidi2_rex64): Ditto.
	(*movdi_internal): Change Y2 register constraint to x
	and update "isa" attribute.
	(*pushdf): Ditto.
	(*movdf internal): Ditto.
	(zero_extendsidi2_1): Ditto.
	(*truncdfdf_mixed): Ditto.
	(*truncxfdf2_mixed): Ditto.
	* config/i386/mmx.md (*mov<mode>_internal_rex64): Change Y2
	register constraint to x.
	(*movv2sf_internal_rex64): Ditto.
	(*mov<mode>_internal): Change Y2 register constraint to x
	and add "isa" attribute.
	(*movv2sf_internal): Ditto.
	(*vec_extractv2si_1): Ditto.
	* config/i386/sse.md ("vec_set<mode>_0): Change Y2 and Y4 register
	constraints to x and update "isa" attribute.
	(*vec_interleave_highv2df): Change Y3 registerconstraint
	to x and update "isa" attribute.
	(*vec_interleave_lowv2df): Ditto.
	(*vec_concatv2df): Change Y2 register constraint to x and
	update "isa" attribute.
	(sse2_loadld): Ditto.
	(*vec_extractv2di_1): Ditto.
	(*vec_dupv4si): Ditto.
	(*vec_dupv2di): Ditto.
	(*vec_concatv4si): Ditto.
	(vec_concatv2di): Ditto.
	* config/i386/constraints.md (Y2): Remove.
	(Y3): Ditto.
	(Y4): Ditto.

From-SVN: r178073
2011-08-25 19:05:34 +02:00
Tobias Burnus
aa13dc3c93 trans-array.c (gfc_conv_descriptor_token): Add assert.
2011-08-25  Tobias Burnus  <burnus@net-b.de>

        * trans-array.c (gfc_conv_descriptor_token): Add assert.
        * trans-decl.c (gfc_build_qualified_array,
        create_function_arglist): Handle assumed-shape arrays.
        * trans-expr.c (gfc_conv_procedure_call): Ditto.
        * trans-types.c (gfc_get_array_descriptor_base): Ditto, don't
        add "caf_token" to assumed-shape descriptors, new akind argument.
        (gfc_get_array_type_bounds): Pass akind.
        * trans.h (lang_decl): New elements caf_offset and token.
        (GFC_DECL_TOKEN, GFC_DECL_CAF_OFFSET): New macros.

2011-08-25  Tobias Burnus  <burnus@net-b.de>

        * gfortran.dg/coarray_lib_token_4.f90: New.

From-SVN: r178069
2011-08-25 18:27:39 +02:00
Tobias Burnus
241e79cfc4 trans-array.c (structure_alloc_comps): Fix for allocatable scalar coarray components.
2011-08-25  Tobias Burnus  <burnus@net-b.de>

        * trans-array.c (structure_alloc_comps): Fix for allocatable
        scalar coarray components.
        * trans-expr.c (gfc_conv_component_ref): Ditto.
        * trans-type.c (gfc_get_derived_type): Ditto.

2011-08-25  Tobias Burnus  <burnus@net-b.de>

        * gfortran.dg/coarray/alloc_comp_1.f90: New.

From-SVN: r178068
2011-08-25 17:59:40 +02:00
Georg-Johann Lay
3e4c754bbf * config/avr/avr.c (byte_immediate_operand): Remove Function.
From-SVN: r178067
2011-08-25 14:36:01 +00:00
Tom Tromey
01bb8ae217 simple.cc: New file.
* testsuite/libstdc++-prettyprinters/simple.cc: New file.
	* testsuite/lib/gdb-test.exp: New file.
	* testsuite/libstdc++-prettyprinters/prettyprinters.exp: New
	file.

From-SVN: r178066
2011-08-25 14:29:47 +00:00
Bernd Schmidt
f24acbefa1 regrename.c (scan_rtx_reg, [...]): Don't declare.
* regrename.c (scan_rtx_reg, scan_rtx_address, build_def_use,
	dump_def_use_chain): Don't declare.
	(mark_conflict, create_new_chain): Move before users.
	(regrename_optimize): Move to near end of file.

From-SVN: r178065
2011-08-25 14:23:47 +00:00
Georg-Johann Lay
c331eabed6 avr-protos.h (byte_immediate_operand): Remove Prototype.
* config/avr-protos.h (byte_immediate_operand): Remove Prototype.
	(secondary_input_reload_class): Remove Prototype.
	* config/avr/avr.c (byte_immediate_operand): Remove Function.
	* config/avr/avr.md (setmemhi): Use u8_operand.
	(strlenhi): Use const0_rtx for comparison.
	* config/avr/avr.h (avr_reg_order): Remove Declaration.

From-SVN: r178064
2011-08-25 13:51:38 +00:00
Georg-Johann Lay
61af7eb4d1 avr.c (reg_class_tab): Make local to avr_regno_reg_class.
* config/avr/avr.c (reg_class_tab): Make local to
	avr_regno_reg_class.  Return smallest register class available.

From-SVN: r178063
2011-08-25 13:50:30 +00:00
Georg-Johann Lay
f2814222f9 avr.c (STR_PREFIX_P): New Define.
* config/avr/avr.c (STR_PREFIX_P): New Define.
	(avr_asm_declare_function_name): Use it.
	(avr_asm_named_section): Use it.
	(avr_section_type_flags): Use it.

From-SVN: r178062
2011-08-25 13:46:35 +00:00
Richard Guenther
cbba4777cd Wshadow-3.c: Restore original content destroyed by r148442.
2011-08-25  Richard Guenther  <rguenther@suse.de>

	* gcc.dg/Wshadow-3.c: Restore original content destroyed by r148442.

From-SVN: r178061
2011-08-25 13:24:34 +00:00
Andrew Haley
4ac9cf2b5d ffi.c (FFI_INIT_TRAMPOLINE): Remove hard-coded assembly instructions.
2011-08-25  Andrew Haley  <aph@redhat.com>

        * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Remove hard-coded assembly
        instructions.
        * src/arm/sysv.S (ffi_arm_trampoline): Put them here instead.

From-SVN: r178060
2011-08-25 10:37:36 +00:00
Bernd Schmidt
1e6a9047b3 md.texi (automata_option): Document collapse-ndfa.
* doc/md.texi (automata_option): Document collapse-ndfa.
	* genautomata.c (COLLAPSE_OPTION): New macro.
	(collapse_flag): New static variable.
	(struct description): New member normal_decls_num.
	(struct automaton): New members advance_ainsn and collapse_ainsn.
	(gen_automata_option): Check for COLLAPSE_OPTION.
	(collapse_ndfa_insn_decl): New static variable.
	(add_collapse_ndfa_insn_decl, special_decl_p): New functions.
	(find_arc): If insn is the collapse-ndfa insn, accept any arc we
	find.
	(transform_insn_regexps): Call add_collapse_ndfa_insn_decl if
	necessary.  Use normal_decls_num rather than decls_num, remove
	test for special decls.
	(create_alt_states, form_ainsn_with_same_reservs): Use
	special_decl_p.
	(make_automaton); Likewise.  Use the new advance_cycle_insn member
	of struct automaton.
	(create_composed_state): Disallow advance-cycle arcs if collapse_flag
	is set.
	(NDFA_to_DFA): Don't create composed states for the collapse-ndfa
	transition.  Create the necessary transitions for it.
	(create_ainsns): Return void.  Take an automaton_t argument, and
	update its ainsn_list, advance_ainsn and collapse_ainsn members.  All
	callers changed.
	(COLLAPSE_NDFA_VALUE_NAME): New macro.
	(output_tables): Output code to define it.
	(output_internal_insn_code_evaluation): Output code to accept
	const0_rtx as collapse-ndfa transition.
	(output_default_latencies, output_print_reservation_func,
	output_print_description): Reorganize loops to use normal_decls_num
	as loop bound; remove special case for advance_cycle_insn_decl.
	(initiate_automaton_gen): Handle COLLAPSE_OPTION.
	(check_automata_insn_issues): Check for collapse_ainsn.
	(expand_automate): Allocate sufficient space.  Initialize
	normal_decls_num.

From-SVN: r178059
2011-08-25 10:30:13 +00:00
Georg-Johann Lay
07f1047289 avr.md: Fix indentation from r177991.
* config/avr/avr.md: Fix indentation from r177991.

From-SVN: r178058
2011-08-25 10:27:18 +00:00
Bernd Schmidt
d3e8085069 regrename.c (struct du_head): Remove member terminated.
* regrename.c (struct du_head): Remove member terminated.
	(create_new_chain): Don't initialize it.
	(scan_rtx_reg): Don't set or test it, test the open_chains_set
	bitmap instead.
	(tick, this_tick): New global variables, moved out of
	regrename_optimize.
	(current_id, open_chains, closed_chains, open_chains_set,
	live_in_chains, live_hard_regs): Reorder declarations.
	(dump_def_use_chain): Move function earlier in the file.
	(rename_chains): New static function, broken out of
	regrename_optimize.
	(regrename_optimize): Use it.  Remove #if 0'ed code.

From-SVN: r178057
2011-08-25 10:12:35 +00:00
Rainer Orth
39b75e51ec Don't assume hg convert in gcc_update
* gcc_update: Determine svn branch from hg convert_revision.

From-SVN: r178056
2011-08-25 09:16:52 +00:00
Bernhard Reutner-Fischer
8619577f3a varasm.c: (default_binds_local_p_1): Commentary typo fix.
2011-08-25  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>

	* varasm.c: (default_binds_local_p_1): Commentary typo fix.

From-SVN: r178055
2011-08-25 10:49:01 +02:00
GCC Administrator
6c41a083fa Daily bump.
From-SVN: r178053
2011-08-25 00:18:57 +00:00
Roberto Lublinerman
706cd57f71 gccgo...
gccgo: 	fixes to ast-dump, refactoring of export and ast-dump
        to implement a common interface for writing basic
        type literals and added flags for optimization.

	* lang.opt: Add fgo-optimize-.
	* go-lang.c (go_langhook_handle_option): Handle OPT_fgo_optimize.
	* go-c.h (go_enable_optimize): Declare.
	* Make-lang.in (GO_OBJS): Add go/go-optimize.o.
	(GO_EXPORT_H): Define.
	(GO_IMPORT_H): Add $(GO_EXPORT_H).
	(GO_AST_DUMP_H): Define.
	(go/ast-dump.o, go/statements.o): Use GO_AST_DUMP_H.
	(go/export.o, go/gogo.o, go/import.o): Use GO_EXPORT_H.
	(go/types.o): Likewise.
	(go/expressions.o): Use GO_AST_DUMP_H and GO_EXPORT_H.
	(go/go-optimize.o): New target.

From-SVN: r178046
2011-08-24 19:22:44 +00:00
H.J. Lu
8020d73e39 Mention PR target/50172.
From-SVN: r178040
2011-08-24 06:25:22 -07:00
H.J. Lu
25963ac440 Convert to Pmode if needed.
2011-08-24  H.J. Lu  <hongjiu.lu@intel.com>

	* config/i386/i386.c (ix86_expand_builtin): Convert to Pmode if
	needed.

From-SVN: r178039
2011-08-24 06:24:07 -07:00
Tobias Burnus
40885767dc re PR fortran/50163 (ICE: initialization expression)
2011-08-24  Tobias Burnus  <burnus@net-b.de>

        PR fortran/50163
        * expr.c (check_init_expr): Return when an error
        occured.

2011-08-24  Tobias Burnus  <burnus@net-b.de>

        PR fortran/50163
        * gfortran.dg/initialization_28.f90: New.

From-SVN: r178038
2011-08-24 15:11:08 +02:00
Richard Guenther
9fcb758bdc tree-data-ref.c (dr_analyze_indices): Avoid unsharing the ref in the basic-block case.
2011-08-24  Richard Guenther  <rguenther@suse.de>

	* tree-data-ref.c (dr_analyze_indices): Avoid unsharing the
	ref in the basic-block case.  Move stripping array-refs
	to the place we create an access-function for it.  Remove
	bogus stripping down a MEM_REF to its base.

From-SVN: r178037
2011-08-24 12:55:18 +00:00
Richard Guenther
e66132e141 fold-const.c (fold_comparison): Fold &a < &a + 4 even with -fno-strict-overflow.
2011-08-24  Richard Guenther  <rguenther@suse.de>

	* fold-const.c (fold_comparison): Fold &a < &a + 4 even
	with -fno-strict-overflow.

From-SVN: r178036
2011-08-24 12:51:45 +00:00