Commit Graph

118921 Commits

Author SHA1 Message Date
Oleg Endo b07c437262 re PR target/54418 ([SH] Invalid operands for opcode)
PR target/54418
	* config/sh/sh.md (cmpgeusi_t): Remove N alternative.
	Check operands[1] in split condition instead of operands[0].
	Add comments.

From-SVN: r190864
2012-09-02 23:15:25 +00:00
Mark Kettenis 613061fdd0 config.host (x86_64-*-openbsd*): New target.
libgcc/

	* config.host (x86_64-*-openbsd*): New target.

gcc/

	* config.gcc (x86_64-*-openbsd*): New target.
	* config.host (*-*-openbsd*): New target.
	* config/openbsd.h (TARGET_C99_FUNCTIONS): Define.
	* config/i386/openbsdelf.h: Remove some superfluous defines and
	group things together in a more logical fashion.
	(DBX_REGISTER_NUMBER): Provide a
	definition that works on both 32-bit and 64-bit targets.
	(WCHAR_TYPE_SIZE): Hardcode as 32.
	(NO_DOLLAR_IN_LABEL): Remove undef.
	(TARGET_DEFAULT): Remove.
	(SET_ASM_OP): Remove.
	(DEFAULT_PCC_STRUCT_RETURN): Undef first to prevent warning.
	(ASM_OUTPUT_MAX_SKIP_ALIGN): Synch with x86-64.h
	(DWARF2_UNWIND_INFO): Remove define.
	(HAVE_ENABLE_EXECUTE_STACK): Define.
	* config/host-openbsd.c: New file.
	* config/t-openbsd (USER_H): Add EXTRA_HEADERS.
	* config/x-openbsd: New file.

From-SVN: r190863
2012-09-02 14:13:21 +00:00
Oleg Endo ee86a05fd0 sh.md (*extend<mode>si2_compact_mem_disp): Pass iterated mode to sh_legitimate_index_p instead of QImode.
* config/sh/sh.md (*extend<mode>si2_compact_mem_disp): Pass iterated
	mode to sh_legitimate_index_p instead of QImode.

From-SVN: r190862
2012-09-02 13:05:10 +00:00
Uros Bizjak b418bc475d sync.md (atomic_compare_and_swap<dwi>_doubleword): Improve insn output code.
* config/i386/sync.md (atomic_compare_and_swap<dwi>_doubleword):
	Improve insn output code.

From-SVN: r190861
2012-09-02 13:08:33 +02:00
Eric Botcazou eaf23fc3d5 re PR rtl-optimization/54369 (delayed-branch pass removes too many instructions)
PR rtl-optimization/54369
	* config/mips/mips.c (mips_reorg): Invoke cleanup_barriers before
	calling dbr_schedule.
	* config/sparc/sparc.c (sparc_reorg): Likewise.

From-SVN: r190858
2012-09-02 10:36:27 +00:00
Uros Bizjak 51ad44fd6b re PR target/49206 (RA failure in spill_failure, at reload1.c:2113)
PR target/49206
	* gcc.c-torture/compile/pr49206.c: New test.

From-SVN: r190857
2012-09-02 10:49:31 +02:00
Uros Bizjak aba2356930 * gcc.c-torture/compile/pr44687.c: Fix whitespace.
From-SVN: r190856
2012-09-02 10:42:45 +02:00
Dominique d'Humieres 714499a070 re PR target/36680 (ICE in spill_failure, reload1.c:1995)
PR target/36680
	* gfortran.dg/pr36680.f90: New test.


Co-Authored-By: Uros Bizjak <ubizjak@gmail.com>

From-SVN: r190855
2012-09-02 10:10:21 +02:00
Uros Bizjak 21975c30c3 re PR target/42295 (ICE: 'error: unable to find a register to spill in class "AREG"' with -fschedule-insns)
PR target/42295
	* g++.dg/opt/pr42295.C: New test.

From-SVN: r190854
2012-09-02 09:07:45 +02:00
Tobias Burnus 603cf12f58 re PR fortran/54426 (FAIL: gfortran.dg/common_6.f90 -O (internal compiler error) on powerpc-apple-darwin9)
2012-09-02  Tobias Burnus  <burnus@net-b.de>

        PR fortran/54426
        * symbol.c (find_common_symtree): New function.
        (gfc_undo_symbols): Use it; free common_head if needed.

From-SVN: r190853
2012-09-02 08:40:27 +02:00
GCC Administrator 155b46f5eb Daily bump.
From-SVN: r190852
2012-09-02 00:17:49 +00:00
Jakub Jelinek e89f93f66a re PR target/54436 (Compiling some regular C++ code gives assembler '700415 shortened to 255' warning)
PR target/54436
	* config/i386/i386.md (*mov<mode>_insv_1_rex64, *movsi_insv_1): If
	operands[1] is CONST_INT_P, convert it to QImode before printing.

	* gcc.dg/torture/pr54436.c: New test.

From-SVN: r190849
2012-09-01 21:09:02 +02:00
Andrew Pinski dcf8468f1c simplify-rtx.c (simplify_unary_operation_1 <case TRUNCATE>): A truncate of a memory is just loading the low part of the memory.
2012-09-01  Andrew Pinski  <apinski@cavium.com>

	* simplify-rtx.c (simplify_unary_operation_1 <case TRUNCATE>):
	A truncate of a memory is just loading the low part of the memory.

2012-09-01  Andrew Pinski  <apinski@cavium.com>

        * gcc.target/mips/truncate-8.c: New testcase.

From-SVN: r190848
2012-09-01 11:52:19 -07:00
Uros Bizjak 2caf633d4f re PR target/46829 (ICE: in spill_failure, at reload1.c:2105 with -fschedule-insns -fsched-pressure and variadic function)
PR target/46829
	PR target/46843
	* config/i386/i386.c (ix86_legitimate_combined_insn): New function.
	(TARGET_LEGITIMATE_COMBINED_INSN): New macro.

testsuite/ChangeLog:

	PR target/46829
	PR target/46843
	* gcc.target/i386/pr46829.c: New test.
	* gcc.target/i386/pr46843.c: Ditto.

From-SVN: r190847
2012-09-01 16:29:45 +02:00
Uros Bizjak 78e4f1ad4e target.def (legitimate_combined_insn): New target hook.
* target.def (legitimate_combined_insn): New target hook.
	* doc/tm.texi.in (TARGET_LEGITIMATE_COMBINED_INSN): New hook.
	* doc/tm.texi: Regenerated.
	* combine.c (recog_for_combine): Call targetm.legitimate_combined_insn
	to allow targets to reject combined insn.
	* hooks.h (hook_bool_rtx_true): New.
	* hooks.c (hook_bool_rtx_true): Ditto.

From-SVN: r190846
2012-09-01 16:26:28 +02:00
GCC Administrator cb7dba8ebf Daily bump.
From-SVN: r190845
2012-09-01 00:17:53 +00:00
Paolo Carlini 1dec70fa4c re PR c++/18747 ("template<> int i;" accepted)
PR c++/18747
	* pt.c (check_template_variable): New.
	(num_template_headers_for_class): Split out...
	* decl.c (grokdeclarator): ...from here.
	(start_decl): Remove redundant diagnostic.
	* cp-tree.h: Declare them
	* parser.c (cp_parser_single_declaration): Call check_template_variable.
.
Co-Authored-By: Jason Merrill <jason@redhat.com>

From-SVN: r190842
2012-08-31 17:35:33 -04:00
Martin Jambor be279f8651 ipa-inline-analysis.c (estimate_function_body_sizes): Allocate nonconstant_names after calculate_dominance_info and loop_optimizer_init.
2012-08-31  Martin Jambor  <mjambor@suse.cz>

	* ipa-inline-analysis.c (estimate_function_body_sizes): Allocate
	nonconstant_names after calculate_dominance_info and
	loop_optimizer_init.

From-SVN: r190841
2012-08-31 21:16:21 +02:00
Jakub Jelinek d409320ca8 re PR c/54428 (ICE in gimplify_expr, at gimplify.c:7591)
PR c/54428
	* c-convert.c (convert): Don't call fold_convert_loc if
	TYPE_MAIN_VARIANT of a COMPLEX_TYPE is the same, unless e
	is a COMPLEX_EXPR.  Remove TYPE_MAIN_VARIANT check from
	COMPLEX_TYPE -> COMPLEX_TYPE conversion.

	* gcc.c-torture/compile/pr54428.c: New test.

From-SVN: r190840
2012-08-31 21:00:59 +02:00
Greta Yorsh 2c84f67d84 arm.c (arm_expand_epilogue): Remove unused variable floats_from_frame.
gcc/

2012-08-31  Greta Yorsh  <Greta.Yorsh@arm.com>

        * config/arm/arm.c (arm_expand_epilogue): Remove unused variable
        floats_from_frame.

From-SVN: r190838
2012-08-31 17:42:21 +01:00
Ollie Wild 5efef981c8 re PR c++/54197 (Lifetime of reference not properly extended)
2012-08-31  Ollie Wild  <aaw@google.com>

	PR c++/54197
	* gcc/cp/call.c (extend_ref_init_temps_1): Handle COMPOUND_EXPR trees.
	* gcc/testsuite/g++.dg/init/lifetime3.C: New test.

From-SVN: r190834
2012-08-31 15:47:29 +00:00
Martin Jambor 0336096575 re PR middle-end/54409 (internal compiler error: in remap_predicate, at ipa-inline-analysis.c:2710)
2012-08-31  Martin Jambor  <mjambor@suse.cz>

	PR middle-end/54409
	* ipa-inline-analysis.c (remap_predicate): Fix the offset_map
	checking condition.

	* gcc/testsuite/gcc.dg/torture/pr54409.c: New test.

From-SVN: r190833
2012-08-31 16:05:45 +02:00
Martin Jambor 48679f6e24 ipa-inline-analysis.c (phi_result_unknown_predicate): New function.
2012-08-31  Martin Jambor  <mjambor@suse.cz>

	* ipa-inline-analysis.c (phi_result_unknown_predicate): New function.
	(predicate_for_phi_result): Likewise.
	(estimate_function_body_sizes): Use the above two functions.

	* testsuite/gfortran.dg/pr48636.f90: Add dump scan checks.

From-SVN: r190832
2012-08-31 15:48:37 +02:00
Martin Jambor 172e74fa37 re PR middle-end/54394 (fatigue2 -flto run time regression)
2012-08-31  Martin Jambor  <mjambor@suse.cz>

	PR middle-end/54394
	* ipa-inline-analysis.c (estimate_function_body_sizes): Compute
	dominance info and loops whenever optimizing.

From-SVN: r190831
2012-08-31 15:13:03 +02:00
Jason Merrill 2c90550220 re PR c++/50545 ([C++0x][DR 1172] SFINAE does not handle an explicit type conversion (functional notation) with a braced-init-list well if target type is not dependent)
PR c++/50545
	PR c++/51222
	* pt.c (instantiation_dependent_r): New.
	(instantiation_dependent_expression_p): New.
	(value_dependent_expression_p): Use it.  SCOPE_REF is always dependent.
	* semantics.c (finish_decltype_type): Use it.
	* cp-tree.h: Declare it.

From-SVN: r190830
2012-08-30 22:50:28 -04:00
Jason Merrill e467c9d257 semantics.c (finish_qualified_id_expr): Handle building up a non-dependent SCOPE_REF here.
* semantics.c (finish_qualified_id_expr): Handle building up a
	non-dependent SCOPE_REF here.
	(finish_id_expression): Not here.
	* error.c (dump_decl) [SCOPE_REF]: Only pass TFF_UNQUALIFIED_NAME.

From-SVN: r190829
2012-08-30 22:50:18 -04:00
Jason Merrill 091bffba90 friend.c (make_friend_class): Handle template template parameters.
* friend.c (make_friend_class): Handle template template parameters.
	* parser.c (cp_parser_template_declaration_after_export): Likewise.
	* pt.c (tsubst_friend_class): Likewise.
	(instantiate_class_template_1): Likewise
	* decl.c (check_elaborated_type_specifier): Likewise.
	(lookup_and_check_tag): Likewise.

From-SVN: r190828
2012-08-30 22:50:08 -04:00
Jason Merrill 5cb25c9c7b pt.c (get_class_bindings): Call coerce_template_parms.
* pt.c (get_class_bindings): Call coerce_template_parms.  Add
	main_tmpl parameter.
	(more_specialized_class): Add main_tmpl parameter.
	(most_specialized_class): Adjust calls.

From-SVN: r190827
2012-08-30 22:49:52 -04:00
Jason Merrill fdf565deae decl.c (cp_finish_decl): Check for invalid multiple initializers even if the initializer is dependent.
* decl.c (cp_finish_decl): Check for invalid multiple initializers
	even if the initializer is dependent.

From-SVN: r190826
2012-08-30 22:49:42 -04:00
Jason Merrill 429f8106ec pt.c (instantiate_template_1): Keep processing_template_decl set if there are dependent args.
* pt.c (instantiate_template_1): Keep processing_template_decl set
	if there are dependent args.

From-SVN: r190825
2012-08-30 22:49:33 -04:00
GCC Administrator da4aca78cf Daily bump.
From-SVN: r190822
2012-08-31 00:18:02 +00:00
Benjamin Kosnik dda78b5c0b ChangeLog fixup
From-SVN: r190811
2012-08-30 19:25:04 +00:00
Benjamin Kosnik 3e7e2f128b PR libstdc++/54005 continued
2012-08-30  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/54005 continued
	* include/std/atomic: Use __atomic_lock_free with
	* include/bits/atomic_base.h: Same.

From-SVN: r190810
2012-08-30 19:24:58 +00:00
Ulrich Drepper 25270f5e5a random.h (random_device): Remove 'return' from constructor.
* include/bits/random.h (random_device) [GLIBCXX_USE_RANDOM_TR1]:
	Remove 'return' from constructor.

From-SVN: r190806
2012-08-30 16:33:09 +00:00
Benjamin Kosnik 90a75549c3 testsuite_abi.cc (check_version): Add GLIBCXX_3.4.18.
2012-08-30  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/util/testsuite_abi.cc (check_version): Add GLIBCXX_3.4.18.

From-SVN: r190805
2012-08-30 15:58:52 +00:00
Ramana Radhakrishnan e3783e8274 re PR target/54252 (Bad alignment code generated for Neon loads)
Fix PR target/54252

2012-08-29  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
	    Richard Earnshaw  <richard.earnshaw@arm.com>

	PR target/54252
	* config/arm/arm.c (neon_dereference_pointer): Adjust nelems by
	element size. Use elem_type from the formal parameter. New parameter
	fcode.
	(neon_expand_args): Adjust call to neon_dereference_pointer.



Co-Authored-By: Richard Earnshaw <rearnsha@arm.com>

From-SVN: r190800
2012-08-30 10:17:04 +00:00
Ulrich Drepper d53591084b Missing CL entry
From-SVN: r190796
2012-08-30 02:21:12 +00:00
GCC Administrator 3248bfed32 Daily bump.
From-SVN: r190793
2012-08-30 00:18:21 +00:00
Ulrich Drepper a8c3f4c972 random.h (random_device): Move implementation to...
* include/bits/random.h (random_device): Move implementation to...
	* src/c++11/random.cc: ...here.  New file.
	* config/abi/pre/gnu.ver: Add new version GLIBCXX_3.4.18.  Export
	std::random_device::* symbols.
	* config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Generated.
	* src/c++11/Makefile.am (sources): Add random.cc.
	* src/c++11/Makefile.in: Regenerated.

From-SVN: r190787
2012-08-29 22:05:41 +00:00
Steven Bosscher 1dd5907e5c * cfg.c (dump_bb_info): Print a newline if there were no edges to dump.
From-SVN: r190786
2012-08-29 20:40:53 +00:00
Chung-Lin Tang 80a676b7bf revert: t-linux64 (MULTILIB_OSDIRNAMES): Change to use mapping style, add ../lib/mips16.
2012-08-29  Chung-Lin Tang  <cltang@codesourcery.com>

	Revert:
	* config/mips/t-linux64 (MULTILIB_OSDIRNAMES): Change to use
	mapping style, add ../lib/mips16.
	(MULTILIB_OPTIONS,MULTILIB_DIRNAMES): Add mips16.
	(MULTILIB_EXCLUSIONS): Exclude mips16 when not -mabi=32.

From-SVN: r190785
2012-08-29 19:12:12 +00:00
Richard Sandiford 166c02bde9 mips.h (TARGET_CPU_CPP_BUILTINS): Define __mips_synci if TARGET_SYNCI.
gcc/
	* config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Define __mips_synci
	if TARGET_SYNCI.

gcc/testsuite/
	* gcc.target/mips/mips.exp: Work out default -msynci setting.

From-SVN: r190784
2012-08-29 18:57:49 +00:00
Ulrich Drepper 1860430ab5 Add simd_fast_mersenne_twister_engine class.
* include/ext/random: New file.
	* include/ext/random.tcc: New file.
	* include/Makefile.am (ext_headers): Add random and random.tcc.
	* testsuite/26_numerics/random/simd_fast_mersenne_twister_engine/
	operators/inequal.cc: New file.
	* testsuite/26_numerics/random/simd_fast_mersenne_twister_engine/
	operators/equal.cc: New file.
	* testsuite/26_numerics/random/simd_fast_mersenne_twister_engine/
	operators/serialize.cc: New file.
	* testsuite/26_numerics/random/simd_fast_mersenne_twister_engine/
	cons/seed2.cc: New file.
	* testsuite/26_numerics/random/simd_fast_mersenne_twister_engine/
	cons/default.cc: New file.
	* testsuite/26_numerics/random/simd_fast_mersenne_twister_engine/
	cons/seed_seq.cc: New file.
	* testsuite/26_numerics/random/simd_fast_mersenne_twister_engine/
	cons/copy.cc: New file.
	* testsuite/26_numerics/random/simd_fast_mersenne_twister_engine/
	cons/seed1.cc: New file.

From-SVN: r190783
2012-08-29 18:43:08 +00:00
Oleg Endo 487ebcbff5 sh.opt (menable-tas): Rename to mtas.
* config/sh/sh.opt (menable-tas): Rename to mtas.
	* doc/invoke.texi (SH options): Likewise.
	* config/sh/sync.md: Update comments.

From-SVN: r190782
2012-08-29 18:41:52 +00:00
Oleg Endo 7fa4bf9bf9 iterators.md: New file.
* config/sh/iterators.md: New file.
	* config/sh/sync.md (I124, I12, i124suffix): Delete.  Replace usage with
	new iterators QIHISI, QIHI, bw, bwl respectively throughout the file.
	* config/sh/sh.md: Include new file iterators.md.
	(zero_extendhisi2, zero_extendqisi2): Fold into zero_extend<mode>si2.
	(*zero_extendhisi2_compact, *zero_extendqisi2_compact): Fold into
	*zero_extend<mode>si2_compact.
	(*zero_extendqisi2_disp_mem, zero_extendhisi2_disp_mem): Fold into
	*zero_extend<mode>si2_disp_mem.
	(extendhisi2, extendqisi2): Fold into extend<mode>si2.
	(*extendqisi2_compact_reg, *extendhisi2_compact_reg): Fold into
	*extend<mode>si2_compact_reg.
	(*extendqisi2_compact_mem_disp, *extendhisi2_compact_mem_disp): Fold
	into *extend<mode>si2_compact_mem_disp.
	(*extendqisi2_compact_snd, *extendhisi2_compact_snd): Fold into
	*extend<mode>si2_compact_snd.
	(*movsi_index_disp, *movhi_index_disp): Fold with iterators and rename
	to *movsi_index_disp_load, *movhi_index_disp_load,
	*mov<mode>_index_disp_store.
	(*movqi_reg_reg, *movhi_reg_reg): Fold into *mov<mode>_reg_reg.
	(*movqi_store_mem_disp04, *movhi_store_mem_disp05): Fold into
	*mov<mode>_store_mem_disp04.
	(*movqi_store_mem_disp12, *movhi_store_mem_disp13): Fold into
	*mov<mode>_store_mem_disp12.
	(*movqi_load_mem_disp, *movhi_load_mem_disp): Fold into
	*mov<mode>_load_mem_disp04 and *mov<mode>_load_mem_disp12.

From-SVN: r190781
2012-08-29 18:40:09 +00:00
Martin Jambor de99ac704f ipa-inline.h (estimate_edge_hints): Call do_estimate_edge_hints, not do_estimate_edge_time.
2012-08-29  Martin Jambor  <mjambor@suse.cz>

	* ipa-inline.h (estimate_edge_hints): Call do_estimate_edge_hints, not
	do_estimate_edge_time.

From-SVN: r190777
2012-08-29 14:16:11 +02:00
Chung-Lin Tang 1274718f64 mips.h (CRT_CALL_STATIC_FUNCTION): Add nomips16 asm directives, remove #ifndef __mips16 guards.
2012-08-29  Chung-Lin Tang  <cltang@codesourcery.com>

	* config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Add nomips16 asm
	directives, remove #ifndef __mips16 guards.
	* config/mips/t-linux64 (MULTILIB_OSDIRNAMES): Change to use
	mapping style, add ../lib/mips16.
	(MULTILIB_OPTIONS,MULTILIB_DIRNAMES): Add mips16.
	(MULTILIB_EXCLUSIONS): Exclude mips16 when not -mabi=32.

From-SVN: r190774
2012-08-29 09:33:49 +00:00
Chung-Lin Tang 867a834534 crtfastmath.c (set_fast_math): Add 'nomips16' attribute.
2012-08-29  Chung-Lin Tang  <cltang@codesourcery.com>

	libgcc/
	* config/mips/crtfastmath.c (set_fast_math): Add 'nomips16'
	attribute.

From-SVN: r190773
2012-08-29 09:31:52 +00:00
Chung-Lin Tang c24dbebb44 futex.h (sys_futex0): Change to static function with noinline, nomips16 attributes under MIPS16.
2012-08-29  Chung-Lin Tang  <cltang@codesourcery.com>

	libgomp/
	* config/linux/mips/futex.h (sys_futex0): Change to static
	function with noinline, nomips16 attributes under MIPS16. Adjust
	asm statement to place 'li v0,SYS_futex' immediately before
	syscall insn.

From-SVN: r190772
2012-08-29 09:29:55 +00:00
Benjamin Kosnik 27f36b7837 PR libstdc++/54102, part 2
2012-08-28  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/54102, part 2
	* doc/Makefile.am (XSL_HTML_STYLE): use xhtml, not html.
	* doc/Makefile.in: Regenerate.
	* doc/html/*: Same.

From-SVN: r190771
2012-08-29 04:44:10 +00:00